מתודולוגית פיתוח מערכת – ML/SPD

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

אל מול מודל זה התפתחה מתודולוגיות עבודה המוגדרות כמודלי האינטרנט (כגון Rapid Development ו- Agile). מודל האינטרנט, אשר בא לאפשר פיתוח בסביבה משתנה ודינאמית, הגדיר בעיקר את חוסר המתודולוגיה. יחד עם זאת, חברות רבות בארץ ובעולם אשר פיתחו אפליקציות אינטרנטיות עבדו בשיטת “On the Fly” – בדרך כלל ללא אפיון מפורט אלא אפיון דרישות בלבד. התוצאה הנובעת ממתודולוגיה זו הייתה מערכות אשר אינן עומדות בעומסים ואשר אינן מסוגלות לתת מענה אמין ויציב בתחומים בהן תפקודן הרציף ללא תקלות נחשב לקריטי.

חברת ריל קומרס פועלת במתודולוגיית ניהול פרוייקט על פיה, לאחר ביצוע שלבי הניתוח העסקי, הגדרת היעדים, בחירת הטכנולוגיה והאפיון הפונקציונלי (Functional Requirement), מתחיל שלב המימוש ופיתוח הפרוייקט המנוהל במתודולוגיה המשלבת בין גישות ויתרונות יחסיים של עולם ה- IT המסורתי ועולם הפיתוח האינטרנטי.

מתודולוגית הפיתוח (ML/SPD: Multiple Layer – Short Phase Development) באה לספק מענה למהירות השינויים המתרחשים בסביבת האינטרנט ובד בבד לספק את האמינות והיציבות של מערכות השרת-לקוח הגדולות. ML/SPD מגדירה עבודה בפאזות פיתוח קצרות אשר בתוכן מפותחים רכיבי תכנה הפועלים כל אחד ביחד ולחוד. רכיבים אלה מפותחים בנפרד ויכולים להיבדק כיחידה עצמאית. אוסף הרכיבים המרכיבים את הפאזה מהווים בעצם עוד שכבה עובדת במערכת. לדוגמה: במערכת תכנים,
פאזה מס 1 יכולה להיות:

1. מאגר התכנים והתממשקות למערכות Legacy

2. סביבת ניהול התכנים (Work Flow)

3. מכניזם לאחזור וחיפושים

4. מערכת הרשאות

כל אחד מארבעת הרכיבים הנ”ל הינו תת-מערכת אשר יכולה להיות מפותחת בנפרד ולהיבדק בנפרד. ביחד מרכיבות תת המערכות הנ”ל את הפאזה כולה אשר בסופה עוברת בדיקות מערכת (System Test).

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

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