Knowledge Driven Development

הספר, Knowledge Driven Development: Bridging Waterfall and Agile Methodologies יצא לאור בשנת 2018, ומסכם רעיונות ועבודה של הכותב- Manoj Kumar Lal, הודי, מומחה לניהול ידע, העוסק ביישום ניהול ידע בעולם התוכנה ב- 20 השנים האחרונות.

 

הרעיון המסדר של הספר- עולם התוכנה ממכן כמעט כל דבר...חוץ מאת המסמכים של עצמו. עולם התוכנה מבוסס מסמכים- החל ממסמכי דרישות למיניהם, דרך אפיונים, מסמכי בדיקות ועוד. בעולם ה Agile ניסו לוותר כל עיקר המסמכים, אך לא מצאו חלופה טובה דיה. והיעדר התיעוד נותן את אותותיו. Lal מציע פתרון ייחודי שלו KDD- Knowledge Driven Development, שמשמעה דיגיטציה של כל עולם הידע שמקובל לכלול בתיעוד כיום. במקום לכתוב מסמכים- תיעוד דיגיטלי של חוקים, שדות, קשרים וסוגי פעולות.
למרות שעיקר הספר דן בעולם פיתוח התוכנה, Lal מציע כיצד ניתן להכליל את התפיסה לעוד מרכיבים של ניהול פרויקטים, ובכלל לתפיסות ופעילויות ניהול ידע.

מפת הספר:

מה דעתי על התפיסה? הרעיון יפה, אך יש לשים לב ליישום, שכן:

  1. אנשים דרושים לסיפור כדי שיוכלו להבין.
  2. יש חשש גם לטעויות וגם לקיצורי דרך שכן היקף הצמתים והקשרים שיש לבחון אם רלוונטיים ולהתייחס אליהן מרובות; המשתמש הטיפוסי לא תמיד יעמוד על דיוק כל סעיף, ויכול גם לוותר בטעות על סעיפים חשובים.

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

נקודת המוצא- מתודולוגיות קיימות

רוב עולם התוכנה בארגונים מתבסס על ניהול ידע בפרויקטים המבוסס על אחת משתי המתודולוגיות של Waterfall או Agile.

לשתיהן יתרונות:


Waterfall

  • הבניה של תהליך ניתוח הצרכים
  • גמישות בפעילות גם כאשר בעלי תפקידים נעדרים
  • אפשרות הפעלת עובדים כאשר לא כולם מנוסים באותה מידה (כי הצוותים קטנים)

Agile

  • שילוב בעלי ענין בשלב מוקדם בפרויקט
  • קיצור זמנים
  • חיסכון במסמכים
  • אפקטיביות של בדיקות ריגרסיה
  • איכות ושלמות סיפורי משתמש ותרחישי בדיקה

ועם זאת, שניהם מלאי חסרונות בכל הקשור בניהול הידע הקשור בפרויקטים:

  • תקשורת לא טובה דיה בין כל השותפים
  • ניהול הידע פרימיטיבי (דרך המסמכים)
  • המסמכים הקיימים: או שחסרים או שישנם אך כמעט לעולם לא עדכניים: אין גרסה יחידה לאמת
  • אין מנגנונים טובים דיים למעקב ווידוא התקדמות
  • הבדיקות אינן מנוהלות באופן אינטגרטיבי יעיל
  • ניהול התצורה מתבסס על המסמכים שאינם מדויקים

ובקיצור: אין הבטחה לשלמות ועקביות הידע; קשה לעשות שימוש חוזר בידע בתוך ובין פרויקטים.

 

Lal בוחן גם מתודולוגיות מקובלות אחרות (לכל שלבי ניהול הפרויקט, הפיתוח, הבדיקות, ניהול הסיכונים ובכלל), ונשאר עם הקביעה שלכולן יש קשיים בניהול הידע המהווה בסיס להגדרת הדרישות ויישומן בתוכנה.

חזרה

KDD: התפיסה

תפיסת ה KDD- Knowledge Driven Development :

  1.  שמה את הידע במרכז, והוא מניע את כל שלבי הפרויקט- מה עושים בכל שלב.
  2.  הידע עצמו הופך להיות דיגיטלי: הוא מפורמל באפון מלא שאחיד לכל הפרויקטים.
  3. הידע מנוהל ב database מרכזי.
  4. בהגדרת הדרישות ובאפיון ממלאים את פרטי ה database המתאימים ואלו מגדירים את תכולת הפעילות.
  5. פיתוח התוכנה מבוצע על פי הגדרות ה database של הפרויקט.
  6. סקרים מבוצעים על בסיס תכני ה database ואל מולו.
  7. הגדרת בדיקות וביצוע הבדיקות- גם הן מתבצעות אל מול ההגדרות. הגדרת הבדיקות מול database מאפשרת לוודא שלמות הבדיקות.
  8.  שינויים בדרישות, משמעם- שינוי הגדרות ב database. קל לגזור מכאן, מהן הפעילויות ומה הבדיקות החוזרות שיש לבצע.
  9. הידע (תיעוד) נשאר עדכני לכל אורך חיי הפרויקט.

 

חזרה

PKM: מודל מיישם

PKM- Project Knowledge Model הוא מודל מיישם לתפיסת ה KDD המדוברת:

 

ישנו ידע בארבע רמות:

  1. ידע אבסטרקטי- חוקים ותרחישים. מייצג אמת אוניברסלית והכרזה על עובדות.
    דוגמה: מחויבות מנהלים היא מרכיב משמעותי להצלחת יישום שינויים.
  2.  ידע תחומי- מוצרים ותהליכים. מייצג אמת של תחום דעת כלשהו- ביטוח, תעשיה וכו'.
    דוגמה: סחלבים אינם מצמיחים עלים חדשים בתקופה שהם מלבלבים (פרחים).
  3. ידע ארגוני- שימוש בידע ואפשורו. מייצג את דרך יישום הידע בארגון מסוים.
    דוגמה: תכנית מבצע טלפון סלולארי לסטודנטים.
  4. ידע פרויקטלי- דרישות ובדיקות. אופן יישום הידע הארגוני לייצור יתרון תחרותי.
    דוגמה: הדרך בה יוגרל מספר אקראי יתבסס על אלגוריתם linear congruential generator.

ישנם שמונה אבני בניין לידע המשמש אותנו בפרויקטים:

  1.  חוק עסקי
  2. תרחיש
  3. מוצר
  4.  תהליך
  5.  שימוש (תקשור, דוחות, מסכים והודעות)
  6. מאפשר (ממשקים, נתונים, לוגיקה)
  7.  דרישת לקוח
  8. מקרה בוחן (לבדיקה)

שמונת אבני הבניין הללו הנכונים לכל פעילות מפורקים ל 18 אבני בניין מפורטים המותאמים לעולם התוכנה.

 

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

חזרה

יתרונות התפיסה ומימושה

Lal פורס בפנינו את יתרונות התפיסה ומימושה. עיקרי היתרונות כפי שמציג:

  1. מקטין תקורה בתקשורת
  2.  יוצר דיגיטציה לתהליך תכנון הבדיקות
  3. יוצר מתווה לניהול איכות הפרויקט ותוצריו
  4.  מחליף את מסמכי הפרויקט המסורתיים
  5.  עושה סדר בניהול הפרויקט
  6.  מכמת את תהליך ניהול הפרויקט
  7. מאפשר שילוב מיטבי של פעילויות טוריות ומקביליות
  8.  תומך את ההתפתחות הטבעית של הידע
  9. מפשט את המתח בין שלבי הדרישות והעיצוב
  10. מגדיל שימוש חוזר בידע בתוך שלבי הפרויקט
  11.  מגדיל שימוש בידע פרויקטי העבר בכל פרויקט חדש
  12.  בלתי תלוי בתחום הדעת ספציפי
  13. מעצים בניית צוות
  14. ממקד בצרכים הלא פונקציונאליים
  15.  מאפשר הכנסת טכניקות כמותיות בניהול הפרויקט
  16. יוצר סביבה חיובית למומחים
  17. העקיבות המתקבלת מאפשרת ניתוח השפעות שינויים
  18. מנהל הן את הצדדים הטכניים והן את העסקיים באופן אופטימלי
  19. מפריד בין הדאגה לכל מרכיב- לאחראי
  20. יוצר ניהול דרישות אפקטיבי
  21. מסייע לתכנון ועיצוב הבדיקות כולל.

חזרה

הרחבה להקשרים נוספים

מודל ה PKM המממש את תפיסת הדיגיטציה של הידע לפרויקטי תוכנה, יכול להתאים לשימוש לצרכים ארגוניים נוספים:

  1. ניתן להרחיבו כך שיכסה את מירב מרכיבי ניהול וביצוע פרויקט התוכנה.
  2. ניתן להתאימו וליישמו על פעילויות פרויקטליות אחרות שאינן קשורות בתוכנה ע"י בחינה מחודשת של 8 אבני הבניין לעיל ופירוקם לתת סעיפים כמו שבעולם התוכנה פורקו ל 18 אבני בניין.

בפרט, ניתן ליישם את ה PKM לטובת ניהול כולל של הנושאים להלן:

  • סיכונים
  • איכות
  • משימות
  • תצורה
  • פיתוח
  • בדיקות
  • מדדים KPI’s
  • שירות

וכן... לכל פרויקט ניהול ידע באשר הוא, פרויקטי דיגיטציה, שיתופיות, Agile, AI ו- Machine Learning.

 

הוא מפרט כיצד ה KDD תואם את כל הסטנדרטים המוכרים לניהול פרויקטים, החל ב CMMI דרך Six Sigma ועד PRINCE2.

 

Lal מביא הסתייגות אחת לגביה התפיסה והמודל המוצעים פחות מתאימים: מו"פ.
הוא אינו מסביר הסתייגות זו, ויתכן שהיא נובעת מהצורך בחשיבה מחוץ לקופסה ופחות ניהול ידע סדור.

חזרה

לסיכום, בספר מוצגת תפיסה חדשה לדיגיטציה של הידע. למימוש, נכון לשלב כלים טכנולוגיים תומכים ולנהל שינוי תרבותי.
בהחלט תפיסה מעניינת ומעוררת חשיבה.