כותרות TheMarker >
    ';

    יומנו של אופשוריסט

    פיתוח תוכנה ב- Offshore (מזרח אירופה והמזרח הרחוק) הוא אחד התחומים החמים והשנויים במחלוקת בתעשיית התוכנה. זהו יומנו של אופשוריסט המאמין ש - offshore יכול למנף את תעשיית התוכנה הישראלית.

    כאשר Offshore פגש את Agile - חלק שלישי

    0 תגובות   יום שבת, 25/8/07, 07:02
     הקונספט של  Agile Development  התפתח מהשטח לאחר שעוד ועוד מנהלי פיתוח יצרו לעצמם best practices על מנת לנהל פרוייקטי תוכנה במתודולוגיה המתאימה את עצמה לאופי של פרוייקט תוכנה טיפוסי.

    עם הזמן התפתחו אותם best practices  למתודולוגיות כגון XP ו-SCRUM שהיום נהוג לכנס אותם תחת המטרייה של Agile Development . בבסיס כולן עומדת התאמת המתודולוגיה לתהליך הפיתוח בפועל, ולא כפיית תהליך פיתוח לא אינטואיטיבי על צוות הפיתוח.

     נבנה תהליך שמכיר בכך שתהליך הפיתוח הוא איטראטיבי ומכיל בתוכו לא מעט "נסיגות" לשלבים מוקדמים יותר.  "נשבור" את הפרוייקט למעגלי פיתוח קצרים – אחת לשבועיים-חודש בד"כ. כל מעגל פיתוח כזה כולל תכנון מפורט, פיתוח, בדיקות איכות אוטומטיות ופונקציונליות של מקטע התוכנה -  אפליקציה שעובדת מה-Milestone הראשון אומנם בפונקציונליות חסרה, והכי חשוב: פידבק מיידי מהלקוח בסיום המעגל. הפידבק אפשרי מכיוון שמדובר במוצר המספק אחוז מסוים מן הפונקציונליות וניתן לבדוק אותו אל מול הדרישות, ולא רק בחלקי קוד שעוברים קומפילציה. נוצר תהליך איטראטיבי המתכנס באופן מהיר בהרבה אל הדרישות הסופיות, התכנון המפורט והמוצר המוגמר.  

    כיצד עובד Offshore עם Agile  במציאות? בפרויקט תוכנה שביצענו נדרשנו להקים מערכת Provisioning על גבי פלטפורמת BPM . הפרויקט הכיל מידה גבוהה של אי ודאות מאחר והלקוח לא הכיר היטב את יכולות פלטפורמת ה-BPM,  ולא הגדיר היטב את התהליכים העסקיים הדרושים ואת הדרישות הפונקציונליות מן המערכת. צוות ה-Offshore  לא הכיר כלל, בתחילת הפרוייקט, את הפלטפורמה, ואת המערכות אליהן נדרש להתממשק. במקום לבנות תהליך פיתוח סטנדרטי ולהגיע אחרי חצי שנה לשלב האינטגרציה ואז לגלות את הבעיות, בנינו תהליך אג'ילי המבוסס על Delivery  חודשי:

     -          הוגדרה ופותחה התשתית עליה תבוסס המערכת.

     -          הוגדר ופותח תהליך provisioning דמה רק כדי לתת ללקוח את התחושה של חווית 

           המשתמש.

     -          פותח Web Serviceלכל מערכת אליה נדרש להתממשק.

     -          הוגדר ופותח התהליך הסופי לפי דרישות הלקוח.

     -         הוספו יכולות נוספות כגון  Failover, Clustering ניהול טרנזקציות, טיפול בשגויים וכו' 

    הלקוח הרגיש מעורב בתהליך הפיתוח. ה-Deliveries החודשיים סייעו לו לסגור את הדרישות הסופיות תוך כדי התהליך. הפידבקים התכופים הכניסו במהירות את צוות ה-Offshore לתוך ההיגיון העסקי של הלקוח, וחלק מן הדרישות הוצעו למעשה על ידי צוות הפיתוח! תהליך הבדיקות האוטומטי הביא לכך שהשינויים לא פגעו באיכות המוצר, ושלב האינטגרציה עבר באופן חלק כמעט.

    לשם השוואה, מערכת ה-Provisioning  הקודמת שפיתח הלקוח על ידי צוות אחר לקחה פי שתיים משאבים והגיעה לקו הסיום עם איכות נמוכה בצורה משמעותית. 

    דרג את התוכן:

      תגובות (0)

      נא להתחבר כדי להגיב

      התחברות או הרשמה   

      סדר התגובות :
      ארעה שגיאה בזמן פרסום תגובתך. אנא בדקו את חיבור האינטרנט, או נסו לפרסם את התגובה בזמן מאוחר יותר. אם הבעיה נמשכת, נא צרו קשר עם מנהל באתר.
      /null/cdate#

      /null/text_64k_1#

      אין רשומות לתצוגה

      ארכיון

      פרופיל

      aviram_eisenberg
      1. שלח הודעה
      2. אוף ליין
      3. אוף ליין