در این مقاله قصد دارم در مورد scrum برای مدیریت چابک توسعه محصول و چرا scrum میتونه مفید باشه صحبت کنم
مواردی که صحبت میکنم
Product backlog
Team work
Sprint
Burndown chart
Scrum daily
در اسکرام کارها از دید کاربر نهایی دیده میشه (user story).
به مجموعه ای از تمام user story ها backlog گفته میشه در بک لاگ درباره آرزوهای که برای محصول خود داریم فکر می کنیم
وقتی بک لاگ ما آماده میشه نیازه تا برنامه ریزی کنیم که کدام یک از user story ها باید تحویل داده شوند را آغاز کنیم ما به افراد و نقش های در تیم خود نیاز داریم برای ساخت محصول خود
2-و scrum master وظیفه حفظ و تسهیل فرایند اسکرام در تیم را بعهده دارد، جلسات را برگزار میکند و مانیتور میکنه که کارها تموم شده باشند و برنامه ریزی های تیم را تسهیل میکند شبیه مدیر پروژه هست ولی این شخص رو scrum master صدا میکنیم
وDeveloper ,tester,customer دیگر نقش های اسکرام هستند و مدیران که نقش همایتی در پروژه را ایفا می کنند
و Release planning برای release کردن محصول یک تیم به product backlog نیاز داره، ما user story ها را که می خوایم در release بعدی وجود داشته باشند رو شناسایی میکنیم و اون ها backlog رو تشکیل میدن، اینالویت بندی و تخمین میزان کار برای انجای user story را انجام می دهند.
بعضی وقتهاuser storyهای بزرگ بهuser storyهای کوچک شکسته میشن که مجموعه این تخمینها مارو به یک زمان تقریبی برای زمان release ما می رسونه تکنیک های زیادی برای تخمین زدن کارها وجود داره، بعضی ها تخمین را بر اساس story point هستند که ارتباط براساس کارهای کوچک شناخته شده برقرار میشه
یکی ازبهترین تخمینها، تخمین براساس ساعت انجام کار است(Estimate_in_Hours) بااین استانداردکاری که کمتراز یک روزبرای انجام آن زمان میبره در زمان های1 ساعت، 2 ساعت، 4 ساعت و 8 ساعت تخمین زده می شود. اگر زمان کار فرضا 3 ساعت در نظر گرفته شود در قالب زمان بزرگتر 4 ساعت در نظر میگیریم
موارد بزرگتر با زمان های 2 روز، 5 روز و 10 روز تخمین زده میشوند. باز تخمین بین این زمان ها در زمان بزرگتر قرار خواهد گفت. اما واقعیتی که هست این موارد قبل از انجام کار باید به زمان های کوچکتر شکسته شوند.
برگردیم سراغ Release backlog : با مشخص شدن user story ها تخمین و الویت بندی آن ها می توانیم برنامه ریزی انجام آن ها را در قالب چند sprint انجام بدیم. اسپرینت ها اهدافی در بازه های زمانی کوتاه هستند که به تیم اجازه میدهند تا پروژه را بهتر مدیریت کنند
اسپرینت ها معمولا در بازه زمانی از 2 روز تا 30 روز براساس چرخه release ها محصول برنامه ریزی میشوند. هر چند بازه زمانی تحویل محصول ما کوتاه تر باشد اسپرینت ها کوتاه تر میشوند. ما release backlog خود را به چندین sprint backlog تقسیم میکنیم.
مهم ترین نکته ای که در مورد sprint backlog در نظر بگیریم هدف یک اسپرینت است که زیر مجموعه ای از موارد release backlog به موارد قابل تحویل است. در انتهای هر اسپرینت ما باید محصول تست شده با فیچرهای صد در صد انجام شده را باید داشته باشیم. اسپرینت های کوتاه نمای از محصول ما هستند.
انجام دیر موقع اسپرینت بهترین نشانه تشخیص این است که پروژه براساس زمانبندی پیش بینی جلو نمیره و باید کاری انجام دهیم. برای همین ما باید فرآیند اسپرینت را نظارت کنیم با Burndown chart دلیل محبوبیت اسکرام هم Burndown chart می باشد
مقدار باقی مانده کارها به صورت روز به روز در هر اسپرینت توسط Burndown chart نشان داده می شود. که به صورت یه گراف بالا و پایین شدن مقادیر کارهای باقی مانده در هر روز را میبینیم و به صورت عمومی روندش به سمت صفر میرود
در این چارت تاریخچه اطلاعات پروژه وجود دارد و به راحتی می شود فهمید که پروژه در مسیر صحیح قرار دارد یانه. همچنین تیم میتواند به سرعت محاسه کند که شیب گراف میانگین فعالیت در هر روز چه مقدار بوده است.(Burndown Velocity) ما میتوانیم سرعت واقعی تیم و تاریخ تحویل پروژه را تحلیل کنیم.
و daily Scrum یک راه موثر و آزادانه بین اعضای تیم می باشد. هدف اینه یک جلسه سریع سرپای باشد و اعضای تیم بتوانند لیست کارهای که از قبل انجام دادن و موانع و ریسک های احتمالی را بررسی کنند.
و در آخر اسپرینت تموم میشود و بسیار ضروریه که جلسات sprint Retrospective برگزار بشه
در این جلسات تیم بر سر نقاط قوت و قابل بهبود بحث و برنامه ریزی می کند. الان دیگه میدونیم که اسکرام یک روش چابک و قابل انعطاف برای توسعه محصول هست که نیازمند توسعه و افزایش در تیم است.
شروع کنیم یک تیم خوب، همکاری خوب و محصولی عالی داشته باشیم
امیر سلخوری هستم توسعه دهنده.
01000001011011010110100101110010001000000101001101100001011011000110101101101000011011110111001001101001