על איכות, קריטריונים ו- Definition OF Done בעולם הפרויקטים
"הגענו לשם?" שאלה שקשה לענות עליה אם לא ברור איפה זה "שם", או במילותיו האלמותיות של חתול הצ'שייר לאליס: "זה תלוי במידה רבה לאן את רוצה להגיע."
בעולם דינאמי שבו תכולה מתעדכנת ודרישות מתווספות, הסכמה על "הגענו!", או מה שמכונה בעולם האג'ילי Definition of Done, היא בעלת חשיבות קריטית כדי לייצר הסכמה ביחס להשלמתם של תוצרים בפרויקט. כלומר, להימנע ממצב שבו הגורם המבצע מכריז כי המשימה הסתיימה, אולם הגורם המקבל חושב אחרת. כאשר לא מדברים באותה שפה ואין תיאום מלא, נפתח פתח רחב לבלבול, ותסכול. כדי לא להיכנס לתרחיש זה, צריך להסכים מתי תוצר אכן יכול לעבוד לסטאטוס "בוצע".
בעולם האג'יל כאמור, זוהי פרקטיקה מוכרת וחלק מתהליך העבודה. אך זהו רעיון שמיושם גם בפרויקטים הפועלים באופנים שונים ולאו דווקא בעולמות התוכנה, ואת המאמר נקדיש את הפעם לרעיון הזה.
מה זה בעצם אומר "done"?
למעשה, זהו אוסף מוסכם של פריטים שיש להשלים או קריטריונים שיש לקיים, לפני שתוצר יכול להיחשב ככזה שבוצע. קריטריונים אשר בעלי העניין מכירים ומיישמים בעקביות ואשר משמשים חוצץ רשמי המפריד בין דברים "בעבודה" לכאלה שהושלמו. בעוד שהקריטריונים משתנים מארגון לארגון, להלן מספר דוגמאות לפריטים שיכולים להיכלל ברשימה שכשזו:
- התוצר נבדק על ידי הגורמים המוסמכים (שיש פרט מיהם)
- האפיון אושר על ידי הלקוח (אשר מפורט מיהו)
- המוצר עבר בדיקת איכות על פי סטנדרט מוגדר (המפורט בבירור)
- המסמך מתועד ושמור במקום שהוגדר מראש (קישור לספריה או מערכת)
כאמור, כל ארגון וכל פרויקט יגדירו את הקריטריונים הנכונים עבורם, אבל הכל נסוב סביב אותו רעיון בסיסי: התוצר אכן מבצע/מספק את הערך שהוא אמור לתת, ואינו מייצר בעיה כלשהי. כלומר, בעזרת הגדרת ה- done אנחנו רוצים להבטיח איכות גבוהה, שלמות ועקביות.
למה זה כל כך חשוב?
- בהירות. אוסף הקריטריונים מוסכם ומוכר לכולם למן תחילת הדרך מייצר שפה משותפת. לכן, אם משהו לא מושלם כיוון שלא עמד בקריטריונים, ברור לכולם מדוע וכיצד לתקן את המצב.
- תיעדוף. הצוות המבצע יודע בדיוק במה להתמקד כדי להצליח לספק תוצר איכותי לשביעות רצון הגורם המקבל, מבלי ש"יבזבז" זמן יקר בדברים שאינם מסייעים לדילוור. סף ברור של איכות.
- מיקוד. ללא הגדרה ברורה של קריטריונים, צוות הפרויקט אינו ממוקד, ובעלי העניין יכולים להגדיל את ההיקף ולייצר עומס מבלבל ולהוביל לתוצר שאינו עונה על הדרישה. גם אם מזוהה צורך להגדלת התכולה, הוא נבחן אל מול הגדרת ה- DONE בצורה עניינית.
- להמשיך הלאה. יותר מכל, עבודה לפי הגדרות ברורות, מאפשרת לצוות הפרוייקט לסיים את מה שהוא עושה ולעבור לדבר הבא. ללא הגדרות אלה, קשה לדעת מתי עוצרים. עבודה לא גמורה נערמת בקלות ומצטברת לכדי "חובות" שצריך לפרוע לפני שאפשר להתקדם. כלומר, נתקעים.
איפה להתחיל?
לכל מטבע שני צדדים, ובמקרה הזה לכל תוצר. הגדרת הקריטריונים הוא תהליך משותף בין הצד שמוסר לצד המקבל. הגדרת ה "done" אמנם דורשת מאמץ, אך זהו מאמץ ראוי שכן הוא מסייע להפחית זמן בהמשך הדרך על ידי ביטול תיקונים מיותרים, מניעת אי הבנות, וכן הוא מייתר מראש זמן עבודה שכלל אינה נדרשת. כאשר התוצר עונה על הצורך וההגדרה, כולם יכולים להתקדם מהר יותר, לאורך זמן רמת האמון עולה, סיכויי הפרוייקט להצליח גדלים, וכולם מרוויחים.
נקודות לתהליך:
- רגע לפני שיוצאים לדרך, חשוב לברר שמבינים "מי?" ו"מה?". "עבור מי" נבנה התוצר המדובר, מי יפיק ממנו תועלת. ו- "לשם מה?". באיזה אופן התוצר החדש מקדם את אותו "לקוח". כשבררנו את שתי הנקודות הללו, נוכל להתקדם למדידה והגדרת קריטריונים, כיוון שעכשיו נוכל לדעת מה יחשב הצלחה. נקודה מעניינת בשלב זה, היא להתבונן על דרך השגת אותה תוצאה בדרך הפשוטה והמהירה, אולי מבלי לבצע את כל מה שחשבנו בתחילה שנדרש לבצע.
- מיפוי. בין אם בעזרת סיעור מוחות או גורם מתאם, מיפוי המדדים, הקריטריונים או הפעולות שנדרשות כדי להגיע למצב שהתוצר "בוצע". חשוב לייצר מרחב לתגובה וגיבוש תמיכה. בסופו של דבר צריכה להיווצר רשימת קריטריונים מוסכמת הן על בעלי העניין והן על צוות הפרוייקט המבצע.
- שיתוף. חשוב להקפיד על מעורבות של כל צוות הפרויקט ולהמשיך בשיתוף הצוותים האחרים – ללא תמיכה ותיאום ציפיות, נישאר עם בלבול ואי בהירות. אם תצליחו לברר מהם הנושאים שעלולים למנוע הסכמה, אלא שיש לגביהם מחלוקת, תדעו לפעול נכון מראש.
- שקיפות. חיוני שההגדרות שהוחלט עליהן תהיינה זמינות לכולם, ומובנות. בדרך זו, כולם ידעו מה נדרש כדי לקדם ביצוע של תוצר ואיך לעזור לקדם אותו במקרה של בעיה.
- מומלץ להגדיר אחראים לכל קריטריון. מעין מגשרים או בוררים. אלה יהיו מי שיאשרו עמידה בקריטריון וגם יסייעו במקרה של אי הסכמה או שאלה. זה תורם להסרת ספקות.
- כדי לא להגיע לגיהינום (שהדרך אליו רצופה בכוונות טובות), חשוב לשמור על הגדרה פשוטה וקצרה ככל האפשר. הרעיון הוא ליצור "שערים" איכותיים ויעילים, ולא בירוקרטיה שתאט את הקצב. כלומר למצוא את הדברים "הנכונים", שצריך לעשות, וזו אינה משימה קלה. נסו ככלל אצבע לחשוב מהי העבודה המינימלית הנדרשת כדי לענות על רמת איכות התוצר הנדרשת.
- תהיו ספציפיים. אין מדובר בקריטריונים כלליים של איכות. ההגדרות בתהליך זה צריכות להיות ייחודיות ולהתייחס לתוצר המדובר. הקריטריונים צריכים להיות מוגדרים תוך התייחסות לנתונים המסופקים על ידי הצוות הטכני-מקצועי, תוך הבנה שאם קיבלנו "אור ירוק", משמע שהתוצר המסוים הזה, נחשב כ"בוצע".
לסיכום
השארת השאלה "האם משהו נעשה?" פתוחה לפרשנות עלולה לייצר עימות, ואי הבנות. יצירת חזון משותף לגבי התוצאה הוא המקום להתחיל בו, והסכמה על קריטריונים תוך יצירת תיאום ציפיות, היא דרך טובה לנתב בה את הפרויקט. אלו הם צעדים שמסייעים לבניית אוירה של אמון ופתיחות, ומונעים משפטים כמו, "אבל חשבתי ש…." לאורך הדרך.
עם הגדרת הקריטריונים, חשוב לא לשכוח ולהביט על התמונה כולה. כדאי לקחת צעד אחורה מדי פעם, ולוודא שאנחנו מתואמים ברמת הארגון ו- ניהול הפרויקט כולו. בסופו של דבר, פרויקט גדול מסכום חלקיו, הוא צריך לאפשר לארגון להתקדם קדימה לעתיד הרצוי ולקבל את הערך שהוא מבטיח לממש. כלומר, חשוב, אך לא מספיק לייצר תוצרים טובים שעומדים בקריטריונים, הלקוחות של הפרויקט צריכים לראות בו ערך ולעשות בו שימוש.