על תפקידו של הארכיטקט: מדוע בניית ארכיטקטורה לפי דרישות (Features) היא טעות.

17 בנובמבר 2014

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

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

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

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

מי שמעוניין ללמוד איך להיות ארכיטקט שלא עושה טעויות של מתחילים, מהמומחה מספר אחד בעולם בתחום, נותרו מקומות ספורים לסדנת ה Architect's Master Class ב 21/12 השנה. פרטים נוספים בקישור הבא.

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

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

תגובה אחת

  1. Pingback: על תפקידו של הארכיטקט כשמרטף ועל סכמות של ארכיטקטורה | GadiM - Gad J. Meir www.idag.co.il