הטמעת כלי כמו Copilot מעוררת את השאלה – כיצד נמדוד את ההשפעה על הפרודוקטיביות של המפתחים? בעולם העסקי והשוואתי, לעיתים נרצה לדעת אם השימוש ב-Copilot אכן מקצר זמנים, מפחית באגים, או משפר שביעות רצון. קיימים מספר מחקרים ונתונים מעניינים בנושא, אך חשוב גם להבין את התמונה הגדולה.
מחקרים כמותיים
GitHub פרסמה מחקר מבוקר שבו נתנו לשתי קבוצות מפתחים משימה זהה – קבוצה אחת עם Copilot וקבוצה אחת בלי. התוצאה הייתה ברורה: הקבוצה עם Copilot השלימה את המשימה מהר יותר ב-55% בממוצע מהקבוצה השנייה GitHub. Blog. מבחינת זמני פתרון, המשמעות הייתה למשל קיצור זמן ממוצע מ-2 שעות ו-41 דקות לכ-1 שעה ו-11 דקות GitHub. Blog. בנוסף, יותר מתכנתים בקבוצה עם Copilot הצליחו בכלל להשלים את המשימה בהצלחה (78% הצלחה לעומת 70% בלי Copilot) GitHub. Blog. נתונים אלו, שפורסמו ב-2022, נתמכים גם ע"י סקרים ודיווחים אנקדוטליים של מפתחים. למעשה, GitHub ציינה בפומבי שראתה בממוצע ש-Copilot "מסנתז" (כותב) עד כ-30%-40% מהקוד בחלק מהמקרים, והתפוקה הכוללת (במובן של זמן עד השלמת משימות) עלתה באופן מורגשGitHub. Blog.
אבל פרודוקטיביות היא לא רק מהירות הקלדה. היבטים איכותיים וסובייקטיביים: במחקרי המשך, נבדקו גם תחושות המפתחים. התגלה שגורמים כמו שביעות רצון, הפחתת תסכול, ושמירה על "זרימה" בעבודה השתפרו משמעותית עם Copilot github.blog. בין 60% ל-75% מהנשאלים אמרו שהעבודה עם Copilot גורמת להם להרגיש מסופקים יותר וממורמרים פחות, ושהם יכולים להתמקד בעבודה המשמעותית יותר (ופחות בכתיבת "דבק" שגרתי). 73% ציינו שהכלי עוזר להם להישאר ב-Focus (מצב ריכוז) ולא להיקטע על ידי חיפושים ותיעודgithub.blog . מפתח אחד היטיב לתאר: "Copilot שומר אותי ברצף – במקום לעצור ולחפש תשובות בגוגל, אני פשוט ממשיך לכתוב קוד ו-Copilot נותן לי את הרמז הבא". בנוסף, 87% העידו שהכלי חוסך להם מאמץ מנטלי בפעולות חזרתיות GitHub. Blog. נתון מעניין אחר הוא –Confidence של מפתחים עלה – סקרים פנימיים הראו שכ-80%-85% מהמשתמשים מרגישים בטוחים יותר שהקוד שלהם נכון כאשר Copilot מעורבGitHub. Blog . ייתכן שזה נובע מכך שיש "זוג עיניים נוסף" שבאופן מידי מזהה תקלות אפשריות או מציע בדיקות. כמובן, יש פה אלמנט פסיכולוגי – עדיין נדרשו בדיקות וביקורות קוד – אבל הביטחון הסובייקטיבי של מתכנת יכול להשפיע על יעילות העבודה (מתכנת הססן יאט ויבדוק כל צעד, לעומת מתכנת עם ביטחון סביר שימשיך וינסה, מתוך ידיעה שתמיד יש Git undo 😉).
מדידה עצמית ושיפור מתמיד
ברמת הצוות או המפתח היחיד, אפשר לנסות לכמת את ההשפעה. דרך פשוטה היא למדוד זמני השלמת משימות לפני ואחרי אימוץ Copilot. אם יש לכם תיעוד היסטורי (למשל ב-JIRA או Azure DevOps) של כמה זמן לוקח בממוצע לסגור סוגי משימות, השוו זאת לאחר כמה חודשי שימוש בכלי. לחלופין, אפשר לנהל רישום אישי: משימות שהוערכו בכמות שעות מסוימת – האם בפועל סיימתם אותן מהר יותר עם Copilot? יש לקחת בחשבון עקומת למידה – בחודש ראשון ייתכן שזמן הולך בללמוד איך להשתמש נכון, אבל אחר כך אמורה להיות תאוצה.
עוד מדד אפשרי הוא כמות הקוד המיוצר או מספר שורות הקוד שתוכננו מול אלו שנכתבו בפועל. Copilot, כאמור, עשוי לכתוב חלק ניכר מהשורות, אבל זה לא בהכרח מה שמשנה; לפעמים פחות קוד זה טוב. לכן מדדים כגון Lines of Code פחות מומלצים. במקום זה, אפשר להסתכל על כמות הבעיות שנפתרו ליחידת זמן. אם כל מפתח מצליח למשל לבצע 10% יותר משימות בספרינט מאשר קודם, זה סימן טוב. כמובן, קשה לבודד שזה בזכות Copilot בלבד – אולי יש גורמים אחרים – אבל אם הצוות עצמו מרגיש כך, זה אינדיקטור.
מעניין לציין שפרודוקטיביות אינה רק ביצוע משימות מהר. Copilot מאפשר לפתחים גם להשקיע זמן ב-חשיבה גבוהה יותר. זמן שאולי היה מתבזבז על כתיבת קוד דל שעמום, יכול כעת להיות מושקע בתכנון ארכיטקטורה, בשיחות עם צוות המוצר, או בלימוד דברים חדשים. אלו דברים שקשה לכמת, אבל הם בעלי ערך רב לארגון. במובן זה, Copilot יכול להעצים את הפרודוקטיביות היצירתית, לא רק את מדדי התפוקה הכמותיים.
זהירות מ"אפקט ההאצה"
יש הטוענים שכלי כזה עלול לגרום למפתחים לכתוב יותר קוד ממה שצריך – כי אם קל יותר להוסיף קוד, אולי הפרויקט יתנפח בפונקציות ובאפשרויות לא נחוצות (feature creep). זו נקודה מעניינת: על מנהלי פרויקטים והמתכנתים עצמם לשמור על המשמעת התכנונית. השאלות "מה לפתור" ו"איך לעצב את הפתרון" עדיין בידיים אנושיות. Copilot מזרז בעיקר את שלב היישום (implementation). לכן, כדי שהתפוקה הרלוונטית תגדל, יש לוודא שמקדישים את הזמן שנחסך לדברים הנכונים. למשל, אם חסכתם 30 דקות בכתיבת unit tests כי Copilot עזר, אפשר להשקיע אותן בהרצת בדיקות נוספות, בשיפור תיעוד, או בסקירת קוד עמיתה. כך הארגון מפיק ערך איכותי מהזמן שחסך בכמות.
תירגול מוצע
אם ברצונכם להעריך בעצמכם את תרומת Copilot, בצעו ניסוי מבוקר קטן: קחו בעיית תכנות בינונית (למשל ממאגר אתגרי קוד או ממשימה שכבר פתרתם בעבר) ונסו לפתור אותה בלי Copilot, מדדו את הזמן וסמנו קשיים שנתקלתם בהם. לאחר מכן, בצעו משימה דומה בדרגת קושי, הפעם עם Copilot (תנו לו לסייע בכל שלב אפשרי). השוו את הזמנים ואת התחושות. האם הרגשתם פחות מתוסכלים? האם למדתם טריק חדש בדרך? שימו לב גם לאיכות הפתרון – האם עם Copilot הייתה נטייה "לעגל פינות" או שהקוד יצא טוב באותה מידה או יותר? תרגיל כזה יכול לתת לכם פרספקטיבה אישית על האופן שבו הכלי משפיע על שיטת העבודה שלכם ומה הוא משפר או אולי לא משפר.