דפים

יום ראשון, 24 בדצמבר 2017

Agile Discovery phase


כאשר עובדים במתודולוגיית אג'יל המטרה העיקרית הייתה ותמיד תישאר - העלאת ה "ערך"  (Business value) אשר מתקבל ע"י צוותי הסקראם בעבודה בספרינטים. (אם אינך מכיר/ה את המינוחים האג'ילים, מומלץ לקרוא קודם – Agile, Scrum על מה כל המהומה) העקרונות האג'ילים עצמם אינם מתמקדים בהכנות הנדרשות לביצוע ספרינט מוצלח, אלא בכך שהצוות צריך לעבוד בצורה יעילה במהלכו.

נקודת הפתיחה הינה פגישת התכנון של הספרינט (Sprint Planning), בנקודה זו הצוות אמור להתחייב על התכולה אשר יספק בסיום הספרינט. אך מה אם תוצרים מסויימים הנדרשים לצוות לביצוע משימותיו אינם מוכנים?
לדוגמא – אם דרישה כלשהי דורשת מחקר מקדים, או לחלופין תוצרי mockup מסויימים אינם מוכנים.
הצפייה שהצוות יוכל עדיין להתחייב על תוצרי הספרינט במצבים אלו היא במרבית המקרים אינה נכונה, ועלולה להוביל לאכזבה מצד בעלי העניין, וחשוב מכך בעיני הצוות עצמו, כאשר יכשל בעמידה בהתחייבויות שלקח.
הדרך להתמודד עם מצבים אלו תנוע בין - נתחיל ו "יהיה בסדר", או "מתחילים עם מה שיש" ועוצרים במהלך הספרינט לחשיבה מחודשת, ולעיתים אף קבלת החלטה ש "מקפיאים ריצה" עד שכל התוצרים הנדרשים יהיו מוכנים.
בכל אחת מבחירות אלו, ישנה פגיעה הן בעבודת הצוות במהלך הספרינט, והן במחזוריות של הספרינטים בפרויקט.

Discovery phase נועד במהותו לפתור בעיה זו –
אפשור עבודה יעילה של הצוות במהלך הספרינט, תוך הורדת רמת הסיכון של תוצר ערך נמוך(Business value) בסופו.
פעילויות מרכזיות בשלב זה יכולות לכלול:
-          ווידוא רלוונטיות של דרישות אל מול לקוחות (PO)
-          גיבוש דרישות מרכזיות לכדי PBI’s (PO)
-          מחקר מקדים עבוד דרישות מרכזיות (R&D)
-          הערכה מקדימה של עלויות התכולה (אשר תאפשר שינוי תעדוף או יצירת תחזית)
-          וכיו"ב
ישנן מספר דילמות הקשורות לשילוב שלב זה במחזור החיים של הפרויקט.
אציין את העיקריות שבהן –

1. מיקום שלב ה- Discovery
שלב זה הינו מקדים לפעילות המימוש (Sprint execution) של הצוותים אשר יכולה להיכנס כספרינט בעצמו (כדוגמת Sprint 0) או להתרחש במקביל לפעילות הצוותים עצמם בצורה מחזורית (כפי שמתואר בתרשים)

2. תכולת שלב ה-Discovery
הקונפליקט בין הכנה מקדימה כמה שיותר טובה, לבין שמירה על האג'יליות מתקיים גם כאן.
מחד – ככל שנעבד כמה שיותר תוצרים, נבצע מחקרים מקדימים, וכד', נהיה מוכנים יותר לשלב הביצוע.
מאידך – אין לנו יכולת חיזוי שהתכולות לא ישתנו במהלך הדרך, ולכן אנו יכולים בקלות לעבור לסוג של ביזבוז ( Over production)
קיימת נקודת איזון אשר מרגישה נכונה, בלבצע פעילות זו עבור תכולת שני ספרינטים קדימה.   
(סובייקטיבי כמובן)

3. השפעת שלב ה-Discovery  על הפרויקט
קונפליקט נוסף קשור לרמת ההשפעה שיש לממצאי ה-  Discovery על הגרסה עצמה.
מחד - שלב זה הוא יחסית קצר (ביחס לפרויקט כולו), ולא ניתן לבחון לעומק כל אחת מהמטרות שלו.
מאידך – במידה וקיבלנו כבר תובנות האם עלינו להסיק מהן כבר מסקנות?
כמובן שגם כאן התשובה תהיה – סובייקטיבי ויש להפעיל שיקול דעת ביחס לכל מקרה.
יחד עם זאת הנטייה במרבית המקרים צריכה להיות לכיוון שימוש במידע שנמצא בכדי לבצע הערכות מחדש \ שינויים.
לדוגמא -
נניח כי לאחר מספר ימי מחקר התגלה כי עלות הפיתוח של דרישה מסוימת הינו גבוהה מאד.
האם הדבר גורר הסרת הדרישה מתכולת הפרויקט?
לאו-דווקא, אך ייתכן שנוכל עתה לבצע הערכת ROI טובה יותר ביחס לנחיצות שלה. (ובמידה ועדיין נחוצה, נערך אליה בצורה טובה יותר)

4. האם שלב ה- Discovery מתאים לתפיסה האג'ילית?
הקונפליקט האחרון אשר בחרתי להציג קשור להתאמה של שלב זה לתפיסה האג'ילית.
כפי שציינתי בפתיח, בעקרונות האג'יליים אין כל ציון להכנה מוקדמת לפני הרצת הספרינט אלא להיפך, הכיוון הוא Fail Fast
התומכים בגישה זו יכולים להתייחס לשלב זה כאל 'משקולת' / שריד מהמתודולוגיה הוותיקה של ניהול פרויקטים  (שלב ה -Project initiation) אשר בו מתבצעות הערכות והכנות ראשונות לקראת הפרויקט.
מאידך – ניתן לזהות את הערך Fail Fast בצורה חזקה מאד בשלב זה, וזאת מכיוון שתוך זמן קצר נוכל לקבל פידבק (לקוחות, מחקר, וכיו"ב) על דרישות התכולה, אפילו עוד לפני שיצאנו לדרך.

איזו גישה נכונה יותר?
האם שלב ה Discovery מתאים לארגון שלכם?
במידה ונתקלתם בקשיים המצויינים בפתיח, כדאי בהחלט לבדוק התאמה.



Yogev Tal
Program Manager, Agile coach

בחזרה לעמוד הבית - מרעננים את הפיתוח

picture source - https://smallbiztrends.com/wp-content/uploads/2012/02/discovery.jpg


2 comments:

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

    השבמחק
  2. הי עומר,
    תודה על השיתוף
    האם הפורמט שאתם משתמשים זהה למה שהצגתי במאמר או אחר?

    השבמחק