עץ מערכת אג'ילי

עץ מערכת אג'ילי

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

מהו עץ המערכת האג'ילי

כללי

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

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

עקרונות עץ המערכת האג'ילי

 ·         עץ המערכת הוא "הסרגל הראשי" של הפרויקט, אשר מספק את המבט (View) העיקרי על המערכת – בפיתוח ובתחזוקה. עץ המערכת הוא בראייה של 'עץ המוצר'.

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

 ·         עץ המערכת נשאר קבוע לאורך מחזור חיי המערכת ומשמש לבקרה קדימה (Continuity) ואחורה (Traceability).

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

עץ המערכת האג'ילי הוא נדבך מרכזי של מתודולוגיית MethodAgile

 

מענה לאתגרים בעולם הפיתוח

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

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

מפת"ח האג'ילי מבוסס על מספר יכולות:

 

 ·         פיתוח מהיר ובסבבים בלי להתפשר על איכות ואמינות.

 ·         לא מוותרים על ייזום והתנעה מסודרים. אפיון-על – לפי החלטת הפרויקט.

 ·         התאמה של "עץ המערכת הקלאסי" לעקרונות פיתוח אג'יל – רידוד התיעוד ושימוש בטכניקת CBD – Component-Based Documentation.

 ·         גמישות בקביעת סוג מחזור חיים, ממנו נגזר אופן ורמת שילוב רכיבים אגי'ליים במחזור החיים.

 ·         יכולת שילוב והטמעה של כלי ניהול ממוחשבים – בדגש על מוצרים כגוןJira  ו- Confluence של חברת Atlassian.

 ·         התאמה של נושאים רוחביים משלימים לעולם האג'יל: ניתוח חלופות, ניהול סיכונים, ניהול הבדיקות, תיעוד, בקרה וכד'.

 

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

 

מבנה עץ המערכת האג'ילי

קווים מנחים

עץ המערכת האג'ילי שומר על ראשי הפרקים הראשיים של עץ המערכת האוניברסלי של מפת"ח.

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

עץ המערכת לא חייב להיכתב על-פי סדר הסעיפים ויכול להתמלא בשלבים ובאופן אסינכרוני ולפי נוחיות כל פרויקט.

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

עץ מערכת רמה שניה

הרמה השנייה של עץ המערכת מציגה את המסגרת התכנית הכוללת (System Outlining) של המערכת. לעתים קרובות יכולה רמה זו לשמש גם לעבודה מעשית ישירה, למשל, במערכות קטנות. להלן מבנה עץ המערכת ברמה שניה:

 

1. יעדים

1.1 מבוא

1.2 יעדים ומטרות

1.3 לקוחות , מומחה יישום וקהל יעד

1.4 סיכונים

 

2. יישום

2.1 תיאור המערכת ומשתמשיה

2.2 מילון מונחים

2.3 תרשים ישויות

2.4 דרישות פונקציונאליות / Epics

2.5 ממשקים וקישורים

2.6 רשימת דוחות

2.7 עקרונות חוויית משתמש UX

2.8 אבטחת מידע וסייבר

2.9 נפחים, עומסים, זמני תגובה וביצועים

2.10 דרישות מערכתיות ומיוחדות

 

3. טכנולוגיה ותשתית

3.1 ארכיטקטורה

3.2 טכנולוגיה בשרתים

3.3 טכנולוגיה במכשירי הקצה

3.4 <טכנולוגיות נוספות לפי הצורך>

 

4. מימוש

4.1 גורמים מעורבים

4.2 שלבי מימוש, שיטת פיתוח ותכנית עבודה

4.3 תכנון וביצוע בדיקות

 

5. עלות

5.1 עלות גרסה ראשונה

5.2 עלות 2-3 גרסאות נוספות

5.3 עלות תחזוקה שנתית וגרסאות בשנה

תקציר הפרקים בעץ המערכת

1. יעדים

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

2. יישום

תיאור כללי של התוצר בהקשר ליעדים והמטרות שהוגדרו. דרישות פונקציונאליותEpics,  User Stories, כולל ממשקים וקישוריות למערכות משיקות/ תלויות.

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

3. טכנולוגיה

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

4. מימוש

פיתוח בסבבים.

תיעוד ברור ומחייב של הגורמים המעורבים בביצוע המשימה, ברמת דרישות, ביצוע ובקרה.

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

5. עלות

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

נושאים עיקריים בהכנת מסמך על-פי עץ המערכת

 ·         גיבוש דרישות עסקיות, בדיקת היתכנות טכנולוגית וניתוח חלופות (במידת הצורך).

 ·         למרות הסדר ההגיוני של העץ מיעדים, דרך היישום, לטכנולוגיה וכו', אין חובה לבנות את המסמך באופן סדרתי. אפשר להתחיל מכל סעיף במסמך וללכת לכל כיוון.

 ·         אפיון דרישות אג'ילי הינו תהליך אבולוציוני ושיתופי שבו פועלים צוותי המפתחים ובעלי העניין בפרויקט בזמן אמת(JIT – Just In Time)  כדי להבין את התחום, לזהות מה צריך להיבנות, להעריך את הפונקציונליות, לתעדף את הפונקציונליות, ולהעריך עלות ולוח זמנים. אוסף הדרישות נבדק ומעודכן לאורך כל הפרויקט.

 ·         יכולת לבצע אפיון-על בלי לגלוש לפרטים שיתבררו טוב יותר בהמשך הפרויקט (במהלך סבבי הפיתוח) היא אמנות מרכזית בשיטת MethodAgile.

 ·         Architecture/High level Design – הגדרת ארכיטקטורת המוצר. הגדרה זו תעודכן עם ההתקדמות בפיתוח, הבנה מעמיקה יותר של הדרישות, וקבלת דרישות חדשות שלא היו ידועות מראש.

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

 ·         Release Planning – תכנון ואופטימיזציה של תכולות לגרסה - הקצאת כל דרישה למהדורה מתוכננת של המוצר, כדי לייצר Roadmap ראשוני הכולל תכולות, לוח זמנים לשחרור גרסאות (לפחות הגרסאות הראשונות), ומשאבי פיתוח נדרשים.

 ·         עדכון  תיעוד נלווה (בעיקר לקראת הספרינטים האחרונים).

מחזורי חיים אג'יליים ועץ המערכת

 

עץ המערכת האג'ילי תומך בכל סוגי מחזורי החיים המיושמים בארגון.

ניתן להתאים את עץ המערכת האג'ילי לכל סוגי הפרויקטים.

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

 

סדנת METHODAGILE 2.0

הטמעת עץ המערכת האג'ילי יכולה להתבצע באמצעות התאמת סדנת MethodAgile המאפשרת הבנת התמונה הכוללת של פיתוח אגי'ילי והכוללת את הנושאים הבאים:

 

 

 

 

 ·         הכרת עולם הפיתוח האג'ילי ומעבר על שלבי העבודה ושיטת העבודה.

 ·         הצגה והכרה של בעלי התפקידים השונים בפיתוח אג'ילי.

 ·         סוגי מחזורי חיים המשלבים פיתוח אג'ילי.

 ·         ביצוע תהליכי תחזוקה אג'ילית.

 ·         ניסוח וניהול דרישות אג'יליות.

 ·         שילוב נושאים משלימים רוחביים לאג'יל – תיעוד, בקרה, תכניות עבודה,בדיקות,  ועוד..

 ·         איך להתחיל לשלב שיטות אגי'ליות בתהליכי העבודה?

 ·         ניהול פיתוח אג'ילי באמצעות כלים ממוחשבים בדגש על כלי Atlassian.ש