اگر هر اسپرینت را یک نبرد کوچک در نظر بگیریم، پس میتوان گفت که حاصل پیروزی در این نبردهای کوچک، محصولی که در نهایت از طرف استارتآپ ما به بازار میرسد.
برای اینکه بتوانید در رقابت با بازیگران اصلی بازار پیروز شوید، به یک نقشه راه احتیاج دارید.
در این مسیر اسکرام میتواند به شما کمک زیادی کند.
رویدادهای اسکرام بهگونهای طرحریزی شده که میتواند همیشه و در هر نقطهای شما را به مسیر اصلی برگرداند.
برای اینکه بیشتر با این نقشه راه پیروزی آشنا شوید، از اولین رویداد اسکرام، یعنی پلنینگ شروع میکنیم.
پلنینگ یا رویداد برنامهریزی اسپرینت «Sprint Planning» یکی از رویدادهای اصلی اسکرام است.
چهار رویداد اصلی عبارتند از:
اسکرام روزانه «Daily Scrum»
بازنگری «Sprint Review»
پلنینگ «Sprint Planning»
رترو «Sprint Retrospective»
پلنینگ، رویداد شروع اسپرینت است. جایی که بکلاگ در آن بررسی و اولویتبندی شده و اعضای تیم برای چگونگی انجام آن برنامهریزی میکنند.
هدف پلنینگ این است که تیم را برای حرکت به سمت هدفی مشترک و از پیش تعیین شده آماده کند.
براساس راهنمای رسمی اسکرام، مدت زمان رویداد پلنینگ از روش زیر قابل محاسبه است:
حداکثر زمان پلنینگ = ۲ ساعت * تعداد هفتههای اسپرینت
مثلا ۲*۲ =۴ ساعت برای یک اسپرینت دو هفتهای
البته در کنار این فرمول مواردی مانند میزان بلوغ تیم و وضعیت بکلاگ نیز در مدت زمان پلنینگ اثر دارد.
اگر تیم به بلوغ کامل رسیده و بکلاگ نیز در شرایط ایدهآل قرار داشته باشد، میتوان اسپرینت یک هفتهای را در ۳۰ دقیقه برنامهریزی کرد.
سعی کنید زمان پلنینگ را بیشتر از آنچه در فرمول آمده طولانی نکنید و یادتان نرود که هیچ رویدادای نباید بیش از حد طول بکشد، اصلا رویدادها هرچه کوتاهتر، بهتر!
نقشهای حاضر در پلنینگ (نقشهای اسکرام)
در اسکرام سه نقش اصلی اسکرام مستر «Scrum Master»، مالک محصول «Product Owner» و تیم توسعه وجود دارد. هر کدام از این نقشها در طول اسپرینت اهداف و مسئولیتهایی دارند. انجام این مسئولیتها در نهایت باعث رسیدن هدف نهایی و پیروزی بزرگ یعنی توسعه محصول میشود.
این سه نقش در برپایی رویداد پلنینگ نیز نقش اصلی را دارند.
اسکرام مستر
اسکرام مستر، مسئول موفقیت پروژه و در خدمت تیم است. او برگزاری رویدادها را تسهیل میکند، وظیفه رسیدگی به اعضای تیم را دارد تا از مهیا بودن آنچه که برای انجام وظایف افراد لازم است، مطمئن شود و مراقب اجرای پروژه در مسیر مطلوب باشد.
در رویدادی مانند پلنینگ اسکرام مستر سازماندهی رویداد پلنینگ را بر عهده دارد. اگر فرض کنیم رویداد پلنینگ یک مهمانی است، اسکرام مستر میزبان این مهمانی به شمار میآید. او محل برپایی را پیدا میکند، بقیه را دعوت میکند و سعی میکند روند برپایی رویداد را در مسیر درست هدایت کند.
مالک محصول
مالک محصول پل ارتباط میان تیم توسعه و مشتری است.
در میان اعضای تیم توسعه مالک محصول نماینده مشتری به حساب میآید و باید به سوالات تیم توسعه درباره ویژگیهای محصول مورد نظر پاسخ دهد.
در برابر مشتری، مالک محصول نماینده تیم فنی است و باید درباره وضعیت آمادهسازی محصول توضیح دهد.
مالک محصول بکلاگ را آماده میکند و آنها را بهترتیب اولویت تولید به دست تیم توسعه میرساند.
نقش مالک محصول در رویدادی مانند پلنینگ شفافسازی بکلاگ و توضیح تسکهای مورد نیاز است.
تیم توسعه
تیم توسعه شامل طراحان، برنامهنویسان و مهندسانی است که قرار است محصول را تولید کنند.
در پلنینگ تیم توسعه باید با بررسی بکلاگ، درباره انجام کارها در طول اسپرینت تخمین بزنند و زمان تحویل آن برنامهریزی کنند.
تخمین اسپرینت
اگر یادتان باشد، گفتیم که در پلنینگ تیم فنی بکلاگ را بررسی میکند و تخمینی از انجام کارها (استوری کاربر) ارائه میدهد.
معمولا پیشنهاد میشود برای تخمین استوری کاربر از اعداد قراردادی استفاده کنید و بسته به حجم و سختی کار به آن عددی اختصاص دهید.
شما میتوانید اعداد فیبوناچی ۱.۲، ۱، ۲، ۳، ۵، ۸، ۱۳، ۲۱ و ... را روی کارتهایی مانند کارت پوکر بنویسید و یک سری از هر کدام را به دست اعضای تیم توسعه دهید.
در روز پلنینگ اعضای تیم توسعه با مشورت یکدیگر باید به استوری کاربر بر اساس میزان کار و سختی آن امتیاز بدهند. این امتیازها باید مورد توافق تمام اعضای تیم توسعه باشد.
نکته: این اعداد ربطی به زمان ندارند و بهصورت قراردادی مشخص میشوند. مثلا شما میگویید اگر ساخت استوری الف ۲ امتیاز دارد، پس ساختن استوری ب به دلیل حجم کار بیشتر ۵ پوینت امتیاز دارد.
وقتی مجموع امتیازهای استوریهای کاربر با ظرفیت تیم توسعه در اسپرینت برابر شد، جلسه پلنینگ به پایان میرسد.
ظرفیت تیم توسعه در اسپرینت
برای برپایی رویداد پلنینگ پیش از هرچیز باید ظرفیت تیم توسعه مشخص شود.
هر شرکتی بر اساس تجربه عددی را به عنوان ظرفیت اعضای تیم توسعه در نظر میگیرد.
مثلا میگویید ما به تجربه فهمیدیم یک برنامهنویس در یک اسپرینت دو هفتهای ۳۵ پوینت را انجام میدهد.
عدد مورد نظر ضرب در تعداد اعضای تیم توسعه میشود، سپس حاصل آن از تعداد روزهای مرخصی افراد یا روزهای تعطیل رسمی کم میشود و ظرفیت اولیه به دست میآید.
هشت مزیت برپایی رویداد پلنینگ
تیم توسعه با تسکها آشنا میشود.
ارتباطات و همکاری تیمی افزایش مییابد.
اعضای تیم به فهم مشترکی از محصول میرسند.
مشکلات پیچیده توسط تیم حل میشود.
همه به سمت یک مسیر مشترک حرکت میکنند.
اعضای تیم متعهد به ارائه نتایج هستند.
انتقال دانش صورت میگیرد.
دیدگاههای مختلفی اعضای تیم مطرح میشود.
سخن آخر: رویدادهای اسکرام واقعا موثر هستند؟
در نگاه اول برپایی رویدادهای اسکرام از دور، کاری خستهکننده و اتلاف وقت بهنظر میرسد، اما واقعیت این است که صرف زمانی مشخص برای برنامهریزی و ترسیم چشمانداز برای تولید محصول، باعث میشود اعضای تیم توسعه مدام در حال لمس فیل در تاریکی نباشند و از همان ابتدا با چشمان باز به سراغ کد زدن بروند.
این کار در نهایت شما را از پرسش و پاسخ مداوم در طول روز و اتلاف وقت نجات میدهد.
هرچقدر که تجربه شما در اجرای اسکرام بیشتر شود، کارآیی آن بر کمیت و کیفیت محصول بیشتر به چشم میخورد.
برپایی رویدادی مانند پلنینگ باعث میشود تیم تخمینی از ظرفیت خود به دست بیاورد و متعهد میشود در پایان اسپرینت به این تخمین دست پیدا کند. این باعث میشود شما با اطمینان خاطر بیشتری با مشتری روبهرو شوید و از زمان تولید و توسعه محصول تخمین بهتری داشته باشید.
پ.ن: تقریبا یک چهارم این مطلب ترجمه آزادی از مطالب اسکرام سایت hakernoon.com و باقی تجربیات شخصی من در زمینه اسکرام است.