در دنیای اجایل، بک لاگ پروژه مثل یک نقشه گنج است؛ اما چه فایده اگر این نقشه پر از مسیرهای اشتباه و مبهم باشد؟ جلسه بک لاگ ریفاینمنت یا بک لاگ گرومینگ، همان جایی است که تیمها دور هم جمع میشوند تا این نقشه را شفاف، بهروز و قابلاستفاده کنند. این جلسه ساده به نظر میرسد، اما اگر درست برگزار شود، میتواند نیروی محرکه یک اسپرینت موفق باشد.
در این مقاله، قرار است به زبان ساده و همراه با مثالهایی، این جلسه مهم را بشناسیم و یاد بگیریم چطور آن را به یک تجربه مفید و حتی سرگرمکننده تبدیل کنیم!
جلسه بک لاگ ریفاینمنت چیست؟
جلسه بک لاگ ریفاینمنت / Backlog Refinement که نامهای دیگری مثل پالایش بک لاگ یا اصلاح بک لاگ هم دارد، به زمانی گفته میشود که مالک محصول، مدیران و اعضای تیم کنار هم جمع میشوند تا آیتمهای بکلاگ محصول را با یکدیگر بررسی و اولویتبندی کنند.
این بخش از فرایند مدیریت محصول، معمولاً در تیمهای توسعهای که از متدولوژی های چابک / Agile Methodologies استفاده میکنند، رایج است. به این صورت که زمانی اختصاصی صرف میشود تا کارهای اولویتدار برای اسپرینت بعدی مشخص شوند و تیم بتواند با شفافیت بیشتری «برنامهریزی اسپرینت» فعلی را آغاز کند و هنگام شروع اسپرینت با سرعت بیشتری وارد عمل شود.
علاوه بر ایجاد این شفافیت، بک لاگ ریفاینمنت کمک میکند تا کارها در بک لاگ محصول انباشته نشوند و برای تیم توسعه بهراحتی قابلمدیریت باشند. به همین دلیل باید جلسه اصلاح بکلاگ را بهعنوان یک فرایند مداوم در نظر بگیریم.
بهترین زمان برگزاری جلسه ریفاینمنت چه زمانی است؟
بهترین زمان برای برگزاری جلسه بک لاگ ریفاینمنت معمولاً در میانه هر اسپرینت است. این زمان کمک میکند که تیم با تمرکز و آمادگی بیشتری برای برنامهریزی اسپرینت بعدی آماده شود.
جلسه ریفاینمنت بهتر است بعد از جلسه بازبینی اسپرینت قبلی و همچنین قبل از جلسه برنامه ریزی اسپرینت بعدی برگزار شود.
به این ترتیب، تیم فرصت دارد تا بر اساس بازخوردهای اسپرینت قبلی، بکلاگ خود را بهروز کند، آیتمهای جدید را وارد آن کند، اولویتهایش را مشخص کند و مطمئن شود که آیتمهای بکلاگ برای اسپرینت بعدی آماده هستند.
تفاوت ریفاینمنت و گرومینگ چیست؟
هیچ تفاوتی میان «بک لاگ گرومینگ / Backlog Grooming» و «بک لاگ ریفاینمنت / Backlog Refinement» وجود ندارد. این دو اصطلاح همارز و یکسان هستند. در سالهای اخیر، اصطلاح «بک لاگ ریفاینمنت» محبوبیت بیشتری پیدا کرده و حالا در بسیاری از تیمها به این شکل استفاده میشود.
البته ممکن است هنوز هم اصطلاح «بک لاگ گرومینگ» یا جلسه گرومینگ را بشنوید، اما امروزه ریفاینمنت بیشتر بهعنوان استاندارد این صنعت شناخته میشود. چراکه Grooming به علت بار معنایی منفی که پیش میآورد، کنار رفته است!
چه کسانی باید در جلسه ریفاینمنت شرکت کنند؟
جلسه ریفاینمنت به طور رسمی یکی از جلسات چارچوب اسکرام نیست. با این حال، در راهنمای اسکرام 2020 بهعنوان یکی فعالیتهایی که در طول یک اسپرینت میتواند به تیمها کمک کند نام برده شده است. بنابراین همچنان توافق مشخصی درباره اینکه چه کسانی باید در این جلسه شرکت کنند وجود ندارد.
هرچند ما معمولاً طرفدار مشارکت کل تیم هستیم، اما در عمل این کار برای جلسه بک لاگ ریفاینمنت چندان منطقی نیست. دلایلش هم این است:
-
بک لاگ ریفاینمنت معمولاً دو تا سه روز قبل از پایان اسپرینت برگزار میشود. در این بازه زمانی، تقریباً همیشه یک یا چند نفر از اعضای تیم بهشدت درگیر تکمیل کارهایشان هستند. اگر آنها را مجبور به شرکت در جلسهای دیگر کنیم، ممکن است به تحویل آیتمهایی که روی آن کار میکنند آسیب بزنیم.
-
یک قاعده کلی این است که حدود ۵ تا ۱۰ درصد از زمان هر اسپرینت باید صرف بک لاگ ریفاینمنت شود. هرچند مشارکت کل تیم ایدهآل است، اما در واقعیت، ممکن است همه اعضا نتوانند در این جلسه حضور داشته باشند.
اما افرادی که توصیه میکنیم تا حد امکان در جلسه باشند:
-
مالک محصول / Product Owner
مالک محصول مسئول اصلی بکلاگ محصول است؛ شامل تعریف، اولویتبندی و بهبود آیتمهای آن. در جلسه بک لاگ ریفاینمنت، مالک محصول چشمانداز و اهداف هر آیتم را توضیح میدهد و مطمئن میشود که این اهداف با اهداف کلی پروژه همراستا باشند.
او همچنین مطمئن میشود که تیم از دامنه / Scope و اهمیت هر تسک، درک درستی داشته باشد و در برابر سؤالات و بازخوردها ذهن گشوده داشته باشد. این تبادل اطلاعات برای رفع ابهامها و آمادهسازی آیتمهای بکلاگ برای انجام، کاملاً حیاتی است.
-
تیم توسعه / Development Team
نقش تیم توسعه این است که تخصص فنی خود را وارد گفتگو کند. آنها با مالک محصول همکاری میکنند تا نیازمندیهای هر آیتم را به طور کامل درک کنند و تسکهای بزرگتر را به مراحل کوچکتر و قابلانجام تقسیم کنند.
تیم توسعه تخمینهای زمانی ارائه میدهد، درباره پیچیدگیها بحث میکند و سؤالاتی میپرسد تا اطمینان حاصل شود که شروع اسپرینت بدون هیچ غافلگیری پیش میرود. مشارکت آنها کمک میکند تا تسکها دقیق، قابلاجرا و واقعبینانه تعریف شوند.
-
اسکرام مستر / Scrum Master
وظیفه اسکرام مستر این است که روند پالایش بک لاگ، روان و بدون اصطکاک پیش رود. اسکرام مستر در مورد تعیین اولویت یا جزئیات تصمیمگیری نمیکند، اما گفتگوها را تسهیل میکند و باعث میشود ارتباط بین مالک محصول و تیم توسعه مؤثر باقی بماند.
او تیم را در بهکارگیری بهترین روشها (از جمله تکنیکهای تخمینزدن و تقسیم داستانهای کاربر) راهنمایی میکند، موانع احتمالی را برطرف میکند و تلاش میکند جلسه ریفاینمنت متمرکز و در چارچوب زمانبندی شده باقی بماند.
مراحل کلیدی در بک لاگ ریفاینمنت
هر تیم اجایل ممکن است روش خودش را داشته باشد، اما فرایند بک لاگ ریفاینمنت معمولاً شامل این مراحل میشود:
-
مرور آیتمهای بکلاگ
مالک محصول و تیم، آیتمهای بکلاگ را دوباره بررسی میکنند تا از مرتبط بودن و دقیق بودن آنها مطمئن شوند.
مثلاً:
تیمی که روی اپلیکیشن موبایل کار میکند، یک آیتم قدیمی مربوط به بهینهسازی نسخه اندروید پیدا میکند که بهخاطر تغییرات جدید دیگر لازم نیست و آن را حذف میکند.
-
شفافسازی نیازمندیها
مالک محصول جزئیات هر آیتم را توضیح میدهد و تیم با پرسیدن سؤالات، ابهامات را برطرف میکند.
مثلاً:
تیمی درباره یک تسک به نام «افزودن فیچر ثبتنام با ایمیل» سؤال میپرسد و مالک محصول توضیح میدهد که کاربر باید بعد از ثبتنام، ایمیل تأیید هم دریافت کند.
-
تعیین اولویتها
مالک محصول با مشورت تیم، آیتمها را بر اساس میزان ارزشی که ایجاد میکنند دوباره مرتب میکند.
مثلاً:
تیم تصمیم میگیرد که بهجای بهبود ظاهر پروفایل کاربری، اولویت را به رفع مشکل ورود کاربران بدهد چون تأثیر بیشتری بر تجربه کاربری دارد.
-
تخمین میزان تلاش
تیم تخمین میزند که هر آیتم چقدر زمان یا «تلاش» نیاز دارد، مثلاً با استفاده از استوری پوینت یا ساعت کاری.
مثلاً:
تیمی برای اضافهکردن سیستم نوتیفیکیشن، تخمینی معادل ۸ استوری پوینت یا ۳ روز کاری ثبت میکند.
-
شکستن تسکهای بزرگ
تسکهای بزرگ (مانند اپیکها) به تسکهای کوچکتر و قابلمدیریتتر تقسیم میشوند.
مثلاً:
یک اپیک به نام «راهاندازی فروشگاه آنلاین» به چند تسک کوچکتر مثل «ایجاد صفحه محصول»، «افزودن درگاه پرداخت» و «طراحی صفحه سبد خرید» تقسیم میشود.
-
بهروزرسانی بکلاگ
تیم بر اساس گفتگوها، بکلاگ را اصلاح میکند؛ آیتمهایی را اضافه یا حذف میکند و ترتیب آنها را تغییر میدهد.
مثلاً:
تیمی پس از بحث تصمیم میگیرد که یک ویژگی جدید برای جستجوی سریعتر محصولات اضافه کند و آن را به بالای بکلاگ منتقل کند.
تکنیکهای رایج برای برگزاری جلسه گرومینگ
در این بخش، چند تکنیک ناب برای مؤثرتر کردن فرایند پالایش بکلاگ یا Backlog Refinement آوردهایم:
-
نقشهبرداری داستان کاربر / User Story Mapping
این تکنیک کمک میکند سفر کاربر (User Journey) بهصورت تصویری نمایش داده شود و یوزر استوری بر اساس نقششان در این سفر، اولویتبندی شود.
مثال:
در یک پروژه طراحی اپلیکیشن بانکی، تیم توانست با رسم نقشه سفر کاربر از «ورود» تا «انجام انتقال وجه»، یوزر استوریها را مانند «تأیید شماره موبایل»، «مشاهده موجودی» و «افزودن کارت جدید» بر اساس اهمیت در تجربه کاربر اولویتبندی کند.
-
تحلیل DEEP
DEEP مخفف چهار ویژگی است که یک بکلاگ خوب باید داشته باشد:
-
Detailed Appropriately: بهاندازه مناسب دارای جزئیات.
-
Estimated: دارای برآورد زمانی/تلاشی (Effort)
-
Emergent: قابل تکامل یافتن و بهروزشونده
-
Prioritized: دارای اولویتبندی
مثال:
در یک نرمافزار CRM، تیم در جلسه پالایش بک لاگ بررسی کرد که هر آیتم بک لاگ توضیح کافی داشته باشد (نه زیاد، نه کم)، Effort تقریبی انجام آن تخمین زده شده باشد، در مقابل تغییرهای آینده انعطافپذیر و بر اساس ارزش تجاری مرتب شده باشد.
-
روش MoSCoW
با این روش میتوانیم آیتمهای بک لاگ را از نظر اهمیت به چهار دسته تقسیم کنیم:
-
Must have: باید داشته باشیم.
-
Should have: بهتر است داشته باشیم.
-
Could have: میتوانیم داشته باشیم.
-
Won't have: فعلاً نخواهیم داشت.
مثال:
در طراحی یک فروشگاه آنلاین، تیم تصمیم گرفت که فیچر «پرداخت امن» و «ثبت سفارش مهمان» در دسته Must have باشند، «امکان مقایسه محصولات» در دسته Should have، «چت آنلاین با فروشنده» در دسته Could have و «برگزاری قرعهکشی هفتگی» در دسته Won't have قرار بگیرد.
-
پوکر برنامهریزی / Planning Poker
یک تکنیک تخمین مبتنی بر بازی است که در آن هر عضو تیم برای هر آیتم بکلاگ، میزان تلاش موردنیاز را بهصورت مخفی اعلام میکند و سپس تیم به توافق جمعی میرسد.
مثال:
در یک CMS، تیم با استفاده از کارتهای پوکر تخمین زد که توسعه «ویرایشگر متن پیشرفته» نیاز به ۸ واحد تلاش دارد، در حالی که «افزودن سیستم تگگذاری» تنها به ۳ واحد تلاش نیاز دارد. اختلافهای اولیه در برآوردها باعث شد بحثهای فنی ارزشمندی بین اعضا شکل بگیرد و همه به درک مشترکی از کار دست پیدا کنند.
چگونه جلسه Grooming مؤثری داشته باشیم؟
در ادامه میخواهیم در مورد نکاتی که به ما کمک میکنند تا بیشترین بهره را از جلسات بک لاگ گرومینگ ببریم صحبت کنیم:
-
ارتباط باز و شفاف ایجاد کنید
اصلاح بک لاگ زمانی بهترین نتیجه را میدهد که مالک محصول، تیم توسعه و اسکرام مستر ارتباطی روشن و بدون مانع با یکدیگر داشته باشند.
همه باید احساس راحتی کنند و سؤال بپرسند، نگرانیهایشان را بیان کنند و پیشنهاد بدهند. این کار باعث ایجاد درک مشترک و هماهنگی بهتر اعضا میشود.
-
اولویتبندی را بر ارائه ارزش به مشتری قرار دهید
همیشه روی آیتمهایی تمرکز کنید که بیشترین ارزش را برای کاربران نهایی یا اهداف پروژه ایجاد میکنند.
اولویتبندی فقط مربوط به کارهای فوری نیست؛ بلکه باید روی کارهایی تمرکز شود که بیشترین تأثیر مثبت روی رضایت کاربر را دارند. این کار کمک میکند تیم روی مهمترین وظایف متمرکز بماند.
-
با اطمینان تخمین بزنید
اگرچه لزوماً تخمینزدن آیتمها میتواند در این جلسه نباشد و در جلسه اسپرینت پلنینگ انجام شود؛ اما میتوانید از تکنیکهای تخمینزنی مثل پوکر برنامهریزی یا مقیاس فیبوناچی برای برآورد میزان تلاش موردنیاز هر آیتم استفاده کنید.
تخمینها باید واقعبینانه باشند، ولی پذیرفتن اینکه ممکن است در طول مسیر تغییر کنند هم مهم است. این کار باعث تعادل در تقسیم کار و جلوگیری از ایجاد گلوگاهها میشود.
-
آیتمهای پیچیده را خرد کنید
آیتمهای بزرگ یا پیچیده (مانند اپیکها) را به کارهای کوچکتر و قابلمدیریتتر تقسیم کنید.
این کار نهتنها تخمینزنی را سادهتر میکند، بلکه حرکت تیم را هم روانتر میکند. مدیریت پیچیدگیها باعث اجرای بهتر و بدون وقفه پروژه میشود.
-
تصمیمهای اجباری نگیرید
اگر درباره یک آیتم هنوز ابهام یا پیچیدگی زیادی وجود دارد، اصراری برای تصمیمگیری فوری برای آن نداشته باشید.
گاهی بهتر است آن آیتم را به جلسه ریفاینمنت بعدی موکول کنید تا تیم فرصت داشته باشد اطلاعات بیشتری جمعآوری یا تحلیل بیشتری انجام دهد. این کار معمولاً نتایج بهتری به همراه دارد.
-
بک لاگ را زنده نگه دارید
ریفاین بکلاگ یک کار مقطعی نیست؛ باید جلسات پالایش را بهصورت منظم برگزار کنید تا بکلاگ همیشه بهروز و پویا بماند.
از آنجایی که پروژههای چابک دائماً تغییر میکنند، ضروری است که بر اساس دادههای جدید، بازخورد مشتریان یا تغییر در اهداف کسبوکار، بکلاگ را مرتب بازبینی و بهروزرسانی کنید.
آیا جلسات ریفاینمنت میتوانند سرگرمکننده باشند؟
بله! شاید سخت به نظر برسد؛ ولی میتوان آن را بهراحتی با ترفندهای زیر اجرا کرد:
تیم «راکت کد» یک تیم نرمافزاری پرانرژیه که معمولاً وسط پروژهها زیر حجم سنگین کار له میشه. برنامه امروزشون: جلسه ریفاینمنت.
همه دور میز جمع شدن. سارا، مالک محصول، فهرست بلندی از آیتمها آورده. اما قبل از اینکه وارد بحثهای سنگین بشن، علی (توسعهدهنده تیم) شروع میکنه:
«بچهها، قبلش باید اعتراف کنم که دیروز یه پنکیک سوزوندم که هنوز بوی سوختگیش تو خونهم هست!»
همه میخندن و فضا باز میشه. استرس اولیه همه میریزه. جلسه شروع میشه، ولی حالا نه با یه احساس وظیفه سنگین، بلکه با حس یه گفتگوی دوستانه.
جلسه جلو میره. بعضی آیتمها خیلی گُنگن. مث یه ویژگی جدید برای اپلیکیشن که هنوز کسی دقیق نمیدونه چطور باید ساخته بشه.
زهرا (یکی از برنامهنویسها) میگه:
«بچهها، زور نزنیم که همین الان تکلیف این یکی رو روشن کنیم. بذارید دو هفته دیگه که اطلاعات بیشتری داریم، دوباره بررسیش کنیم.»
تخمینها شروع میشه. رضا پیشنهاد میده که به سبک «پوکر برنامهریزی» تخمین بزنن، ولی این بار با یک قانون اضافه:
هرکس که تخمین خیلی عجیبی بده، باید یه جوک تعریف کنه!
جلسه حسابی بانشاط میشه، اما همچنان همه با تمرکز درباره آیتمها بحث میکنن.
در نهایت
جلسه بک لاگ ریفاینمنت / Backlog Refinement یا همان جلسه گرومینگ فرصتی طلایی برای تیمهای چابک است تا بکلاگ محصول خود را مرتب، شفاف و آماده اجرا در اسپرینت بعدی کنند. با برگزاری منظم این جلسات، تیمها میتوانند با برنامهریزی بهتر، اولویتبندی دقیقتر و تحویل سریعتر به اهداف پروژه نزدیکتر شوند.
در اجیلیتی، آموزش اسکرام با محتوایی ساده و کاربردی ارائه میشود. تمرکز ما بر چالشهای رایج تیمهای ایرانی و نحوه مواجهه با آنهاست. اگر به دنبال پیادهسازی اسکرام هستید، این مسیر برای شماست.
|