≤¥
"מחקרים מצביעים על כך שמפתחי תוכנה
עייפים, העובדים שעות רבות ביום כנהוג
בעולם ההיי-טק, אינם מייצרים תוכנה
איכותית". זוהי אחת מטענותיה המרכזיות של
התפיסה האג'ילית לפיתוח תוכנה
(. תפיסה זו,
agile software development
)
המגבה את הטענה האמורה במחקרים
מבוססים, מציגה גישה אלטרנטיבית לתהליכי
פיתוח תוכנה. מטרתה של גישה זו הינה
להבטיח את איכותם של מוצרי התוכנה -
כלומר לספק תוכנות נטולות באגים
המותאמות לדרישות הלקוח - ולייעל את
תהליכי הפיתוח.
פרופסור אורית חזן מהמחלקה להוראת
הטכנולוגיה והמדעים, ממקדמי התפיסה
האג'ילית בישראל, מסבירה כי "ההיבטים
הטכניים הקשורים בפיתוח תוכנה זכו במהלך
השנים לטיפול מקיף ומעמיק; אולם בעשור
האחרון מתברר שכשלי תוכנה רבים אינם
נובעים מאוזלת יד טכנית, אלא דווקא מהזנחתו
של ההיבט האנושי. זו אחת התובנות העומדות
בבסיס התפיסה האג'ילית."
¢ÂÚ†‚‡·‰
תקלות תוכנה )באגים( גובות כיום הון עתק:
עלות תיקונן בארה"ב בלבד נאמד כיום בכ-06
מיליארד דולר בשנה. לכן אין עוררין על חשיבות
מניעתן של אותן תקלות.
"תוכנה - בניגוד לשולחן, חלון, גשר או בניין -
היא מוצר מופשט. לא משהו שניתן להתרשם
ממנו באמצעות חושינו הרגילים. עובדה זו
מובילה לעיתים ל'עיגול פינות', לקיצור
תהליכים ולדילוג על שלבים בבדיקת התוכנה.
כך גורמות תכונות אנושיות - ולא מגבלות
טכניות - כשלי תוכנה, הפוגעים בלקוחות, ואז,
כבומרנג, גם בחברות הפיתוח עצמן."
"למה שאנחנו מכנים 'ההיבט האנושי' יש שני
ממדים מרכזיים: קוגניטיבי וחברתי. אם נשכיל
להבין את חשיבותם של ממדים אלה, נוכל
לשפר הן את איכות עבודתם של מהנדסי
ומהנדסות התוכנה והן את איכות המוצר הסופי,
תוך עמידה בלוחות זמנים וקיצור זמני פיתוח."
È·ÈËȂ˜‰†Ë·È‰‰
תחת ההיבט הקוגניטיבי מונה פרופסור-חבר
חזן שלוש יכולות מרכזיות: מודעות, רפלקסיה
והפשטה. "אופיים המופשט של מוצרי תוכנה
גבוהה
˙ÂÚ„ÂÓ
מחייב את מהנדסי התוכנה לרמת
ביחס למרכיביה השונים של סביבת הפיתוח
‰ÈÒ˜ÏÙ¯
בה הם פועלים. לשם כך חשוב לבצע
מתמדת, המנחה חשיבה וניתוח שיטתיים של
הפעילויות השונות המתרחשות בתהליכי
הפיתוח. בנוסף נדרשות ממהנדסי התוכנה
ויכולת לעבור בין רמות ההפשטה
‰Ë˘Ù‰
יכולת
השונות הנחוצות בשלבי הפיתוח השונים."
È˙¯·Á‰†Ë·È‰‰
נכללים
תוכנה
של הנדסת
בהיבט החברתי
קשרים בין
ניהול צוותי פיתוח,
כמו
נושאים
צוותי פיתוח שונים, קשרים עם לקוחות ועוד.
"שיתופי פעולה בינלאומיים, והנטייה הגוברת
(, מחייבים תקשורת
outsourcing
למיקור-חוץ )
מתמדת בין אנשים ממדינות שונות. לתקשורת
זו עשויים להתווסף 'רעשים' הנובעים מהבדלי
שפה, פערי תרבות וכיו"ב. כאן אנו רואים שוב
כי ההתעלמות מגורמים אנושיים עשויה לחבל
הן בתהליכי הפיתוח והן באיכות המוצר."
‰ÎÂ˙‰†È¯ÂÁ‡Ó˘†Ì„‡‰
¯Ù˘Ï†È¢چ‰ÎÂ˙†ÁÂ˙ÈÙ†È˙ˆ†Ï˘†˘ÈÓ‚†Ï‰È
˙ÂϘ˙‰†˙ÂÓΆ˙‡†ÌˆÓˆÏ†¨¯ˆÂÓ‰†˙ÂÎȇ†˙‡
ÁÂ˙ÈÙ‰†Í˘Ó†˙‡†˙È˙ÂÚÓ˘Ó†¯ˆ˜ÏÂ
"תוכנה -
מוצר מופשט".
פרופסור אורית חזן
¢‰ÎÂ˙†˙Ò„‰†Ï˘†ÌÈÈ˘Â‡†ÌÈ˷ȉ¢
פרופסור-חבר חזן מלמדת במחלקה להוראת הטכנולוגיה והמדעים קורסים בהוראת מדעי
המחשב. בחופשות הקיץ האחרונות לימדה את הקורס "היבטים אנושיים של הנדסת תוכנה"
בבית הספר למדעי המחשב שאוניברסיטת קרנגי-מלון בפיטסבורג, ארה"ב.
Human Aspects
נושא זה - היבטים אנושיים של הנדסת תוכנה - עומד במרכזו של הספר
, שאותו כתבה פרופסור חזן יחד עם פרופסור ג'ים טומייקו
of Software Engineering
המנוח מבית הספר למדעי המחשב שבאוניברסיטת קרנגי-מלון, פיטסבורג, ארה"ב. הספר,
שיצא לאור ב- 4002, מציג מהזווית האנושית את מכלול הגורמים המעורבים בתהליכי
פיתוח תוכנה. כמו כן, בספר זה סוקרים המחברים את ההיסטוריה של התחום הנדסת
שנערך בגרמניה בשנת 8691, שבו הוטבע המונח "הנדסת תוכנה"
תוכנה מאז כינוס נאטו
והוכרה מורכבותם של תהליכי פיתוח תוכנה.
ת הנוסח המלא של המנשר ניתן למצוא בכתובת
˙ÈÏÈß‚‡‰†‰ÒÈÙ˙‰
נשר( של התפיסה האג'ילית
ִ
ה"מניפסטו" )מ
לפיתוח תוכנה, שהוזכרה בתחילת הכתבה, נוסח
בשנת 1002 על ידי הגורמים המובילים בתעשיית
התוכנה בארה"ב.
עולם התומכת
התפיסה האג'ילית מציגה תפיסת
בפיתוח תוכנה איכותית במסגרת סבירה של
בדרישות
שעות פיתוח, תוך התחשבות מרבית
הלקוחות. מטרות אלה מושגות, בין השאר,
)פעילויות(
באמצעות עבודת צוות ומיומנויות
התומכות בניהול יעיל. מסתבר שתכנון
מתודולוגי של תהליכי פיתוח תוכנה, יחד עם
יישומן של מיומנויות המבטיחות איכות תוכנה
גבוהה, מאפשר את השגתן של מטרות אלה.
ואכן, כבר היום ניתן להציג ראיות המצביעות
על יעילותה של התפיסה האג'ילית: ניתוח של
13 פרויקטי תוכנה שפותחו בסביבה אג'ילית
מעיד על קיצור משמעותי )52 עד 05 אחוז(
בזמן הפיתוח, לשביעות רצונם של הלקוחות,
וזאת כמובן מבלי לפגוע באיכות התוכנה )אלא
להפך(.
באופן כללי, הניסיון מצביע על כך שיישום
התפיסה האג'ילית משפר הן את יעילות תהליך
הפיתוח והן את איכות המוצר. כך נתפסות שתי
ציפורים במכה אחת: שיפור איכות התוכנה,
כלומר השירות הניתן ללקוח, וקיצור זמן הפיתוח.
Á Â ˙ È Ù Â † ¯ ˜ Á Ó