במאמר על CAMS model הסברתי בצורה כללית על agile. היום אני רוצה להתעמק בזה יותר ולהסביר על הגישה הזאת, למה היא טובה ומה היה לפניה.
מה זה?
agile היא הגישה המקובלת כיום לניהול פרויקטים. כשבוחרים להשתמש בגישה הזו, שמים דגש על שינויים תמידיים. כלומר להצליח לשנות דברים “בזמן אמת” בצורה מקצועית וקצרה. איך נצליח לעשות את זה? אם מההתחלה נעשה דברים באופן שקל לשנות במידת הצורך. בעיניי, תיעוד טוב מאוד עוזר בלפתח גישה אג’ילית נכונה. לדוגמא, אם עכשיו יש בעיה במערכת והיא מתועדת היטב אז גם מישהו שלא מכיר אותה לעומק יוכל להצליח לתקן/לשנות במידת הצורך.
איך ניהלו פרויקטים לפני agile?
השתמשו בגישת waterfall. השם של השיטה אינדיקטיבי – מפל. הפרויקט מתנהל בצורה כזאת שכל פעם “חולייה” אחרת מבצעת שלב מסוים ואז מעבירה לחולייה הבאה. כמו מים במפל (שנופלים למטה) – מרגע שהם עברו לחולייה אחרת אי אפשר להחזיר אחורה אם צריך.
למה זה לא טוב? כי הגישה הזאת לא מכילה את העובדה ששינויים יקרו במהלך הפרויקט ואי אפשר לצפות את כולם מראש. ההגבלה הזאת גורמת לכך שיש הרבה hand off בין החוליות ושהפרויקט כולו יתנהל בצורה הרבה יותר איטית.
איך מנהלים משימות בפרויקט עם agile?
לכל צוות מתאים משהו אחר. אני חושב שרוב הפרויקטים צריכים להיות מנוהלים עם ספרינטים. כלומר, זמן מוגדר באורך של כמה שבועות שבו מגדירים מה המטרות ומנסים להשיג אותם. כל משימה מקבלת תעדוף שונה וזמן מוערך. הדברים האלו עוזרים לגדר את המשימות ובכך את כל הספרינט. זה ממקד ומאפשר לא לחרוג משמעותית מהזמן שהוגדר.
בסיום הספרינט חשוב לעשות רטרוספקטיבה – לחשוב ולרשום מה עשינו טוב, מה היינו רוצים לשפר ולבדוק שמשפרים את הדברים לספרינט הבא. השלב הזה אמור להיות דיון פתוח וכמובן ניתן להעלות רעיונות חדשים אם יש. הדבר הכי חשוב כשמנהלים ספרינטים הוא לא להיות מקובע. אם צריך לשפר משהו תוך כדי – אז לשפר.
עוד מנהג חשוב הוא daily standup. זוהי פגישה בין חברי הצוות באורך כמה דקות שמקיימים כל יום כדי להסתנכרן. כל אחד מספר מה הוא עשה אתמול, מה הוא מתכנן לעשות היום וככה כולם מסונכרנים ממוקדים וחדים על המשימות שלהם.
משהו נוסף שיכול לעזור הוא בניית roadmap עבור הפרויקט לפני שמתחילים לעבוד עליו בספרינטים. כך אפשר לבצע הערכת זמנים כללית לפרויקט, מספר הספרינטים הדרושים ומחשבה על חלוקת המשימות בין חברי הצוות.
בעזרת תוכנות כמו Jira, Monday, Trello אפשר לנהל את המשימות האלו.
ספרינטים מנהלים באמצעות לוח מסוג scrum ואם רוצים לנהל משימות בצורה שלא מוכוונת ספרינטים, משתמשים ב-kanban. בחלק מהצוותים kanban יכול להתאים יותר (הדגש הוא על הורדת זמנים של כל הפרויקט והתייעלות). ב-scrum יש ספרינטים והם מתבצעים באינטרוולים, הדגש הוא על loops של פידבקים וניהול מדויק יותר. בספרינט חשוב לנסות לא לשנות משימות תוך כדי בעוד שב-kanban board אפשר כל הזמן לשנות משימות.
בספרינט מנסים כל הזמן להתייעל, ממשימות קטנות עד לשיפור כל ה-flow. ב-kanban מתמקדים בשיפור כל ה-flow של הפרויקט, פחות מתמקדים במשימה ספציפית. היתרון בספרינטים הוא שאפשר לתחקר וללמוד מה אפשר לשפר/לשמר לספרינט הבא בצורה מעמיקה יותר.
דוגמא ללוח ב-Jira:
בין ספרינט לספרינט משתפרים במגוון היבטים כגון:
- הערכת זמנים לכל משימה.
- הערכת זמנים לכל הפרויקט.
- חלוקת משימות נכונה יותר.
- התייעלות כללית בזמנים.
נקודות למחשבה
חישבו מה מעכב אתכם, מהם צווארי הבקבוק, מה הדרך הנכונה לפתור אותם? תדאגו לתשתיות נוחות עבור ניהול המשימות. ודאו שיש לכם תוכנה לניהול משימות שאתם מסתדרים איתה, מבינים איך להשתמש בה ויודעים לנצל את הפיצ’רים שלה. נסו להשתפר בין ספרינט לספרינט.
לסיכום, דיברנו על agile, waterfall והבנו למה agile החליף את waterfall. בנוסף, הבנו מה זה ספרינט, איך מנהלים אותו והכי חשוב – לשים לב שמשתפרים כל הזמן.
בתור מישהו שעובד בצוות שעובד אגיילי( מנסה לפחות), זה מאוד מעשיר, תודה