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