דפים

יום ראשון, 25 בנובמבר 2012

Agile Anti-pattern


המושג Anti-pattern (אנטי דפוסי) הוטבע בשנת 1995 ע"י חוקר בתחום התוכנה בשם אנדרו קוינג.
משמעותו –
"דפוס חוזר ונשנה של פעולה, תהליך או מבנה, שנראה תחילה כמועיל, אך בסופו של דבר מייצר תוצאות רעות יותר מאשר תוצאות מועילות."

אין ספק שאחד הדברים החשובים שארגון ירצה לדעת לאחר הטמעת המתודולוגיה היא כיצד יוכל לזהות שהוא סוטה מה "מסלול הנכון" אליו התכוונו יוצרי השיטה (ראו מאמר קודם על אג'ייל בבלוג זה). מהם הסימנים העיקריים אותם נוכל לזהות ולסווג כ anti patterns לאחר הטמעת Agile ?

Daily standup meetings
הפגישות היומיות מהוות חלק חשוב בתהליך האג'ייל. בפגישות אלו הצוות מתכנס לפרק זמן של 10-15 דק' בו הוא בוחן את ההתקדמות שלו, מעלה חסמים (עכשוויים או עתידיים), ומתייעץ עם חברי הקבוצה בנוגע לפעילות ה Sprint. ה Scrum master אמון על ניהול הפגישה, הגדרת תעדופים, ועזרה בפתרון חסמים.
סימנים שאמורים להדליק לנו נורה אדומה –
· צוות ה אג'ייל אינו עומד בפגישה היומית – לעמידה בפגישה היומית שתי מטרות עיקריות –
- מיקוד של הצוות
- קיצור זמן הפגישה (פשוט כי לא נעים לעמוד ...)
הציניקנים שביננו יגידו שאין קשר בין שתי מטרות אלו לבין העמידה בזמן הפגישה, אך האמת היא שההפך הוא הנכון. כאשר מתחילים "לעגל" פינות אז יודעים היכן מתחילים אך לא באמת יודעים היכן לסיים ...

· צוות ה אג'ייל מדבר אל ה scrum master  - כאשר הצוות מדבר בפגישה היומית אל ה scrum master הוא למעשה אומר לו במילים אחרות –" 'אתה האחראי' ואני מעדכן אותך בסטטוס שלי." לא לכך התכוון המשורר (או 17 המשוררים במקרה זה..). האחריות צריכה להיות על הצוות כולו ומכאן שהעדכון היומי צריך להיות כלפי הצוות ולא כלפי ה scrum master.

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

Flow Board
תפקידו של לוח הבקרה הינו לשקף את מחזור החיים של המשימות, המטרה העיקרית שלו היא לאפשר את "הזרימה" של המשימות מהמצב ההתחלתי לעבר הסיום (הסברים נוספים על משמעות ה "זרימה" ניתן למצוא במאמר נפרד בשם "Kanban על מה כל המהומה " בבלוג זה).
סימנים שאמורים להדליק לנו נורה אדומה –
· תורים בעמודות שונות בלוח – מניסיוני ישנן שתי אפשרויות עיקריות למצב זה –
1.הצוות לא באמת הבין את הערכים של מתודולוגיית ה-אג'ייל. למעשה הדבר מציין שכל גורם בתהליך (פיתוח, אינטגרציה, וכו') ממשיך להיות מרוכז בעבודתו ורואה את הערך בהספק האישי שלו ולא בהספק הצוות. פתרון יעיל לסימפטום זה הינו בהגדרת WIP בעמודות הרלוונטיות (הסבר נוסף נמצא במאמר "Kanban על מה כל המהומה " בבלוג זה)
2.ישנו מספר גדול של משימות אשר "נחסמות" בשלב כלשהו בתהליך. כתוצאה מכך "נמשכות" משימות חדשות לתוך התהליך ונוצרים תורים בעמודות שונות.
שורש הבעיה במקרה זה הינו חוסר הבשלות של המשימות להיכנס אל תוך התהליך.
בתהליך קצר ניתן להגדיר קריטריונים המאשרים או דוחים כניסת משימות לתהליך וחיזוק הזרימה בו.

· זרימה הפוכה -  הכוונה כאן הינה שבמקום שמשימות יתקדמו בכיוון אחד מהתחלה אל הסוף, חוזרות משימות בכיוון ההפוך. דבר זה קורה כאשר הגורם אשר מושך את המשימה מזהה לאחר זמן קצר כי היא אינה "בשלה" מספיק בכדי שיוכל לטפל בה (לדוגמה בעיות קריטיות שמזהה צוות הבדיקות) ולכן עליה לחזור חזרה לשלב הקודם .
אין ספק שתהליך זה צריך להדליק לנו נורה אדומה. (אחד מהגדרות ה waist בעולם ה Lean)
הדרך היעילה לפתור מצב זה הינו בהגדרה נכונה של החוקים במשחק. או במילים אחרות – מהם התנאים ה"מאשרים" סיום שלב אחד והעברה לשלב הבא (Definition of done)

Internal waterfalls
במעבר מתהליכים סיריאלים (כדוגמת waterfall) לתהליך אג'ייל קורה לעיתים שלארגון קשה "להתנתק" מהעבר, והוא למעשה "מעתיק" את תרבות העבודה הסיריאלית אל תוך ה-Sprint . במילים אחרות בתוך הספרינט אנחנו מקבלים מעין waterfalls קטנים בהם הבדיקות מחכים לאינטגרציה, שמחכים לפיתוח, שמחכה לdesign וכו' .. 
בדומה ל anti patterns הקודמים גם כאן – לא זו הייתה הכוונה.
הדרך היעילה לפתור מצב זה הינה לפרק את המשימות לגורמים קטנים. דבר זה יאפשר לנו לזהות -
1.מהם הגורמים הבלתי תלויים אשר ניתן להתקדם בהם מבלי "לחכות" לגורם המקדים בתהליך
2.מהן החלקים אותם נוכל "להעביר" לשלב הבא בתהליך כבר בשלבים המוקדמים.

Working overtime
ה Anti pattern האחרון שאציין במאמר זה הוא הכי פשוט לזיהוי אך יחד עם זאת הכי קל להתעלם ממנו. במידה ונתחיל לראות עליה ניכרת בשעות העבודה בארגון לאחר הטמעת ה אג'ייל הרי שגם זה אמור להדליק לנו נורה אדומה. אפשרות אחת (שהיא נטיית הלב של המנהלים) אומרת שזה קורה מסיבות חיוביות כגון – לויאליות לארגון, התלהבות מהמתודולוגיה החדשה, וכו' ..
אפשרות שניה (שהיא הסבירה יותר) אומרת שמשהו לא מתנהל כשורה בתהליך ומחייב את הצוות להשקיע שעות נוספות מעבר לנדרש בכדי לעמוד בהתחייבויות שנתנו.
גם אם זה "נראה טוב" הרי שדבר זה אינו יעיל ולבטח אינו יכול להחזיק מעמד לאורך זמן.

שורת סיכום
חברת Virsionone מבצעת בכל שנה סקר מקיף בנושא הטמעת מתודולוגית אג'ייל בארגונים ברחבי העולם. תוצאות הסקר האחרון (לשנת 2011) מראות שבמקומות הראשונים עבור הארגונים שלא הצליחו להטמיע כראוי את מתודולוגיית ה אג'ייל נמצאת הסיבה של "חוסר הבנה בעקרונות המתודולוגיה" (כ 11%). ארגון אשר "אימץ" את הטקסים והכלים ללא הבנה מעמיקה של עקרונות המתודולוגיה יוכל לזהות במהרה את ה anti patterns – הסימנים המעידים על צורך בלימוד מעמיק ונכון יותר של עקרונות השיטה.
תוצאות הסקר המלא נמצאות כאן

בהצלחה!

יוגב טל
יועץ לתהליכי פיתוח וניהול פרויקטים
מאמן אישי וניהולי



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

אין תגובות:

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