Posts tagged ‘Burndown chart’

אלמנטים של סקראם והפעם…. שקיפות

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

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


דוגמא לגרף ספרינט (אמיתי לחלוטין)

מצב הפרויקטrelease משתקף באותה צורה פחות או יותר (מי אמר פשטות ?), ויש שנוהגים לתחזק את ה-backlog על הקיר באמצעות ניירות, פתקים וגרף מצויר בטושים, ויש שנוהגים לנהל את לנהל את הדרישות ואת הפרויקט (שם אחר ל-backlog) באמצעות מיני כלים שונים וביניהם excel.
האקסל הוא כלי פשוט שנותן בקלות לתחזק את רשימת הדרישות ואת גרף ה-Burndown של הפרויקט, ואף ניתן למצוא באינטרנט תבניות שונות לכך (הוספתי לקישורים).
השקיפות באה לידי ביטוי ע”י כך שמעבר לכך שהמידע הוא פשוט להבנה ואינו דורש יכולות של הבנת תרשימים מורכבים, הוא גם חשוף לכל ומתעדכן בזמן אמת.

אלמנט נוסף שמשפיע על הפרויקט הם הערכות המאמצים, הדוגמא שנראה ממחישה את המיידיות שהם משפיעים על התוכניות. דוגמא מאקסל אמיתי (עם פרויקט מדומה) שהכנתי לכם:

מצב ראשון: ספרינט 2, התקדמות כצפוי, נראה שנסיים אחרי 7 ספרינטים:
clip_image004

אך אבוי לנו! בספרינט השני לא נספיק לכתוב את הפוסט השני, טוב נזיז אותו לספרינט הבא. שימו לב באיזה פשטות משתנה מצב הפרויקט, והאקסל משקף לנו את הדבר. אם תסתכלו ממש טוב תוכלו לראות שהגרף לא מאמין לנו… הוא חושב שהפרויקט ידחה ביותר מספרינט אחד (יסתיים אחרי 9 ספרינטים). אנחנו נתעמק בכך יותר כשנדבר על הערכת מאמצים אג’ילית…
clip_image006

עוד המחשה לשקיפות היא שפירוט המשימות ברמת הספרינט הוא זמין ונראה לכל עקב כך שמתוחזק על גבי לוחקירטבלת אקסל. (בניגוד לאחרות התמונה הזאת לא שלי…)

ישנם עוד מססר אלמנטים שמקובל לשקף בשיטות דומות.
זהו. שקיפות. יתרון גדול של סקראם!

אלמנטים של סקראם והפעם… Sprint.

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

  • קל להיות גמישים ולשנות את תכולת המוצר כאשר מחזור הפיתוח הוא קצר, פשוט בגלל שבסוף כל מחזור המוצר אמור להימצא במצב שהוא פוטנציאלית מוכן למשלוח.
  • כאשר מפתחים בצורה קלאסית, בד”כ ניתן לראות תוצאות ולקבל ביקורת כל מספר חודשים, כאשר מחזור הפיתוח הוא קצר, ניתן לראות תוצאות מהר מאוד וע”י כך להגדיל את תחושת ההישגיות של הצוות.
  • כאשר מפתחים במחזורים קצרים ניתן לראות מהר מאוד כי הפרויקט אינו מתקדם בצורה הרצויה, ניתן לראות את הבעיות מיד ואין צורך לחכות לשלב מתקדם בפרויקט כגון נקודת ציון (Milestone) או שלב הבדיקות (Verification).
  • כאשר מפתחים במחזורים קצרים, באופן אוטומטי הגישה של הצוות משתנה והמוכנות הפסיכולוגית לשינוי עולה.
  • אז מה זה למעשה ספרינט של סקראם ומה הוא כולל ?
    ספרינט הוא מחזור פיתוח באורך של בן שבועיים לארבעה (ככל שהצוות מיומן יותר כך ניתן לקצר את אורך הספרינט), הוא מתחיל בישיבה שנקראת Sprint planning (עוד יהיה פוסט) שבה מחליטים ביחד, הצוות והאחראי על המוצר (Product owner) על איזה פריטים מתוך ה-product backlog הצוות מתחייב לפתח עד סוף הספרינט, בנוסף מגדירים ביחד מה המשמעות של פריט מוכן, ומחליטים על מטרה לספרינט (Sprint goal), אחרי הישיבה הצוות ניגש לעבודה.
    במשך הספרינט הצוות מקבל שלושה דברים: סמכות מלאה, תמיכה ושקט תעשייתי:

  • סמכות מלאה לקבלת החלטיות טכניות שקשורות לביצוע המשימות
  • תמיכה בפיתרון בעיות שהצוות נתקל בהן ואין בכוחו לפותרן – למשל השלמת ידע בתחום מסוים, חוסר בחומרה ספציפית וכדומה.
  • שקט תעשייתי משמעותו שהצוות למעשה “מוגן” מהתערבויות חיצוניות במהלך הספרינט, התערבויות משמעותן שינוי המשימות שהצוות התחייב עליהן, שינוי המשאבים או מצב כ”א של הצוות. עליי לציין שישנם מצבים שבהם הצוות מסכים מראש בתחילת הספרינט לרמה מסוימת של הפרעות.
  • בכל יום במהלך הספרינט מתכנס הצוות לישיבה שאורכה לא עולה על 15 דקות (בד”כ פחות) ובה כל אחד מחברי הצוות מעדכן את הצוות בשלוש שאלות : מה עשיתי מהישיבה הקודמת עד הנכחית? מה אעשה מעכשיו עד השיבה הבאה? האם משהו מפריע לי לביצוע המשימות? על הישיבה היומית (daily standup meeting) עוד נדון בהרחבה בפוסט משלה. בנוסף במהלך כל יום בספרינט מקובל שמעדכנים את גרף “שריפת העבודה” Burndown chart, גרף זה למעשה מייצג את התקדמות הצוות בצורה פשוטה לעדכון, ויזואלית וקלה להבנה.
    בסוף הספרינט הצוות מציג את ההתקדמות ואת העמידה בהתחייבויות בישיבת ה-sprint review, כמו כן הצוות מקיים ישיבת רטרוספקטיבה (sprint retrospective) שבה הצוות בוחן את הספרינט האחרון ואת הנקודות לשימור ולשיפור, שאחריה למעשה מתחיל ספרינט חדש.

ישנם נושאים נוספים שנוגעים למעשה לספרינט ולמהותו, אך בשלב זה שבו אנו עדיין דנים בבסיס של הדברים ארצה להתייחס רק לאלמנט אחד חשוב, כתבתי שהצוות מקבל שקט תעשייתי ושלא משנים לו את המשימות, הרכב הצוות וכו’, אך מה לעשות, אנחנו מדברים על חברות כלכליות וישנם מקרים יוצאי דופן בהם למשל מה שהצוות עושה במהלך הספרינט הופך ללא רלוונטי עקב שינוי דרמטי במבנה הפרויקט או מצב שבו חייבים אנשים מהצוות ע”מ להציל פרויקט אחר וכו’, במצב כזה ניתן להפסיק את הספרינט באמצע, מצב כזה מכונה הפסקת ספרינט אנורמאלית (Abnormal sprint termination) אך יש לקחת בחשבון שכאשר מבוצע מהלך שכזה אז כל העבודה שנעשתה במהלך הספרינט
“נזרקת לפח”, התנאי הזה קיים ע”מ לגרום לביטול ספרינט להיות דבר נדיר ולגרום לגורמים שמחליטים על ביטול ספרינט לחשוב מספר פעמים ושקול את האפשרות של בכל זאת להמתין לסיום הספרינט שהרי מדובר לכל היותר בארבעה שבועות ובד”כ פחות.

שאלות ?