Agile vs V Methodologies (מודל)
ישנן מספר מתודולוגיות שונות לפיתוח תוכנה המשמשות כיום בתעשיית התוכנה. V מתודולוגיות (V-Model) היא הרחבה לשיטת הפיתוח של Waterfall (שהיא אחת השיטות המוקדמות ביותר). המוקד העיקרי של V-Model הוא מתן משקל שווה לקידוד ובדיקה. מודל זריז הוא מודל פיתוח תוכנה עדכני יותר שהוצג כדי לטפל בחסרונות שנמצאו במודלים קיימים. המוקד העיקרי של Agile הוא שילוב בדיקות מוקדם ככל האפשר ושחרור גרסה עובדת של המוצר מוקדם מאוד על ידי פירוק המערכת לחלקי משנה קטנים מאוד וניתנים לניהול.
מה זה מתודולוגיות V (דגם)?
V מתודולוגיות (V-Model) הוא מודל לפיתוח תוכנה. זה נחשב כהרחבה של מודל פיתוח התוכנה הטיפוסי של Waterfall. V-Model משתמש באותם קשרים בין השלבים המוגדרים במודל Waterfall. אבל במקום לרדת ליניארית (כמו מודל Waterfall) V-Model יורד באלכסון ואז זז בחזרה למעלה (אחרי שלב הקידוד), ויוצר את הצורה של האות V. צורת V זו נוצרת כדי להראות את הקשר בין כל שלב של הפיתוח/עיצוב ושלב הבדיקה המתאים. זמן ורמת ההפשטה מיוצגים על ידי ציר אופקי ואנכי, בהתאמה.
הבדיקה (הנתיב העולה, הצד הימני של ה-V) נעשית לצורך אימות, בעוד שלבי התכנון המתאימים (הנתיב היורד, הצד השמאלי של ה-V) משמשים לאימות. ב-V-Model ניתן משקל שווה לקידוד ולבדיקה. V-Model ממליצה ליצור מסמך בדיקה לצד מסמכי העיצוב/קוד.לדוגמה, יש לכתוב מסמכי בדיקת אינטגרציה כאשר התכנון ברמה גבוהה מתועד ולתעד בדיקות יחידה בזמן ביצוע תוכנית התכנון המפורטת. המשמעות היא שיש ליצור תוכנית יישום לכל בדיקה מראש, ולא להמתין עד להשלמת הפיתוח כדי שניתן יהיה להעביר אותה לצוות הבדיקה.
מה זה Agile?
Agile היא מתודולוגיית פיתוח תוכנה עדכנית ביותר המבוססת על המניפסט הזריז. זה פותח כדי לפתור כמה חסרונות במתודולוגיות הפיתוח המסורתיות של V-Model ו-Waterfall. שיטות זריזות מבוססות על מתן עדיפות גבוהה לשיתוף הלקוח בתחילת מחזור הפיתוח. היא ממליצה לשלב בדיקות על ידי הלקוח מוקדם ולעתים קרובות ככל האפשר. הבדיקה נעשית בכל נקודה שבה הופכת גרסה יציבה לזמינה. הבסיס של Agile מבוסס על התחלת בדיקות מתחילת הפרויקט והמשך לאורך כל הפרויקט עד סוף הפרויקט.ערכי המפתח של Agile הם "איכות היא באחריות הצוות", מה שמדגיש כי איכות התוכנה היא באחריות כל הצוות (לא רק צוות הבדיקות). היבט חשוב נוסף של Agile הוא פירוק התוכנה לחלקים קטנים יותר הניתנים לניהול והעברתם ללקוח במהירות רבה. אספקת מוצר עובד היא בעלת חשיבות עליונה. לאחר מכן הצוות ממשיך לשפר את התוכנה ולספק באופן רציף בכל שלב מרכזי. זה מושג על ידי קיום מחזורי שחרור קצרים מאוד הנקראים ספרינטים וקבלת משוב לשיפור בסוף כל מחזור. תורמים ללא אינטראקציות רבות של הצוות, כגון מפתחים ובודקים בשיטות הקודמות, עובדים כעת יחד בתוך המודל Agile.
מה ההבדל בין מתודולוגיות Agile ו-V (דגם)?
דגם Agile מספק גרסה פעילה של המוצר מוקדם מאוד בהשוואה ל-V-Model. ככל שיותר תכונות מסופקות בהדרגה, הלקוח יכול לממש כמה מהיתרונות בשלב מוקדם.זמן מחזור הבדיקה של Agile קצר יחסית ל-V-Model, מכיוון שהבדיקה נעשית במקביל לפיתוח. Agile הוא דגם פרואקטיבי (בשל המחזורים הקצרים מאוד שלו) בהשוואה ל-V-Model הרבה יותר תגובתי. V-Model מאוד קשיח ויחסית פחות גמיש מדגם Agile. בגלל כל היתרונות הללו, אג'יל מועדף על פני דגם ה-V כרגע.