דפים

יום שני, 14 בנובמבר 2016

על מה כל המהומה – Modern Agile

15 שנה עברו מאז נכתב ה Agile Manifesto – הלא הם 12 העקרונות אשר עליהם בנויה מתודולוגיית אג'ייל. האם הגיע הזמן לבצע בה שינויים ולהתאים אותה לעידן הנוכחי? תפיסה חדשה בשם "אג'ייל מודרני" מציעה הגדרה מחודשת לרעיונות האג'ילים.

ראשית, הקדימון (הקבוע של סדרת מאמרים זו) – המטרה של פוסט זה אינה להחליף את ויקיפדיה, או לחלופין להוציא אתכם מומחים ב- Modern Agile בסיום קריאת הפוסט. המטרה הינה לתאר את הקווים המנחים, להסביר את העקרונות, ולאפשר להבין   על מה כל המהומה.

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

מעניין לראות מה השתנה בתחום מאז 2001 - השנה בה נכתב ה Manifesto.
ראשית, התגברה ההבנה כי העקרונות האג'ילים אינם מוגבלים לתחום התוכנה בלבד, ישנן עוד ועוד עדויות לכך שמפעלים בתחום ה IT, ובתחום ה Low Tech אימצו מודלים בעלי עקרונות דומים בהצלחה.
שנית, ארגונים אשר מימשו בהצלחה את העקרונות האג'ילים שאלו את עצמם מה הלאה? כיצד יוכלו לקחת עקרונות אלו מעבר לרמת הצוות? מכלול הפתרונות אשר ניתנו לנושא נקרא בשם Scaling Agile
ולבסוף, תחומים קרובים (כגון ניהול פרויקטים) הפנימו שעליהם להתאים את עצמם "לעידן החדש", ושילבו את עקרונות המתודולוגיה בתהליכי ההסמכה שלהם.

'אג'יל מודרני'* הוא עוד שלב חשוב מאד בהתפתחות החשיבה התהליכית, אשר קורא תיגר על "העקרונות הישנים" וטוען כי כיום 15 שנה לאחר שנוצרו, יש צורך בריענון.
מהם אותם עקרונות ישנים? הנה מספר דוגמאות –
1. חלוקה לספרינטים – החשיבה הראשונית דחפה לפידבק מהיר על התוצר שבה ניתן הן להתקדם ע"ב ערך, והן להיות "גמישים" לשינויים. ביחס לתהליכי waterfall אכן דובר על שינויי משמעותי, אך בעידן של ימינו נראה שהדבר רק מעכב. השאיפה שלנו צריכה להיות לכיוון Continues Deployment, מצב בו יעילות התהליך הינה מקסימלית, ומחזורי החיים של התכולות מתקצרים עד כדי מספר פעמים ביום, ועולים בצורה אוטומטית לסביבת production. במוצרים בהם התכולות הן "מורכבות" ודורשות יותר זמן פיתוח, גם כאן נשאלות שאלות כגון – מה קורה לצוות שמסיים לפני סוף הספרינט? האם גודל ספרינט "קבוע" בהכרח מתאים לכל פעילות? ובכלל, כאשר ישנם מספר צוותים מדוע כולם צריכים לעבוד ע"פ אותם קבועי זמן(Sprints)?
במילים אחרות – הגדרת קבועי זמן בצורה אחידה, מראש, לכל תכולת המוצר נראית יותר כמעכבת ופחות מתאימה לעולם של ימינו.
2. Velocity measure – כחלק מהתפתחות מתודולוגיית האג'ייל, נוצר הצורך במדדים עבור הצוותים האג'ילים. מושגים כגון Story points, Velocity, Burndown charts, etc..  הפכו להיות הכרחיים כחלק בלתי נפרד מהמתודולוגיה עצמה. אז היכן הבעיה? למעשה נוצרה העדפה ברורה של 'ריצה מהירה' על פני 'איזון' balancing)) של התכולה. הדבר גרם ללא מעט תופעות לוואי – החל מיצירת רף נמוך בכוונה (כדי "להבטיח" עמידה בהתחייבויות), דרך הגדרת Story point על כל דבר קטן (ע"מ שיוסיף לניקוד), תופעת "עיגול הפינות" בסוף הספרינט (קיצוץ איכות, הורדת תכולה, הגדרת "הנחות" ב Definition of done, וכיו"ב), השקעה מינימלית בתשתיות (שכן אינן מייצרות Value מידי), דחיית פתרון תקלות ל-ספרינט הבא, וכיו"ב.
ה Story points הפכו בעצם להיות המטרה של הצוות במהלך הספרינט, אשר דרכו החלו להשוות לא רק את ביצועי הצוות ביחס לעצמו, אלא גם את ביצועי הצוות ביחס לצוותים אחרים. מה שכמובן שגוי בבסיסו.

עקרונות ה'אג'יל המודרני'
ה"אג'יל המודרני" מתבסס על 4 עקרונות  –
1. Make People Awesome - לגרום לבעלי העניין להרגיש מדהים עם המוצר.
בעלי עניין – כל אדם אשר יש לו קשר עם המוצר, כולל אלה שמפתחים, מוכרים, משתמשים, וכיוב'
מוצרי אפל הם דוגמא טובה לעיקרון זה. יצירת מוצר שנחשב 'מדהים' ע"י המפתחים יגרום להתלהבות, השקעה, אנרגיה טובה ע"י העובדים עצמם אשר יגרמו למוצר להצליח. אך זהו תנאי בסיסי בלבד, למעשה מוצרים אלו מספקים את אותן אנרגיות והתלהבות גם לאלו שמוכרים אותם ואף לאלו שמשתמשים בהם. כאן נמדדת ההצלחה.
2. Make safety a prerequisite – בטיחות כתנאי מקדים
גם כאן יש להסתכל בפרספקטיבה רחבה על כל בעלי העניין בהקשר של בטיחות.
הדבר הברור למדי הוא ברמת המוצר, יצירת מוצר בטיחותי למשתמשים שלו. בהקשר המוכרים – אנו נדבר על מוניטין, עליהם להרגיש ביטחון כאשר הם מוכרים את המוצר, שיש להם גב מאחוריהם, וכיו"ב
עבור המפתחים – נדבר כבר על היכולת לתת למפתחים הרגשת ביטחון גם כאשר הם נכשלים, גם כאשר מתגלות תקלות
3. Experiment and learn rapidly – התנסות ולימוד מהיר
לימוד מהיר הוא כורח השוק. ארגונים שלא ילמדו מהר, יפסידו במוקדם או במאוחר את התחרות למתחרים. כדי ללמוד מהר צריך להתנסות כמה שיותר. עיקרון ה"בטיחות כתנאי מקדים" יאפשר לנו לא לחשוש מכישלון ואף ללמוד ממנו לפעם הבאה. המשוואה הנכונה הינה שככל שנתנסה יותר, כך נלמד יותר, כך נוכל לייצר מוצר מדהים יותר.
4. Deliver Value continuously – לספק ערך ברציפות
הכוונה כאן הינה להסרת כל מחסום אשר מעכב אותנו מלספק ערך (value) בצורה רציפה, אופטימלית.
מתבסס על עקרונות Continues Deployment, כפי שהזכרתי בתחילת המאמר.

את הקשר בין עקרונות ה"אג'יל המודרני" לבין עקרונות ה"אג'יל המקורי" ניתן לראות בברור כאשר משווים אותם ל Agile Manifesto
כפי שניתן לראות (מטה) כל אחד מעקרונות ה"אג'יל המודרני" לא רק שמכיל את העקרון מתוך ה manifesto אלא אף מרחיב אותו ומוסיף עליו.

Original Agile: Customer Collaboration over contract negotiation VS
Modern Agile: Make people Awesome (customers as part of stakeholders)

Original Agile: Working software over comprehensive documentation VS
Modern Agile: Deliver value continuously

Original Agile: Responding to change over following a plan VS
Modern Agile: Experiment and learn rapidly

Original Agile: Individuals and interactions over processes and tools VS
Modern Agile: Make safety a prerequisite (safety for all product stakeholders)


ולבסוף ניתן לראות גם קשר בין עקרונות ה"אג'יל המודרני" לבין עקרונות מתודולוגיית Lean אשר בנויה על שני עמודים בסיסים (Pillars) -        
1. Respect for People VS
Make people Awesome, Make safety a prerequisite
2. Continues Improvement VS
Experiment and lean rapidly, Deliver value continuously


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

*אג'יל מודרני – המתודולוגיה פותחה ע"י  Joshua Kerievsky, מנכ"ל חברת Industrial logic


יוגב טל, PMP
Program Manager, Agile/Lean Coach
PMI Israel E-Magazine Editor


Picture source - https://pbs.twimg.com/media/Cvrc9guUIAAz2Bj.jpg


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

אין תגובות:

הוסף רשומת תגובה