מתודולוגיות לפיתוח תוכנה זריז

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

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

תכנות אקסטרים (XP)

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

תהליך

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

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

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

מושגי ליבה

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

סקרום

בדומה ל- XP, Scrum הוא עוד שימוש נרחב מתודולוגיית פיתוח תוכנה זריזה. על פי ויקיפדיה, מדובר ב"מתודולוגיה של פיתוח תוכנה זריז ואינרימנטלי לניהול פיתוח מוצרים ". שלא כמו XP, מתודולוגיית Scrum כוללת תהליכים ניהוליים והתפתחותיים כאחד.

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

תהליך

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

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

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

מושגי ליבה

המרכיבים המרכזיים בתהליך זה הם צבר המוצרים, צפיפות ספרינטים וצריבת תרשימים.

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

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

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

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *