בינה מלאכותית לניתוח באגים: לא רק למצוא את התקלה, אלא להבין מדוע היא קרתה
במשך שנים נהגנו למדוד את עבודת הבדיקות לפי מספר התקלות שנמצאו. ככל שהבודקים גילו יותר באגים לפני העלייה לייצור, כך הרגשנו שתהליך הבדיקות הצליח.
לדעתי, המדד הזה כבר אינו מספיק.
האתגר המרכזי בארגונים כיום אינו רק למצוא תקלות. האתגר הוא להבין אותן במהירות, לזהות את הסיבה האמיתית להופעתן ולמנוע מהן לחזור בעתיד.
כאן הבינה המלאכותית יכולה לשנות את הדרך שבה אנחנו חוקרים ומנהלים באגים.
הסיפור המוכר של כל תקלה
דמיינו תקלה שמתגלה במערכת לאחר שינוי גרסה.
הבודק פותח דיווח ומצרף תיאור של הפעולות שביצע. המפתח מנסה לשחזר את הבעיה, אך אצלו הכול עובד כראוי. לאחר מכן מתחיל תהליך ארוך של שאלות: באיזו סביבה הופיעה התקלה? באיזו גרסה? אילו נתונים היו במערכת? האם בוצע שינוי נוסף לפני הכשל?
הבאג עובר בין אנשי הפיתוח, הבדיקות והתשתיות. כל אחד מוסיף מידע נוסף, בודק מערכת אחרת ומעלה השערה חדשה.
בשלב מסוים, לאחר שעות ולעיתים ימים, מתברר שהתקלה נגרמה משילוב בין שינוי קטן בקוד, נתון חריג בבסיס הנתונים ותנאי מסוים בסביבת הייצור.
הבעיה נפתרת, הבאג נסגר וכולם ממשיכים הלאה.
אבל האם הארגון באמת למד משהו?
במקרים רבים, התשובה היא לא.
מה הבינה המלאכותית יכולה לעשות אחרת?
מערכת המבוססת על בינה מלאכותית יכולה לאסוף ולנתח מידע ממקורות רבים בו־זמנית: תיאור הבאג, תוצאות בדיקות, הודעות שגיאה, יומני מערכת, שינויים בקוד, תקלות קודמות ותיעוד טכני.
במקום שאנשי הצוות יעברו ידנית בין מערכות שונות, המערכת יכולה לרכז את המידע ולהציג קשרים אפשריים בין האירועים.
לדוגמה, היא יכולה לזהות שהתקלה החלה לאחר שינוי ברכיב מסוים, שבאג דומה כבר הופיע בעבר ושבשני המקרים קיימת אותה הודעת שגיאה. היא יכולה גם להציע מהי הסיבה הסבירה לתקלה, אילו רכיבים נוספים עלולים להיות מושפעים ואילו בדיקות כדאי לבצע.
הבינה המלאכותית אינה בהכרח מספקת תשובה סופית. היא כן יכולה לקצר משמעותית את הדרך אל התשובה.
מבחינתי, זהו ההבדל בין חיפוש עיוור לבין חקירה המבוססת על מידע.
באג בודד יכול להצביע על בעיה רחבה
אחת הטעויות הנפוצות בארגונים היא להתייחס לכל באג כאירוע נפרד.
כאשר נמצאת תקלה, מתקנים אותה וסוגרים את הדיווח. אך לעיתים הבאג הוא רק סימן לבעיה עמוקה יותר.
ייתכן שהדרישות לא היו ברורות. ייתכן שהרכיב מורכב מדי. ייתכן שאין מספיק בדיקות אוטומטיות, או שהצוות אינו מקבל מידע מספק על תקלות שהתרחשו בעבר.
כאשר מנתחים מספר גדול של באגים לאורך זמן, אפשר לזהות דפוסים. אפשר לראות באילו רכיבים מופיעות יותר תקלות, אילו סוגי שינויים גורמים לכשלים ואילו בעיות חוזרות שוב ושוב.
לאדם קשה לעבור על אלפי דיווחים ולזהות את הקשרים ביניהם. לבינה מלאכותית יש יכולת טובה יותר לעבד כמויות גדולות של מידע ולהצביע על תופעות חוזרות.
במקום לשאול רק כיצד לתקן את התקלה הנוכחית, הארגון יכול להתחיל לשאול מדוע סוג התקלות הזה ממשיך להופיע.
המטרה אינה להחליף את אנשי המקצוע
אני לא חושב שהבינה המלאכותית צריכה להחליף את הבודקים או את המפתחים.
מערכת יכולה לנתח מידע ולהציע הסברים, אבל היא אינה מכירה תמיד את ההקשר העסקי, את ההחלטות שהתקבלו בפרויקט ואת המשמעות האמיתית של התקלה עבור המשתמשים.
איש מקצוע מנוסה עדיין נדרש כדי לבחון את ההמלצות, לשאול שאלות נוספות ולהחליט מה לעשות.
הערך של הבינה המלאכותית הוא בהפחתת העבודה הידנית. היא מאפשרת לאנשי הצוות להשקיע פחות זמן באיסוף מידע ויותר זמן בחשיבה, בחקירה ובמניעת תקלות עתידיות.
טיפ: לא מתחילים מהכלי, אלא מהבעיה!
חשוב לזכור שלא כל מערכת שמציגה את המילים “בינה מלאכותית” באמת תשפר את תהליך האיכות.
לפני שמטמיעים פתרון כזה, צריך להבין מה רוצים להשיג.
האם המטרה היא לקצר את זמן חקירת התקלה? לזהות באגים כפולים? לשפר את איכות דיווחי הבאגים? למצוא קשרים בין שינויים בקוד לבין כשלים? או לזהות אזורים מסוכנים לפני השחרור הבא?
רק לאחר שמגדירים את הבעיה, אפשר לבחור את המידע הנדרש ואת הפתרון המתאים.
מידע חלקי, דיווחי באגים לא ברורים ותהליכים שאינם מסודרים לא יהפכו לפתע למוצלחים רק משום שהוספנו להם בינה מלאכותית.
מתיקון תקלות ללמידה ארגונית
לדעתי, התרומה החשובה ביותר של בינה מלאכותית לניתוח באגים אינה תיקון מהיר יותר של תקלה בודדת.
התרומה האמיתית היא היכולת להפוך את היסטוריית התקלות לידע ארגוני.
כל באג יכול ללמד אותנו משהו על המוצר, על הקוד ועל תהליך העבודה. כאשר המידע נשמר ומנותח נכון, כל תקלה יכולה לסייע למנוע את התקלה הבאה.
זהו גם אחד העקרונות המרכזיים בגישת הנדסת האיכות: לא להסתפק בבדיקת המוצר בסוף התהליך, אלא לבנות מערכת שלמה שמזהה סיכונים, לומדת מכשלים ומשפרת את איכות העבודה לאורך זמן.
ב QAC אנו מסייעים לארגונים לבחון כיצד ניתן לשלב בינה מלאכותית בתהליכי הבדיקות והאיכות בצורה מעשית. לא כדי להוסיף עוד כלי אופנתי, אלא כדי לקצר זמני חקירה, לשפר את קבלת ההחלטות ולהפוך מידע מפוזר לתובנות שניתן לפעול לפיהן.
בסופו של דבר, השאלה החשובה אינה כמה באגים הארגון מצא.
השאלה היא כמה הוא למד מהם.