פיתוח יישומים מהיר
מתודולוגיית פיתוח תוכנה זו פותחה על ידי ג 'יימס מרטין, מתכנת IBM, כתשובה לדגמים מסורבלים ואיטיים כמו שיטת מפל המים. הבעיה במודלים אלו היא שלוקח כל כך הרבה זמן כדי לספק מוצר סופי עובד שהדרישות משתנות לעיתים קרובות על הדרך ושינויים אלה גורמים לתוכנית המוגמרת להיות חסרת תועלת.
בעיה נוספת, לא ניתן להגדיר את כל הדרישות לפני תחילת העבודה, גם אם מי שמועסק בפרויקט שלך הם אנשי מקצוע ברמה הגבוהה ביותר. הרעיון המרכזי של המתודולוגיה אומר שרוב תשומת הלב צריכה להינתן ליצירת תהליך טכנולוגי נכון בכדי ליצור תוכנה איכותית במהירות וביעילות.
הנה מספר עקרונות היסוד של השיטה:
- כל המאמצים והמשאבים מתמקדים בצמצום תקופת הפיתוח.
- בניית אב טיפוס על מנת לאמת דרישות מול הלקוח.
- מחזור הפיתוח מבוסס על דרישות הלקוח.
- שימוש חוזר במודלים מוכנים מפרויקטים קודמים בפרויקטים חדשים.
- עובדי פרויקט משתפים פעולה ומוכנים לעשות מספר משימות בתחומים שוני.
- ניהול פרויקטים - חיוני לצמצום מחזור הפיתוח.
בוא ניראה איפה RAD טוב יותר מגישות אחרות:
Agile Software Development: מונע פונקציונליות יתר כתוצאה מהעלאות קטנות בפרקי זמן קצרים עד שהתוכנה מוכנה. על אף שישנה סכנה כי אם לא נחלק את הפונקציונליות שווה בשווה בין העדכונים יתקבל מצב שבו אין אפשרות לשחרר במהירות זהה. בעיה אחרת כרוכה בכך שהפיתוח הזריז מייצר מעט תיעוד בזמן התהליך, מה שגורר הרבה עבודה אחרי סיום הפרוייקט.
Extreme Programming - XP: מחזורי דרישה תכופים במטרה להקטין את עלות השינויים. עיצוב מוגדר ומעודן במהלך התקדמות הפרויקט למרות שזה יכול להוביל למצב שבו התיעוד לא נשמר כראוי וזה גורר בעיות וחוסר מידע בעתיד. דבר נוסף שצריך לשים עליו לב הוא שב- XP מתכנתים עובדים בזוגות מה שיכול להיות קשה עבור חלק מהם.
Scrum: מחלק את הפרויקט כולו למשימות פשוטות וקטנות שמבוצעות על ידי אנשי הצוות. חלוקה זו מאפשרת מדידת התקדמות על בסיס יומי ותיקון הדרישות בתדירות גבוהה. חשוב לציין שהעבודה אינה ממוקדת מפני שכולם עושים חלקים שונים של הפרויקט ולכן יכול להיווצר קושי בחיבור הפרויקט יחדיו.