יום שבת, 16 באוגוסט 2014

"למה הבדיקות לא מצאו את הבאג הזה בזמן?"

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

"למה הבדיקות לא מצאו את הבאג הזה בזמן?"

בדרך כלל בטון מאשים, כועס, מאוכזב וצדקני.

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

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

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


וכשמגיעים לחלק של הפקת הלקחים, גם לא שואלים "למה הבדיקות לא מצאו את הבאג הזה בזמן?", אלא את השאלות הבאות:

  • איך אפשר לוודא שהדבר ייצויין בפירוש בדרישות של המוצר?

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


  • איך אפשר לוודא שהדבר ייצויין בפירוש בדיזיין של הפיתוח?

    - רלוונטי למשל אם לא היה פירוט מלא של תהליך מסויים ולכן זה לא נבדק.


  • איך אפשר לוודא שההתנהגות תבדק בפיתוח לפני המסירה לבדיקות?


  • האם כדאי וניתן בתהליך הפיתוח והבדיקות ליצור בדיקה משלימה שהיתה עשויה למצוא את הבעייה?


  • ו-כן, איך אפשר לוודא שבאג קריטי יתגלה מוקדם על-ידי הבדיקות?

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

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



יש לציין שבגישת ה"עליהום" יש חסרונות רבים:

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

אין תגובות:

פרסום תגובה

רשומות פופולריות