وقتی تیمی میخواهد با ذهنیت اجایل و بهطور خاص با روش اسکرام کار کند، اولین قدم مهم و اساسی «جلسه برنامه ریزی اسپرینت» یا Sprint Planning است؛ جایی که برنامهریزیهای اسپرینت آینده انجام میشوند، ابهامها کنار میروند و مسیر دو هفته بعدی تیم روشن میشود.
اگر به تازگی با این فضا آشنا شدهاید و میخواهید بدانید این جلسه دقیقاً چیست، چرا برای تیمهای اسکرام مهم است و چطور باید آن را به بهترین شکل برگزار کرد، تا انتهای این مطلب همراه ما باشید.
اسپرینت پلنینگ چیست؟
برنامه ریزی اسپرینت اولین رویداد از سلسله رویدادهای متد اسکرام است که در شروع هر اسپرینت برگزار میشود و طی آن، تیم توسعه تصمیم میگیرد در طول اسپرینتِ پیش رو چه کارهایی و چطور باید انجام شوند.
این جلسه که بهطور خلاصه به پلنینگ هم معروف است، زمانبندی مشخصی دارد، معمولاً چند ساعت طول میکشد، و در آن مالک محصول، اسکرام مستر و تیم توسعه با همکاری یکدیگر مسیر روشنی برای اسپرینت مشخص میکنند.
Sprint Planning با ارائه مهمترین آیتمهای بک لاگ محصول از سمت مالک محصول شروع میشود و در پایان، یک بک لاگ دقیق تهیه میشود که شامل آیتمهای انتخابشده و برنامهای برای انجام آنهاست.
جلسات برنامه ریزی اسپرینت با چه هدفی تشکیل میشوند؟
هدف اصلی جلسات برنامه ریزی اسپرینت در اسکرام این است که همه اعضای تیم روی یک هدف مشترک در طول اسپرینت همراستا شوند. در این جلسه، آیتمهای اولویتدار که بیشترین ارزش را دارند انتخاب شده، به تسکهای کوچکتر تقسیم میشوند و تخمین افورت (تلاش) موردنیاز برای آنها انجام میشود.
نگران نباشید! منظور از تخمین تلاش این است که تیم تصمیم میگیرد برای هر تسک، چه میزان تلاش یا زمان لازم دارد تا آن را بهطور کامل انجام دهد.
همچنین همه اعضا باید بهخوبی بدانند چرا، چه چیزی و چگونه قرار است در اسپرینت انجام شود.
در نهایت...
بررسی زمان و مکان برگزاری جلسات Sprint Planning
-
مکان برگزاری
بهترین مکان برای برگزاری جلسه برنامه ریزی اسپرینت، جاییست که تیم شما در آن راحت است، به تمام اطلاعات مربوط به بک لاگ محصول خود دسترسی دارید و میتوانید بهراحتی به ابزارهای بصری مثل تابلوهای کاری، ویدیو پروژکتور و… رجوع کنید و روی آنها کار کنید.
اگر تیمتان پراکنده یا دورکار است، جلسه پلنینگ فرصت خوبی برای دور هم جمعشدن اعضاست؛ این کار باعث میشود بحثها اثربخشتر باشند و ارتباطات انسانی بین اعضا تقویت شود.
روی مقوله ارتباطات تمرکز میکنم زیرا یکی از اساسیترین اصول اجایل است که باید به آن توجه ویژه داشت.
-
زمان برگزاری
برنامه ریزی اسپرینت در متد اجایل، در اولین روز از اسپرینت جدید انجام میشود.
این جلسه از لحاظ زمانی باید بعد از جلسات ریویو و رترو اسپرینتِ قبلی برگزار شود تا بحثها و خروجی آن دو جلسه در برنامه ریزی اسپرینت جدید در نظر گرفته شود. البته لزومی ندارد دقیقاً بلافاصله بعد از آن جلسات باشد. مهم این است که جلسه زمانی برگزار شود که همه اعضای تیم در دسترس هستند.
خیلی وقتها خوب است که یک زمان ثابت برای این جلسه تعیین شود تا همه بدانند این بازه زمانی مخصوص برنامه ریزی اسپرینت است و جلسه یا کار دیگری در آن زمان در نظر نگیرند.
چه کسانی در جلسه پلنینگ نقش دارند؟
اگرچه در برخی موارد ممکن است حضور افراد مختلفی از سازمان در جلسه Sprint Planning مفید باشد، اما نقشهای اصلی که همیشه باید در این جلسه حضور داشته باشند شامل افراد زیر هستند:
اسکرام مستر / Scrum Master
اسکرام مستر نقش تسهیلگر جلسه را بر عهده دارد. او مسئول این است که جلسه طبق اصول اسکرام برگزار شود و همه اعضا آزادانه و مؤثر در گفتگوها مشارکت کنند. اسکرام مستر:
-
زمانبندی جلسه را مشخص میکند و نقش نظارتی برای آن دارد.
-
به دنبال تضمین این موضوع است که هیچ مانعی در مسیر گفتوگوی شفاف بین تیم و مالک محصول وجود نداشته باشد.
-
در صورت لزوم، با ارائه پیشنهادات و ایدههای خوب، اعضا را به سمت همکاری مؤثرتر هدایت میکند.
-
در مورد چارچوب اسکرام به تیم آموزش میدهد و کمک میکند تیم در مسیر درست باقی بماند.
او دخالتی در انتخاب آیتمهای محصول یا نحوه انجام آنها ندارد، بلکه یک نقش حمایتی و حیاتی برای حفظ تمرکز، بازدهی و کارایی جلسه دارد.
مالک محصول / Product Owner
مالک محصول همزمان نماینده دیدگاههای مشتری و کسبوکار است. در جلسه پلنینگ اسکرام، نقش او بسیار کلیدیست. او…
-
آیتمهای بک لاگ محصول را که برای اسپرینت بعدی آماده شدهاند، توضیح میدهد.
-
به پرسشهای تیم پاسخ میدهد تا ابهامات درباره هدف یا جزئیات هر آیتم برطرف شود.
-
اولویتهای تجاری را مشخص میکند و به تیم کمک میکند تا با درک درست از ارزشها تصمیمگیری کند.
-
در نوشتن و نهایی کردن اهداف اسپرینت با تیم همکاری میکند.
مدیر محصول / Product Manager
در تیمهای بزرگ، مدیر محصول ممکن است نقش جداگانهای از مالک محصول داشته باشد. او بیشتر بر تصویر کلان محصول و مسیر استراتژیک آن تمرکز دارد. در جلسه Sprint Planning، اگر Product Manager حضور داشته باشد:
-
دیدگاه کلیتری از جهتگیری آینده محصول ارائه میدهد.
-
مطمئن میشود که آیتمهای انتخابشده با استراتژی و اهداف بلندمدت محصول همراستا هستند.
-
گاهی نقش ناظر دارد و اگر لازم باشد، ورودیهایی درباره روند برنامهریزی یا اولویتهای کلان ارائه میدهد.
-
در برخی تیمها، برای هماهنگی میان چند تیم توسعه حضور او ضروری است.
در تیمهای کوچک، ممکن است وظایف این نقش را مالک محصول انجام دهد.
تیم توسعه / Development Team
تیم توسعه بازیگر اصلی جلسه برنامهریزی است. آنها کسانی هستند که کار واقعی را انجام میدهند و مسئولیت تحویل آیتمها را بر عهده دارند. وظایف و نقش آنها در این جلسه شامل موارد زیر میشود:
-
بررسی آیتمهای بک لاگ ارائهشده توسط مالک محصول
-
تخمین تلاش لازم برای تکمیل هر آیتم (با روشهایی مثل استوری پوینت و…)
-
بررسی محدودیتها، موانع انجام آیتمها
-
تحلیل و شفافسازی از توانمندیهای فنی تیم
-
تصمیمگیری درباره اینکه چه مقدار کار در طول اسپرینت قابل انجام است
-
کمک به تعریف هدف اسپرینت از منظر فنی و اجرایی
تیم توسعه با در نظر گرفتن ظرفیت و مهارت خود و پیچیدگیهای کار، تصمیم میگیرد که چه تعهداتی را میتواند در این اسپرینت بپذیرد.
نقش |
خلاصه نقش در جلسه |
اهمیت حضور در جلسه |
اسکرام مستر |
هدایت جلسه، حفظ چارچوب اسکرام، رفع موانع ارتباطی و تسهیل همکاریهای تیمی |
ضروری برای حفظ نظم و بهرهوری جلسه |
مالک محصول |
توضیح بک لاگ، پاسخ به پرسشها، تعیین اولویتها، مشارکت در هدفگذاری اسپرینت |
حیاتی برای تصمیمگیری درست تیم |
مدیر محصول |
ارائه دیدگاههای استراتژیک، نظارت بر هماهنگی با اهداف کلان پروژه، نقش مشاورهای در تیمهای بزرگ |
مفید برای همراستایی با اهداف کلان سازمان |
تیم توسعه |
تخمین تلاش، بررسی موانع، تعهد به کارها، مشارکت در هدفگذاریهای فنی |
حیاتی برای تخمین واقعبینانه و تعهد به کار |
ساختار جلسات برنامه ریزی اسپرینت چگونه است؟
جلسه برنامه ریزی اسپرینت در متد چابک معمولاً به دو بخش اصلی تقسیم میشود:
بخش اول – تعیین محدوده کاری / Scope
در این بخش تیم تصمیم میگیرد که کدام آیتمها از بین لیست اولویتبندی شده بک لاگ (که معمولاً به شکل یوزر استوری نوشته شدهاند) در این اسپرینت قابلانجام هستند.
یک نمونه دستور جلسه برای این بخش شبیه زیر است:
-
هدف این اسپرینت چیست؟ از این هدف بهعنوان فیلتر تصمیمگیری استفاده میکنیم تا مشخص شود کدام آیتمها وارد اسپرینت شوند و کدامها حذف شوند.
-
چه آیتمهایی از بک لاگ هم اکنون آماده هستند و در رسیدن به هدف این اسپرینت کمک میکنند؟
-
چه کسانی در این اسپرینت در دسترس تیم هستند؟ مرخصی، تعطیلات یا فعالیتهایی که بر حضور افراد تأثیر میگذارند بررسی میشوند.
-
ظرفیت تیم بر اساس در دسترس بودن اعضا چقدر است؟
-
حالا با توجه به هدف اسپرینت و ظرفیت فعلی تیم، بهتر است چه آیتمهایی وارد بک لاگ اسپرینت بشوند؟
-
تیم چقدر مطمئن است که میتواند به هدف اسپرینت برسد؟
به مثال زیر توجه کنید:
پروژه: توسعه اپلیکیشن سفارش غذای آنلاین
زمان موردنیاز: یک اسپرینت 2 هفتهای
-
تعیین هدف اسپرینت
مالک محصول میگه:
«هدف این اسپرینت اینه که اگه کاربرا سبد خرید خودشونو ترک کردن، این سبد خرید ذخیره بشه تا بعداً بتونن بیان و سفارششون رو کامل کنن.»
-
بررسی آیتمهای بک لاگ که به هدف مرتبط هستند
3 آیتم داریم:
-
آیتم 1: طراحی دکمه «سبد خرید» در UI
-
آیتم 2: ذخیرهسازی اطلاعات سبد خرید در دیتابیس
-
آیتم 3: افزودن امکان نمایش مجدد سبد خرید در ورود بعدی کاربر
-
بررسی در دسترس بودن اعضای تیم
-
علی: تمام روزها در دسترس
-
نگار: دو روز مرخصی داره
-
سارا: یک روز جلسه خارج از تیم داره
در مجموع، ظرفیت تیم حدود 80% شده.
-
محاسبه ظرفیت عملیاتی تیم
تیم با در نظر گرفتن 10 روز زمان مفید در دو هفته، تخمین میزنه که میتونه 2 آیتم اصلی رو با کیفیت بالا انجام بده (آیتمهای 1 و 2)؛ و آیتم سوم به اسپرینت بعدی منتقل میشه.
-
انتخاب آیتمهای بک لاگ برای اسپرینت فعلی
آیتمهای زیر وارد بک لاگ اسپرینت فعلی میشن:
-
طراحی و پیادهسازی دکمه سبد خرید
-
پیادهسازی مکانیزم ذخیرهسازی در دیتابیس
-
ارزیابی میزان اطمینان تیم از رسیدن به هدف
اسکرام مستر میپرسه: «چقدر اطمینان دارید که این هدف محقق میشه؟»
اعضای تیم میانگین اعتماد خودشون رو 8 از 10 اعلام میکنن. تنها نگرانی تیم، احتمال کندی تو هماهنگی بین بخش بکاند و فرانتانده که قابلمدیریت به نظر میرسه.
بخش دوم – تدوین برنامه اجرایی / Plan
در این بخش، تیم باید بهصورت جزئیتر بررسی کند که چطور میخواهد آیتمهای انتخابشده در مرحله قبل را انجام دهد.
بهصورت پیشنهادی (و نه اجباری) میتوان موارد زیر را بررسی کرد:
-
شناسایی و خرد کردن هر آیتم بک لاگ به تسکهای کوچکتر
-
مشخصکردن وابستگیها / Dependencies بین آیتمها برای گیر نیفتادن کارها
-
تعیین اینکه هر عضو تیم، کار خودش را با کدام تسکها شروع کند.
ادامه مثال:
مثال رو بر اساس دو آیتم انتخابشده جلو میبریم:
آیتم اول: طراحی دکمه «سبد خرید»
تسکهایی که توسط مالک یا مدیر محصول پیشنهاد میشوند:
-
طراحی اولیه دکمه توسط نگار (بهعنوان UI Designer)
-
پیادهسازی در فرانتاند توسط علی (بهعنوان Front-end Developer)
-
تست عملکرد روی نسخه موبایل و وب توسط سارا (نیروی QA)
وابستگیها:
-
باید قبل از اتصال به بکاند طراحی تکمیل شده باشه
مسئولیتها:
-
نگار طراحی رو تا روز دوم آماده میکنه
-
علی روز سوم پیادهسازی فرانت رو شروع میکنه
-
سارا آخر هفته اول تست اولیه رو انجام میده
آیتم دوم: ذخیرهسازی سبد خرید در دیتابیس
تسکهای پیشنهادی:
-
طراحی ساختار دیتابیس جدید توسط علی
-
پیادهسازی API ذخیرهسازی توسط نگین (بهعنوان Back-end Developer)
-
هماهنگی بین فرانت و بکاند برای تست نهایی
وابستگیها:
-
باید فرانتاند و بکاند روی فرمت دادهها به توافق برسن
-
باید API قبل از تست UI آماده بشه
مسئولیتها:
-
علی ساختار دیتابیس رو روز اول پیاده میکنه
-
نگین از روز دوم روی API کار میکنه
-
تا پایان هفته دوم، تست یکپارچگی انجام میشه
ورودی و خروجی جلسات اسپرینت پلنینگ چیست؟
هر جلسه پلنینگ شامل ورودیهایی برای آمادهسازی و خروجیهایی برای تحلیل و بررسی است. در ادامه به این موارد میپردازیم.
ورودیهای جلسه برنامه ریزی اسپرینت
آنچه یک مدیر یا مالک محصول باید با خود به جلسه بیاورد و تیم را با اطلاعات دقیق بهروز کند، موارد زیر هستند:
-
آیتمهای پالایششده و برآوردشده بک لاگ محصول: این آیتمها توسط تیم و مالک محصول قبلاً در جلسه گرومینگ یا بک لاگ ریفاینمنت بررسی، شکسته و تخمینزده شدهاند.
-
آیتمهای جدید یا بهروزشده: ممکن است بعد از بازبینی اسپرینت قبلی، آیتمهای جدیدی به بک لاگ اضافه یا برخی آیتمها تقسیم شده باشند. این آیتمها نیز باید پیش از جلسه، تخمین زده شوند تا اولویتبندی صحیحی برای آنها انجام شود.
-
ظرفیت و سرعت تیم: بسته به روش مورد استفاده، ظرفیت واقعی تیم برای اسپرینت پیش رو یا سرعت انجام کارهای قبلی بهعنوان معیار مقایسه در نظر گرفته میشود.
-
آمادگی مالک محصول: مالک محصول باید با لیستی از آیتمهای آماده برای حداقل دو اسپرینت آینده در جلسه حضور داشته باشد تا فضای انتخاب و اولویتبندی صحیح برای تیم فراهم شود.
یا قبلاً در جلسه ریفاینمنت، آیتمها کاملاً تفکیک شده و تخمین زده شدهاند و سپس به جلسه پلنینگ آورده میشوند؛ یا در حالت دوم، در همان جلسه پلنینگ پالایش و انتخاب شده و سپس برای انجام آنها برنامهریزی میشود.
در حالت دوم، جلسه پلنینگ طولانیتر و سنگینتر میشود.
خروجیهای جلسه برنامه ریزی اسپرینت
در پایان این جلسه، تیم باید با دو خروجی مشخص وارد اسپرینت شود:
-
هدف اسپرینت / Sprint Goal:
یک جمله کوتاه و شفاف که مشخص میکند تیم در این اسپرینت دقیقاً به دنبال چه چیزیست و این خروجی چه ارزشی برای ذینفعان پروژه دارد. این هدف حاصل گفتوگو و توافق بین تیم و مالک محصول است و نباید یک «هدف چالشبرانگیز و اضافی» باشد. -
بک لاگ اسپرینت / Sprint Backlog:
شامل آیتمهاییست که تیم برای تحویل در طول آن اسپرینت انتخاب میکند، به همراه فهرستی از تسکهای لازم برای انجام. این فهرست میتواند در طول اسپرینت با شناخت بیشتر از کار، تغییر کند و وظایف جدید به آن افزوده یا از آن کم شود.
مدت زمان برگزاری جلسه Spring Planning
در چارچوب اسکرام، پیشنهاد میشود که جلسه اسپرینت پلنینگ دارای محدودیت زمانی یا Time-boxed باشد؛ یعنی تیم از قبل سقف زمانی مشخصی برای این جلسه در نظر بگیرد تا جلسه بیدلیل طول نکشد و فرسایشی نشود. این عدد معمولاً بین 1 تا 2 ساعت برای اسپرینتهای یک هفتهای و 2 تا 4 ساعت برای اسپرینتهای 2 هفتهای است.
ویژگیهای یک جلسه برنامه ریزی اسپرینت نتیجهبخش
برای اینکه جلسه Sprint Planning ما پربارتر و هدفمندتر باشد، بهتر است نکات زیر را در نظر داشته باشیم:
-
بک لاگ محصولِ مرتب و آماده: آیتمهای بک لاگ باید شفاف، اولویتبندی شده و آماده بررسی باشند.
-
هدف مشخص برای اسپرینت: یک هدف مشخص و انگیزهبخش تعیین کنید تا در طول برنامهریزی، تصمیمگیریها را هدایت کند.
-
حضور کامل اعضای تیم: مالک محصول، اسکرام مستر و تیم توسعه باید در جلسه مشارکت فعال داشته باشند تا درک مشترکی از کل کار شکل بگیرد.
-
آگاهی صحیح از ظرفیت تیم: تعطیلات، مرخصیها یا کارهای موازی اعضا را در نظر بگیرید تا برنامهریزی شما واقعگرایانه باشد.
-
گفتوگوی باز و هدفمند: فضایی امن و پویا برای طرح سؤالات و بحث ایجاد کنید، اما تمرکز جلسه را حفظ کنید.
-
استفاده از ابزارهای بصری: ابزارهایی مانند بورد کانبان یا نرم افزارهای مدیریت پروژه میتوانند به هماهنگی و سازماندهی تیم شما کمک زیادی کنند.
-
ساختار زمانبندیشده: جلسه را در زمان مشخص و با طول مشخص برگزار کنید تا تمرکز و انرژی تیم همواره حفظ شود.
چند اشتباه رایج در جلسه اسپرینت پلنینگ و راهحلهای آن
برنامهریزی برای اسپرینت Agile زمانی ناکارآمد میشود که تیم شما بک لاگ محصول دقیق و آمادهای برای انتخاب آیتمها نداشته باشد. در این شرایط، مجبور میشوید بخشی از زمان جلسه را صرف درک بهتر آیتمهای بک لاگ کنید.
برای رفع این مشکل، بهتر است یک فرایند منظم برای «پالایش بک لاگ / Backlog Refinement» در نظر بگیرید تا همیشه آیتمهایی آماده برای شروع کار در اختیار داشته باشید. این آیتمهای آماده در واقع مبنای تصمیمگیری شما برای انتخاب تسکهای اسپرینت میشوند.
یکی دیگر از مشکلات رایج، نداشتن هدف مشخص برای اسپرینت است. در این حالت، تیم با مجموعهای از آیتمهای پراکنده روبهرو میشود که ارتباط معناداری با هم ندارند. نتیجه این میشود که تیم حجم زیادی از کار را انجام میدهد، اما احساس نمیکند که پیشرفت خاصی داشته است.
در نهایت
جلسه برنامه ریزی اسپرینت، نقطه شروع یک اسپرینت موفق است؛ جایی که تیمها با هدفی مشخص و برنامهای واقعبینانه، تعهد مشترکی برای خود ایجاد میکنند. اگر این جلسه با آمادگی، مشارکت فعال و گفتوگوی شفاف بین تمام اعضای تیم برگزار شود، نقش کلیدی در موفقیت یک سازمان ایفا میکند. اما اگر نشود، جز وقت تلف کردن و کاهش انگیزه تیم، هیچ عایدیای ندارد.