ההבדל בין מתודולוגיית פיתוח תוכנה Agile ו מסורתית

Anonim

Agile לעומת מסורתית פיתוח תוכנה מתודולוגיה

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

-> ->

מהי שיטת פיתוח תוכנה מסורתית?

מתודולוגיות תוכנה כמו שיטת Waterfall, V-Model ו- RUP נקראות מתודולוגיות פיתוח תוכנה מסורתיות. המתודולוגיה מפל הוא אחד הדגמים הראשונים בפיתוח תוכנה. כפי שהשם מרמז, זהו תהליך רציף שבו התקדמות זורמת דרך שלבים שונים (ניתוח דרישה, עיצוב, פיתוח, בדיקה ויישום) מלמעלה למטה, מקביל למפל. V- מודל נחשב הרחבה של מודל פיתוח תוכנה מפל. מודל V משתמש באותן מערכות יחסים בין השלבים המוגדרים במודל Waterfall. אבל במקום לרדת ליניארית (כמו מודל Waterfall), דגם V יורדת באלכסון ולאחר מכן נע לאחור (לאחר שלב הקידוד), יצירת צורת האות V. RUP (Rational Unified Process) היא מסגרת תהליך הניתנת להתאמה (לא תהליך קונקרטי אחד), אשר ניתן להתאים אישית על ידי ארגון הפיתוח על פי הצרכים שלהם. מעט דומה למפל, יש לה שלבים קבועים בתור התחלה, הרחבה, בנייה ומעבר. אבל בניגוד למפל, RUP הוא תהליך איטרטיבי.

-> ->

מהו Agile?

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

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

מה ההבדל בין מתודולוגיית פיתוח תוכנה מסורתית זריז?

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