סטודנטים בטכניון פיתחו שיטה חדשה שתסייע להעריך את עבודת המתכנתים בענף המיחשוב

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

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

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

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

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

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

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

כל הכותרות

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

הגב לכתבה

השדות המסומנים ב-* הם שדות חובה