אבטחת איכות: אבולוציה וברירה טבעית
הצורך בשילוב מרכיב האיכות בכל שלב של ה-SLDC הוביל לאבולוציה של "זן חדש" של מהנדסי QAOps, שעובדים בצמוד לצוות הפיתוח והתפעול ומסייעים בהערכת סיכוני איכות, בפיתוח שלבי הבדיקות ובשמירה על איכות המוצר
לפני 15 שנים היה מחזור החיים של פיתוח מוצר בחברות התוכנה לרוב ארוך, כואב ומבוסס לרוב על מתודולוגיית ״מפל המים״ או Waterfall. הוא כלל את השלבים: 1. עיצוב ותכנון; 2. פיתוח; 3. בדיקות ותיקון באגים; ו-4. התקנה אצל הלקוח. השלבים הללו היו ארוכים, תלויים זה בזה, ולרוב נוהלו בצורה ידנית, דבר שדרש משאבים רבים וזמן. התוצאה – פגיעה בזמן ההגעה של המוצר לשוק (Time To Narket – TTM) ובאיכות המוצר. במיוחד כשהיה מדובר במערכות מורכבות.
בנוסף להגבלות האלה, ההתפתחות הטכנולוגית, הכוללת גישה רציפה לאפליקציות בכל זמן ומכל מקום באמצעות האינטרנט, תשתיות הענן, טכנולוגיות וירטואלית, מערכת ביג דטה ותשתיות IoT – כל אלה הוסיפו מורכבויות רבות למחזור החיים של פיתוח מערכות (SDLC).
כתוצאה מכך, תהליך הפריסה ושלב הבדיקות הפכו למורכבים, ארוכים ותובעניים במיוחד. דבר זה גרם לכך, שבמקרים מסוימים לא היה ניתן לבצע את תהליך הבדיקות והגעה לשלב הפריסה במסגרת זמן סבירה, שתאפשר לספק וללקוח להוסיף חידושים ותיקוני תוכנה מעבר לפעמים בודדות בשנה, בדרך כלל לא יותר מפעם בחציון או ברבעון.
מוצא המינים
התעשייה והטכנולוגיה החלו להגיב לאילוצים הללו ודחפו למציאת פתרונות על מנת לזרז את התהליך ולקצר את זמן ההגעה של המוצר לשוק, שבסופו של דבר ״הולידו״ שיטות פיתוח אג'יליות (Agile), אוטומציה של הבדיקות ואת מהנדסי ה-DevOps. אוטומציה של בדיקות איכות היא פיתוח תוכנה נפרדת מהתוכנה/המערכת הנבדקת (SUT) על מנת לשלוט בביצוע הבדיקות במהירות גבוהה וביעילות מקסימלית והשוואת התוצאות בפועל לתוצאות הצפויות. DevOps הוא אוסף של שיטות וכלים, שמטרתם לקצר את מחזור החיים של פיתוח המערכות (SDLC) ולספק אינטגרציה מתמשכת ומסירה רציפה (CI/CD) על ידי שילוב פיתוח תוכנה עם תפעול IT.
יכולות אלה הביאו איתן יתרונות עצומים: מחזור בדיקות מהיר יותר, אופרציה 24/7, צמצום עד למינימום של טעויות אנוש, צמצום רגישות למשאבים קיימים, דבר שתורם בתורו לקיצור זמנים, ל-ROI גבוה, ובטווח הארוך צמצום בעלויות הכוללת (TCO). בנוסף, הן תרמו מאוד למחקר ופיתוח, שיפרו תהליכים מורכבים וגרמו לשיפור איכות ולהקטנת הוצאות. אבל משהו עדיין היה חסר…
החולייה החסרה
למרות ששתי הדיסציפלינות עוסקות באיכות ה-SLDC והמוצר הסופי, לכל אחת מהן יש מיקוד ופילוסופיה שונה בניסיון לפתור את חידת האיכות. עם זאת, התעשייה הבינה שיש צורך בחישוב מסלול מחודש בהקשר לניהול האיכות ולצורך בפיתוח פילוסופיה אחידה, הקשורה לדרך שבה משלבים איכות בכל שלב ושלב של ה-SLDC.
אבולוציה
החשיבה החדשה הזו הובילה לאבולוציה של ״זן חדש״ של מהנדסים, שהתפתחו מתחום הבדיקות האוטומטיות וה-DevOps – מהנדסים בעלי עין חדה לאיכות, בעלי הכישורים והידע הנדרש על מנת לשלב בדיקות ואיכות בכל שלב ושלב של תהליך ה-CI/CD של המוצר. אנו קוראים למהנדסים אלה QAOps. מהנדסים אלה יעבדו בצמוד לצוות הפיתוח ותפעול התוכנה ויסייעו בהערכת סיכוני איכות, פיתוח שלבי הבדיקות ושמירה על איכות קו המוצר. מדובר בתפיסה חדשה יחסית, אולם מספר חברות כבר החלו לאמץ אותה ולהכשיר מהנדסים מיומנים לחקור וללמוד כיצד ניתן לבנות מערך כזה.
אני מאמין שהזן החדש הזה נמצא בשלבי ההתפתחות, וייקח עוד זמן עד שיגיע לצורתו הסופית. וכמו כל זן חדש, הוא יביא איתו כלים ותהליכים חדשים, שיסייעו למנהלי ארגון הפיתוח לנהל את עבודת הארגון ברמת איכות גבוהה ויעילה יותר.
חברות נוטות לפעמים להתנהל באיטיות בנוגע לאימוץ מתודולוגיות חדשות, אבל אני משוכנע שאנחנו עומדים לראות עוד ועוד ארגונים ישראליים פונים לכיוון הזה בשנתיים-שלוש הקרובות, ושה-QAOps יהפוך למושג מוכר בארגוני הפיתוח וההטמעה.
הכותב הוא סמנכ"ל בגליל סופטוור.
מאמר מעולה. אומנם רק מבוא אבל טוב להכיר.