قياس وتطوير أداء المبرمج

كتابات: 

حسب تجربتي الشخصية، واهتمامي بتوثيق وقياس عملي كمبرمج، قمت بتجربة العديد من الخدمات والأدوات المساعدة لذلك، إلاّ أن القيمة الحقيقية لهذه الأدوات تزداد إذا كانت على مستوى الفريق وليست على المستوى الفردي فقط.

نظام النقاط

أداء النقاط والتحفيز، هي أداة اكتشفتها في آخر عام 2020 وبدأت في تطبيقها مع فريقي وقمنا بربطها مع نظام Gitlab الخاص بنا من خلال Webhooks تسمح لنا بالتعرف على الأنشطة التي تكون داخل الـ Gitlab ثم نقوم بتفصيلها وتحليلها ووضع نقاط محددة على كل تصرف يحصل عليها عضو الفريق.

من النقاط التي نقوم بقياسها هي:

  • إضافة صفحة جديدة في الويكي (نقطتين) وتزداد إلى (نقطة إضافية) في حال كانت الصفحة تحتوي على أكثر من 45 حرف.
  • كتابة تحديث صفحة في الويكي الخاص بالمشروع (نقطة) تزداد (نقطة إضافية) في حال إضافة نص أطول من 45 حرف.
  • فتح تذكرة جديدة (نقطة) تزداد (نقطة إضافية) في حال كانت أكثر من 450 حرف. وتزداد (٥ نقاط إضافية) في حال كانت تحتوي على تفاصيل و checklist.
  • إغلاق تذكرة. (نقطة)
  • إضافة تعليق على تذكرة (نقطة) وتزداد (نقطة إضافية) في حال كتابة تعليق أطول من 300 حرف.
  • رفع كود commit push (نقطة) وتزداد (نقطة إضافية) في حال كان عدد الملفات التي تم التعديل عليها أو تمت إضافتها هي ملف واحد فقط (وذلك لتقليل حجم التعديل المرفوع وتسهيل عملية المراجعة على الزملاء) وتنقص نقطتين في حال لم يتم ربط الـ commit برقم التذكرة! وتنقص نقطتين في حال كانت رسالة الـ commit أقل من 40 حرف. وغير ذلك من بعض النقاط التي تتم إضافتها ومراجعتها مع الوقت

وهذه أمثلة لبعض المكافآت التي يمكن للمبرمج أن يقوم بإستبدال نقاطه بها:

  • مكافأة (Early leave 2pm)
  • مكافأة (2 hours workday)
  • مخالفة (Unplanned vacation) ويتم ضبط هذه المكافآت ببعض الشروط مثل أن يحق له الاستفادة منها بعدد محدد من المرات كل شهر مثلاً. وأيضاً يشترط الإبلاغ قبلها بعدد محدد من الأيام مثلاً. وأيضاً يشترط أحياناً أن يكون قد بدأ دوامه اليومي من ساعة محددة على الأقل. كل هذه المكافآت

الدسك تايم Desktime

كنت ولا أزال أستخدم أدوات مثل Desktime دسك تايم أو الدسك تايم لمتابعة أدائي الشخصي منذ 2017 وحتى اليوم.

وتكمن ميزة هذه الأداة من وجهة نظري في النقاط التالية:

  • الإطمئنان على أدائي المتميز بيني وبين نفسي. فعندما أشاهد نسبة الإنتاجية عندما تكون عالية أشعر برضا داخلي عن أدائي بغض النظر عن سير تقدم المشروع في حال كانت هناك عقبات خارج سيطرتي.
  • التعرف على أوقات الحضور والانصراف في أي تاريخ سابق أو تاريخ اليوم.
  • إمكانية تصدير جميع عناوين الصفحات التي قمت بزيارتها، وشخصياً أقول بترشيح العناوين التي تتبع لنظام محدد، مثلاً Gitlab وأختزل منها عناوين المهام التي عملت عليها لفترة محددة بشكل عام.
  • المساعدة في قياس مساعدتي في تحسين وضع أدائي (كمبرمج) في حال قل لأسباب خارجة عن سيطرتي إما لأغراض اجتماعات أو نقاشات جانبية.
  • إمكانية تصنيف البرامج والتطبيقات إلى تصنيفات مخصصة حسب الرغبة للتعرف على أكثر التصنيفات التي أقضي فيها وقتي. يمكن على سبيل المثال تصنيف التطبيقات إلى (برمجة، لقاء/اجتماع أونلاين، اختبار واجهة الاستخدام ... وهكذا)
  • إكتشاف ما أسميتها (بالساعة الذهبية) وهي فترة محددة تكون غالباً في حدود ساعتين متواصلة غالباً تكون هي الأفضل والأعلى أداءاً بالنسبة لعملي اليومي، وبالتالي أقدّر هذه الساعات وأتجنب الاجتماعات والمحادثات الجانبية في هذه الساعات. مثلاً كانت ساعاتي الذهبية هي (٩-١١ص) وأيضاً (١-٣م) كانت فعلاً تزداد الإنتاجية فيها بشكل مستمر. لذا غالباً أفضل إجتماعات الساعة ١١ص أو ١٢م.

النقاط السلبية في هذه الأداة هي:

  • الأسبوع يبدأ من يوم الاثنين، ولايمكن تغييره إلى يوم الأحد. نقطة سلبية في التقارير
  • الربط البرمجي لايوفر جميع البيانات المطلوبة، وإنما تتوفر أحياناً على شكل ملف إكسل يمكنك تصديره من لوحة التحكم.
  • وبكل أسف لاتقوم هذه الخدمة بالاحتفاظ بأكثر من ١٢ شهر فقط. فلا يمكنك مقارنة السنة الحالية بالسنة الماضية :(

ويمكن ربط هذه الأداة بنظام النقاط المذكور بالأعلى أيضاً. كما أنصح وبشدة عدم إستخدامها كنظام حضور وانصراف في الفريق، وإنما تستخدم لمساعدة الفريق على المتابعة الشخصية ويتم إعتبارها كأداة مساعدة لتحسين أداء الفريق قدر الإمكان. أقصد أن يتم التعامل معها بشكل ثانوي وكل عضو في الفريق يحاسب نفسه بنفسه ويتابع ويطور نفسه بنفسه.

  • توجد روابط affiliation داخل المقال.

Share this post