تمرین استفاده از رتبهبندی شخصی هر عضو تیم در بستر Scrum و SAFe
در این مقاله قصد دارم توضیح دهم که چگونه در تجربه خودمان رتبهبندی شخصی هر عضو تیم را در Scrum در فرایند کار با چارچوب SAFe محاسبه و اعمال میکنیم. وبلاگ شخصی.
این تصویر بارگذاری نشد.در این مقاله قصد دارم توضیح دهم که چگونه در تجربه خودمان رتبهبندی شخصی هر عضو تیم را در Scrum در فرایند کار با چارچوب SAFe
احتمالاً بسیاری موافق خواهند بود که (بهویژه در روسیه) افراد ما اغلب تلاش میکنند کمتر کار کنند (محصول نهایی را در چارچوب توانمندیهای خود یا از طریق کسب توانمندیهای جدید تحویل دهند) و پول بیشتری بگیرند. با افزایش اندازه شرکت، به نظر میرسد امکانات برای این کار مستقیماً متناسب رشد میکند. معمولاً انواع واحدهای شبهHR با این موضوع سروکار دارند و به هر شکل تلاش میکنند نظام انگیزشی درستی بسازند. OKRها و موارد دیگر هم به همین جا مربوط میشوند. در کل به نظر میرسد همه اینها بر متعادلسازی بار هر فرد درون شرکت و آسایش همه گروههای ذینفع/تیمهای شرکت متمرکز است. در این مقاله سنجهای را به اشتراک میگذارم که خودم ابداع کردهام و در تیم به کار میبرم. به نظر من این سنجه میتواند تلاشهای HR و OKR را در متعادلسازی بار درون یک تیم مشخص تکمیل کند یا برعکس، عدم تعادل را نشان دهد. همچنین کاملاً میتواند به تیمِ تیمها مقیاسپذیر شود و مشکل خاصی در آن نمیبینم.
بنابراین، برای من بهعنوان Scrum Master گاهی کاملاً واضح است که بار در تیم متعادل نیست؛ کسی به جای دو نفر کار میکند و کسی هیچ کاری نمیکند (اینها شکلهای крайنی و البته مشکل جدی هستند، اما این سنجه نهتنها شکلهای крайنی را نشان میدهد). چنین موقعیتی برای من پیش آمد و به این فکر افتادم که چه سنجهای میتواند این مشکل را بهروشنی برجسته کند. در نهایت این به رتبهبندی شخصی هر عضو تیم انجامید.
پیش از توصیف خود سنجه، میخواهم به یک ایده بسیار مهم از نظر خودم اشاره کنم. در حال حاضر کاملاً به آن اطمینان دارم.
سنجهها باید بر پایه همان دادههایی ساخته شوند که شما از قبل به دست میآورید. به دست آوردن هر سنجه نباید تیم را مجبور کند بهطور سیستماتیک زمان بیشتری صرف کند و فرایند تحویل ارزش خود را با خود سنجه هماهنگ کند. تلاش میکنم در یکی از مقالات بعدی بیشتر درباره این توضیح دهم.
پس، نمونه یک مورد مشخص. البته ما از یک برد برای جابهجایی User Storyها میان وضعیتها از DOR (Definition Of Ready) تا DOD (Definition Of Done) استفاده میکنیم. برد ما مجازی است (یعنی در اینترنت از طریق یک پیوند قرار دارد. تیم ما نیز توزیعشده است و استندآپها از طریق اسکایپ شرکتی و همراه با نمایش برد برگزار میشوند.
برای عضو تیم راحت است که خود را در参与者های User Story قرار دهد تا با استفاده از فیلتر بر اساس خودش بتواند سریع فقط داستانهایی را ببیند که در آن لحظه در آنها مشارکت دارد (بیشتر اوقات از این فیلتر در استندآپها استفاده میکنیم).
در اینجا نیز میخواهم توضیح دهم: این به معنای آن نیست که این عضو تیم نمیتواند در داستانهای دیگر مشارکت کند (اگر مثلاً در استندآپ یکی از اعضای تیم درخواست کمک کند، کاملاً میتواند参与者 داستان جدید شود یا برعکس، اگر احساس کند مشارکتش لازم نیست، میتواند از参与者 بودن در یک داستان دست بکشد.
بنابراین، برای محاسبه رتبه هر عضو تیم، باید ببینیم هر عضو تیم بر چند SP اثر میگذارد. در مورد ما آرکادی بر 29 SP اثر میگذارد (داستانهای 1، 2، 5، 6)، تاتیانا بر 33 SP اثر میگذارد (در همه داستانها مشارکت دارد)، واسیلی بر 23 SP (داستانهای 1، 3، 5، 6).
بستهشده (DOD انجامشده) برای آرکادی 5 از 29 SP، برای تاتیانا 6 از 32 SP، برای واسیلی 5 از 23. با مرتبسازی خیلی وقتها کلنجار رفتم و در نهایت به این فرمول مقایسه دو عضو تیم رسیدم (team[i] - یک عضو تیم و team[j] - عضو دیگر تیم):

بر اساس این مرتبسازی، رتبه فعلی اعضای تیم را به شکل زیر به دست میآوریم.
- مقام 1. واسیلی (انجامشده 5 از 23)
- مقام 2. آرکادی (انجامشده 5 از 29)
- مقام 3. تاتیانا (انجامشده 6 از 32)
حالا بیایید همه دادههای اسپرینت را تولید کنیم. فرض کنیم اسپرینت 5 روز کاری طول میکشد.
- روز 1

مقام 1: واسیلی (سوزاندهشده 0 از 23)
مقام 2: آرکادی (سوزاندهشده 0 از 29)
مقام 3: تاتیانا (سوزاندهشده 0 از 32) - روز 2

مقام 1: واسیلی (سوزاندهشده 0 از 23) روند(1->1)
مقام 2: آرکادی (سوزاندهشده 0 از 29) روند(2->2)
مقام 3: تاتیانا (سوزاندهشده 0 از 32) روند(3->3) - روز 3

جایگاه 1: واسیلی (سوزاندهشده 5 از 23) روند(1->1->1)
جایگاه 2: آرکادی (سوزاندهشده 5 از 29) روند(2->2->2)
جایگاه 3: تاتیانا (سوزاندهشده 5 از 32) روند(3->3->3) - روز 4

جایگاه 1: واسیلی (سوزاندهشده 8 از 23) روند(1->1->1->1)
جایگاه 2: آرکادی (سوزاندهشده 8 از 29) روند(2->2->2->2)
جایگاه 3: تاتیانا (سوزاندهشده 9 از 32) روند(3->3->3->3) - روز 5

جایگاه 1: واسیلی (سوزاندهشده 23 از 23) روند(1->1->1->1->1)
جایگاه 2: تاتیانا (سوزاندهشده 24 از 32) روند(3->3->3->3->2)
جایگاه 3: آرکادی (سوزاندهشده 21 از 29) روند(2->2->2->2->3)
بنابراین، با استفاده از این معیار میتوان آمار شخصی هر عضو تیم را انباشته کرد و به او کمک کرد تا نتیجهگیریهای درست انجام دهد. برای مثال، اینجا میبینیم که واسیلی زمان خود را از همان ابتدا بسیار هوشمندانه برنامهریزی کرده است (یعنی در برنامهریزی اسپرینت با تیم درباره حجم کاری که در واقعیت انجام داده توافق کرده است.) اما در همان حال، آیا او میتوانست به نوعی به دیگر اعضای تیم کمک کند؟ شاید نه، اما ارزش دارد پیش از بازنگری به این پرسش فکر کنیم.
مشکل تاتیانا و آرکادی جدیتر است. واضح است که از همان ابتدا در برنامهریزی اسپرینت آنها با تیم درباره مشارکت در همه داستانها توافق کردهاند و در واقعیت نتوانستهاند تعهدات را انجام دهند. درباره دلایل نیز ارزش دارد پیش از بازنگری فکر کنیم. شاید ارزش دارد کمتر برای خود برنامهریزی کنیم، شاید شایستگیها را گسترش دهیم تا بتوانیم همه برنامهریزیشده را انجام دهیم، راهحلهای دیگری نیز ممکن است.
بنابراین، ما میتوانیم آمار را نه تنها برای کل تیم و نه تنها برای یک اسپرینت، بلکه برای شرکتکنندگان مشخص DEV TEAM در تمام مدت انباشته کنیم و از این اطلاعات برای بهبود مستمر تیم استفاده کنیم.
در پایان، میخواهم توجه ویژهای به این واقعیت جلب کنم که پیش از استفاده از این معیار در تیم، باید سطح اعتماد بهاندازه کافی بالا در بخش بزرگی از تیم وجود داشته باشد. همچنین، توصیه میکنم تأکید زیادی بر آنچه اولویت دارد - نبود اضافهکاری و فعالیت راحت - شود.
ما بر پیشبینی درست نتیجه تمرکز میکنیم، نه بر انگیزه برای اضافهکاری جهت کسب جایگاه 1. در نهایت، این معیار هدفش بهبود توانایی برنامهریزی هر عضو تیم بهصورت جداگانه است.
