CodeGym /בלוג Java /Random-HE /מדדי פרודוקטיביות. מה אתה צריך לדעת על מדידת ביצועים בתוכ...
John Squirrels
רָמָה
San Francisco

מדדי פרודוקטיביות. מה אתה צריך לדעת על מדידת ביצועים בתוכנה?

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

למה הפרודוקטיביות שלך כמפתח חשובה?

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

מדדי מדידת פרודוקטיביות לפיתוח תוכנה

מהם מדדי פריון פיתוח תוכנה?

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

אילו סוגים של מדדי פריון פיתוח תוכנה קיימים?

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

  • מדדים פורמליים ממוקדי גודל.

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

  • מדדי פרודוקטיביות ממוקדי זמן ותפקוד.

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

  • מדדי תהליך פיתוח זריז.

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

  • מדדי ניתוח תפעוליים.

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

  • בדיקות מדדים.

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

  • מדדי שביעות רצון לקוחות.

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

מדדי פיתוח תוכנה זריזים

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

1. ספרינט Burndown.

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

2. Team Velocity.

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

3. נקודות סיפור.

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

4. טבלת בקרת מחזור.

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

5. תפוקה וערך נמסר.

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

6. Code Churn.

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

חוות דעת מומחים

לבסוף, כדי להוסיף קצת פרספקטיבה, כמה ציטוטים בעניין מאת אנשי מקצוע מנוסים בתעשיית פיתוח תוכנה. "אני מקווה שאתה לא מחפש "להשוות" את המדדים שלך עם סטנדרט כלשהו או אפילו עם ביצועים של צוות אחר בחברה אחרת. בכל מקום בו עבדתי היו וריאציות ייחודיות בהגדרות שלהם לגבי נקודות סיפור, מהירות, הערכות שעתיות, משימות וכו' שבאמת יהפכו את זה כמעט בלתי אפשרי להשוות את הביצועים של צוות אחד מחברה אחת ישירות לביצועים של צוות אחר בחברה אחרת. חברה", ציין קליף גילי, לשעבר מנהל מוצר טכני ומאמן זריז . "אני קצת חושש מדדים כשזה מגיע להנחיית ביצועי צוות. ברגע שאתה שם לב רק למשתנה אחד או שניים, קל מאוד ליפול (בכוונה או אחרת) למשחקים במדד ולהטעות את עצמך שאתה משפר - כאשר כל מה שאתה עושה הוא לשפר את המדד. לדוגמה, מדדים המבוססים על מהירות יכולים "להשתפר" על ידי מעבר הצוות לסיפורים קטנים יותר (פחות עבודה לסיפור - כך שיותר סיפורים הושלמו - כך שהמהירות עולה). זה עשוי להיות דבר טוב אם הסיפורים הם סיפורי משתמש שימושיים שמספקים מרווחים קטנים יותר של ערך עסקי. זה עשוי להיות דבר רע אם הסיפורים יהפכו למשימות קטנות ו"טכניות" יותר שאינן מספקות ערך אמיתי בפני עצמן", אמר אדריאן הווארד, איש מקצוע אחר בתעשייה . "כשעובדים במערכת מבוססת משיכה, אני מעריך תפוקה וזמן מחזור. הראשון נותן לי מידע כללי על היכולת של הצוות שלנו, ועם הזמן יכול להפוך למדד חיזוי חזק מאוד. השני מועיל כמדד כללי ליעילות הצינורות שלנו. אם זמן המחזור גבוה, זה הזמן להתחיל להסתכל על הצינור, כי יש מגבלה שכנראה נוכל לעבוד לקראת הקלה/ניצול. אבל מדדים הם רק כלים. אל תלכו בהם לאיבוד, ובוודאי אל תתחילו לתכנן לקראת מדד ספציפי. תחשוב על מה אתה עושה כצוות ואיך אתה עובד באופן טבעי, ואז בנה את המערכת סביב האנשים. המדדים אמורים לעזור לך לראות כיצד המערכת שלך תומכת בעבודה של כולם. או לא ", סיכם דייב סרה, מפיק פיתוח משחקי וידאו .
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION