זמנים משתנים
לאורך תהליכי הפיתוח הזמנים משתנים. לא רק שהזמן עובר, אלא גם ההתייחסות שלנו אליו והאופן בו אנו מנהלים אותו ואת התכניות שלנו משתנים.
בפוסט זה אנסה לתת תובנות לגבי ההתייחסות לזמן שלנו והכלים העומדים לרשותנו בניהולו לאורך מחזור פיתוח.
מחזור הפיתוח מתחלק לשלוש תקופות עיקריות.
כמובן שניתן לבצע גם חלוקות אחרות, אבל בחרתי לחלק את מחזור הפיתוח באופן גס לתקופות הבאות:
תקופה ראשונה – הקמה.
הקמה היא התקופה בה אנחנו נמצאים בתקופת החסד של פיתוח יכולות חדשות ותכולה מתוכננת לגרסה. מדוע תקופת חסד? מפני שבתקופה זו ברור לכולם שקבוצת הפיתוח עוסקת בליבת העשיה שלה – הפיתוח. הציפיה שלנו מעצמנו היא שנעשה את הדברים הנכונים. שהתהליכים יהיו מסודרים. שנתכנן באופן נכון, נבנה באופן נכון ונעביר גרסה באופן מסודר לקבוצות ה QA .
התקופה השניה – תיקונים והשלמות.
בתקופה זו, ישנה גרסה עובדת בסביבת ה QA וצוותי הפיתוח מבצעים תיקוני תקלות שהתגלו בבדיקות והשלמות אפיון שהועברו לקבוצה לאחר הפיתוח הראשוני. תקופה זו הינה תקופה לחוצה יותר. הלחץ נובע ממספר מקורות. המקור הראשון הוא צוותי ה QA שבודקים את התוכנה, מעירים הערות ולעיתים מקפיצים את קבוצת הפיתוח לתיקוני חירום המונעים המשך בדיקות. המקור השני הוא לקוחות המערכת, או נציגיהם בארגון – מנהלי המוצר. הם נחשפים בתקופה זו לאופן מימוש הדרישות שלהם, ולעיתים ישנו פער בין האופן בו הם ראו את הדרישות לבין האופן בו הדרישות מומשו (לא ניכנס כרגע לסיבות לפערים אלו ולדרכים להקטנתם). המקור השלישי ללחצים הוא אנחנו, גם כמנהלים וגם כמפתחים בקבוצה. הלחצים הפנימיים שלנו נובעים מהעובדה שאנחנו נמצאים בשלב שהוא שלב ביניים, בין פיתוח המערכת לבין המסירה שלה ללקוחות, ואנחנו מנסים עדיין לבצע את המשימות לפי הספר – לבדוק, לתכנן, ליישם, ובאותו הזמן אנו מתחילים להבין שיש לבצע וליישם פתרונות באופן מהיר, בתהליכים מקוצרים. הקשר בין הקבוצות השונות הינו קריטי בתקופה זו, והיכולת של קבוצת הפיתוח לספק תשובות ופתרונות למספר גופים ובו בזמן להמשיך לתקן ולפתח הינה חשובה על מנת לעמוד במשימות הקבוצה.
התקופה השלישית – העליה לאוויר
תקופת העליה לאוויר הינה התקופה האחרונה לפני מסירת מערכת ללקוח. תקופה זו מתאפיינת בשני מאפיינים מנוגדים אחד לשני ונדרשת מעורבות ניהולית משמעותית על מנת לאזן ביניהם. המאפיין הראשון – הרצון להקפיא את תצורת המערכת. המאפיין השני – הרצון לפתור כמה שיותר תקלות. בתקופה זו הלחץ על קבוצת הפיתוח עולה ואנו נדרשים לתת תשובות בזמן אמת בפורומים של סיווג תקלות, מתן מענה למעקפים אפשריים במערכת (Work Arounds ), ולתקן באופן מיידי תקלות קריטיות על מנת שניתן יהיה לבודקן לפני מסירת מערכת.
כיצד ננהל את הזמן לאורך שלוש תקופות אלו?
בתקופת ההקמה, נשתמש בכלי תכנון קלאסיים, ונתבסס על הערכות זמנים לבניית גאנט פרוייקטלי. המעקב אחרי הגאנט יהיה ברמה שבועית (ובפרוייקטים ארוכי טווח אף דו-שבועית), המעורבות הניהולית תהיה ברמה של ישיבות התקדמות עם ראשי הצוותים והקבוצות, והם בתורם יערכו ישיבות ודיונים פרטניים יותר עם המפתחים בקבוצות. למנהלים עומדים הרבה כלים לרשותם על מנת לזהות עיכובים, לנהל אותם, להשתמש ב buffer time על מנת להשלים משימות, לנהל עיכובים ולעיתים אף לקבל שינויי אפיון וליישמם.
בתקופת התיקונים וההשלמות, נמשיך להשתמש בכלים כמו הגאנט, אבל נתחיל לעקוב באופן תדיר יותר אחרי ההתקדמות ותיקוני התקלות. בתקופה זו חשוב לזהות תקלות החוזרות על עצמן ולנסות למקד את קבוצת הפיתוח בתיקונים מהותיים יותר. תקופה זו תתאפיין בהוצאת גרסאות בתדירות גבוהה יותר. מעקב יתבצע גם לגבי כמויות התקלות שיש במערכת, זיהוי מודולים בעייתיים וזיהוי חוסר הבנות שעדיין יש באפיוני המערכת.
בתקופת העליה לאוויר, ניהול הזמן יתבסס על מעקב צמוד על תיקוני תקלות דחופות. התקלות לתיקון יקבלו תשומת לב ניהולית, והמעקב יהיה יומי. בתקופה זו הגאנט יאבד את מקומו לרשימת מטלות ספציפית וממוקדת לכל אחד מהמפתחים, והמעקב יהיה ע"י טבלת ימים, כאשר בכל יום תהיינה משימות ותקלות לתיקון. בתקופה זו תשומת הלב הניהולית של ראשי הצוותים ומנהלי הקבוצות צריכה להיות לסיום המשימות לקראת העברת המערכת ללקוח. תפקידם של מנהל הפיתוח, מנהלי המוצר ומנהלי ה QA הוא לבצע סיווג יום יומי של התקלות, תוך סימון של התקלות הספציפיות הנדרשות לתיקון. בתקופה זו חשיבות שיתוף הפעולה בין המנהלים השונים הינה קריטית. היכולת של גופי הפיתוח לתת מענה מהיר, ובמקביל יכולתם של מנהלי המוצר להבין אילו מהתקלות הינן קריטיות ללקוח ועם אילו תקלות הלקוח יכול לחיות במשך תקופה מסויימת תביא לרשימת מטלות ממוקדת. היכולת של גופי ה QA לקבל גרסאות באופן תכוף (עד כדי יום יומי) הינה חשובה מאוד לשם סיום הבדיקות של המערכת.
לאורך שלוש התקופות הנזכרות כאן ישנם שינויים ברמת הלחץ המופעל על השותפים השונים בתהליך. הלחץ עולה ככל שאנחנו מתקרבים למסירה ללקוח. ככל שהזמן מתקדם אנו נדרשים להיכנס יותר לפרטים, לתת תשומת לב צמודה יותר לנושאים קטנים, לסנן רעשים באופן יעיל יותר ולהתמקד במטרה באופן מוחלט. הסדר המאפיין את התהליכים בתקופת ההקמה מפנה את מקומו לרשימת מטלות ארוכה של משימות קטנות וממוקדות יותר והכלים המאפיינים תהליך מסודר, יפנו את מקומם לכלים שנועדו למקד כל אחד מאנשי הפיתוח, הבדיקות וניהול המוצר במשימה של מסירת המערכת ללקוח. אם בתחילת התהליך המשימות היו ארוכות וההמעקב אחרי הגאנט היה עיקר המעקב הנדרש, הרי שבתקופת העליה לאוויר, רשימת מטלות ותקלות הינה זו הנתונה למעקב. אם זמנים ממוצעים של משימות בגאנט נפרשו על פני ימים, הרי שהמשימות לקראת העליה לאוויר מתקצרות ולעיתים נמדדות בשעות עבודה בודדות, כאשר כל מפתח נדרש להתמודד עם כמות גדולה של משימות מידי יום.
ההבנה של התהליך, התקופות השונות, הפניית תשומת הלב הניהולית למקומות הנכונים לכל תקופה וההתייחסות שלנו לניהול הזמן שלנו ושל כל קבוצת הפיתוח יביאו לידי סיום מוצלח של פיתוח המערכת ומסירתה ללקוח.


תגובות אחרונות