مستندات جامع اسکرامبن (Scrumban)
اسکرامبن (Scrumban) یک چارچوب مدیریت پروژه چابک (Agile) است که بهترین ویژگیهای اسکرام (Scrum) و کانبان (Kanban) را با یکدیگر ترکیب میکند. این متدولوژی اولین بار توسط کوری لاداس (Corey Ladas) در سال ۲۰۰۸ به عنوان راهی برای انتقال تیمها از اسکرام به کانبان معرفی شد، اما به سرعت به عنوان یک چارچوب مستقل و قدرتمند شناخته شد.
هدف اصلی: اسکرامبن ساختار و پیشبینیپذیری اسکرام را با انعطافپذیری و جریان مداوم کانبان ترکیب میکند تا تیمها بتوانند به سرعت به تغییرات پاسخ دهند و بهرهوری خود را به حداکثر برسانند.
چرا اسکرامبن؟ (کاربردها)
استفاده از این متدولوژی برای تیمهایی با شرایط زیر بسیار ایدهآل است:
- تیمهای تازهکار (Novice Teams): به دلیل انعطافپذیری و سادگی در پیادهسازی، اسکرامبن نقطهی شروع بسیار مناسبی برای تیمهای جدیدی است که میخواهند بدون درگیر شدن با پیچیدگیها و قوانین سختگیرانه اسکرام، مفاهیم مدیریت چابک را یاد بگیرند و تجربه کنند.
- پروژههای نگهداری و پشتیبانی (Maintenance & Support): جایی که باگها و درخواستها به صورت مداوم و غیرقابل پیشبینی وارد میشوند.
- توسعه محصول با تغییرات سریع: تیمهایی که نیاز دارند در میانههای اسپرینت، اولویتها را تغییر دهند.
- تیمهای خسته از اسپرینت: تیمهایی که ساختار سختگیرانه اسکرام باعث کاهش تمرکز و افت کیفیت کار آنها شده است.
مقایسه اسکرام، کانبان و اسکرامبن
| ویژگی | اسکرام (Scrum) | کانبان (Kanban) | اسکرامبن (Scrumban) |
|---|---|---|---|
| برنامهریزی | در ابتدای هر اسپرینت (معمولاً ۲ هفته) | مداوم و بر اساس نیاز | هنگام خالی شدن ستون Ready (Pull System) |
| محدودیتها | محدودیت بر اساس ظرفیت اسپرینت | محدودیت کارهای در حال انجام (WIP Limit) | استفاده ترکیبی از WIP Limit و برنامهریزی کوتاهمدت |
| نقشها | Product Owner, Scrum Master, Team | نقشهای از پیش تعیین شده ندارد | اختیاری است، اما معمولاً نقشهای اسکرام حفظ میشوند |
اصول کلیدی اسکرامبن
اسکرامبن بر پایه چند اصل بنیادین بنا شده است که آن را از سایر فریمورکها متمایز میکند:
- سیستم کششی (Pull System): کارها به تیم "هل داده نمیشوند" (Push). بلکه هر زمان عضوی از تیم آزاد شد، کار بعدی را از بکلاگ "میکشد".
- برنامهریزی مبتنی بر تقاضا (On-Demand Planning): برنامهریزی تنها زمانی انجام میشود که
تعداد کارتهای بخش
To DoیاReadyاز حد مشخصی (Order Point) کمتر شود. - تمرکز بر جریان (Flow): هدف، حرکت روان و بدون وقفه کارتها از ابتدای بورد تا انتها است.
بورد اسکرامبن (Scrumban Board)
بورد اسکرامبن شباهت زیادی به کانبان دارد، اما دارای ساختار دقیقتری برای مدیریت بکلاگ است. یک بورد استاندارد میتواند شامل ستونهای زیر باشد:
- Backlog: تمامی نیازمندیها و ایدههای محصول در اینجا جمعآوری میشوند.
- Ready (To Do): کارهایی که در جلسه برنامهریزی انتخاب شده و آماده توسعه هستند.
- In Progress: کارهایی که در حال حاضر توسط تیم در دست انجام است. (این ستون دارای محدودیت WIP است).
- Testing / Review: مرحله بررسی کد یا تست کیفیت.
- Done: کارهای تکمیل شده و آماده استقرار.
محدودیت کارهای در حال انجام (WIP Limits)
محدودیت WIP (Work In Progress) قلب تپنده اسکرامبن است. با محدود کردن تعداد کارهایی که همزمان
میتوانند در یک ستون باشند، تیم مجبور میشود به جای "شروع کارهای جدید"، روی "تمام کردن کارهای نیمهکاره"
تمرکز کند. به عنوان مثال، اگر WIP ستون In Progress عدد ۳ باشد، تیم نمیتواند کار چهارمی را شروع کند مگر
اینکه یکی از آن ۳ کار به مرحله بعدی (Test) منتقل شود.
جلسات و رویدادها در اسکرامبن
اسکرامبن الزامی به برگزاری تمام جلسات اسکرام ندارد، اما جلسات زیر به شدت توصیه میشوند:
- Daily Stand-up (جلسه روزانه): تفاوت آن با اسکرام در این است که تمرکز روی "افراد" نیست، بلکه روی "کارتها" و جریان کار روی بورد است. تیم بررسی میکند که چه چیزی مانع حرکت کارتها از چپ به راست شده است (Blockers).
- Planning Trigger (ماشه برنامهریزی): به جای برنامهریزی دورهای در روزهای خاص، هرگاه تعداد کارتهای ستون Ready به حداقل رسید، جلسه برنامهریزی برگزار میشود.
- Retrospective (بازاندیشی): برای بهبود مستمر فرآیندها، این جلسه معمولاً هر چند هفته یکبار یا پس از رسیدن به یک مایلاستون برگزار میشود.
شاخصها و متریکها (Metrics)
از آنجایی که اسپرینتها در اسکرامبن الزامی نیستند، نمودار Burndown جای خود را به شاخصهای مبتنی بر جریان میدهد:
- Lead Time (زمان تحویل): مدت زمان کل از لحظه ثبت یک درخواست توسط مشتری تا زمان تحویل نهایی آن.
- Cycle Time (زمان چرخه): مدت زمانی که تیم واقعاً روی یک کار وقت صرف میکند (از لحظه ورود به In Progress تا Done).
- Throughput (توان عملیاتی): تعداد کارهایی که در یک بازه زمانی مشخص (مثلاً یک هفته) به اتمام میرسند.
$$ Average Cycle Time = \frac{Average WIP}{Throughput} $$
طبق این فرمول، برای کاهش زمان چرخه (سریعتر انجام دادن کارها)، باید WIP را کاهش داد یا Throughput (توانمندی تیم) را افزایش داد.
مفاهیم تکمیلی مدیریت پروژه در اسکرامبن
برای پیادهسازی حرفهایتر اسکرامبن، استفاده از ابزارها و مفاهیم پیشرفته مدیریت پروژه ضروری است. این مفاهیم به تیم کمک میکنند تا جریان کار را بهتر درک و کنترل کنند.
۱. نمودار جریان تجمعی (Cumulative Flow Diagram - CFD)
یکی از قدرتمندترین ابزارهای بصری در اسکرامبن و کانبان، نمودار CFD است. این نمودار وضعیت تمام کارها (کارتها) را در طول زمان و در ستونهای مختلف بورد نشان میدهد.
- شناسایی گلوگاهها (Bottlenecks): اگر باند مربوط به یک ستون (مثلاً Test) به طور ناگهانی در نمودار پهن شود، نشاندهنده انباشت کار و وجود گلوگاه در آن مرحله است.
- پایداری جریان: خطوط موازی و با شیب ثابت نشاندهنده یک جریان کاری سالم و پایدار (Stable Flow) هستند.
۲. کلاسهای خدمات (Classes of Service)
در اسکرامبن، همه کارها ارزش و فوریت یکسانی ندارند. برای مدیریت بهتر بکلاگ و نحوه انتخاب کارها توسط تیم، از کلاسهای خدمات استفاده میشود:
- تسریع شده (Expedite): کارهای بحرانی (مانند رفع باگهای سیستم در محیط عملیاتی) که باید بلافاصله انجام شوند. این کارها میتوانند محدودیتهای WIP را نادیده بگیرند.
- تاریخ ثابت (Fixed Delivery Date): کارهایی که باید تا یک تاریخ مشخص تحویل داده شوند، در غیر این صورت ارزش خود را از دست میدهند.
- استاندارد (Standard): کارهای روزمره و فیچرهای عادی محصول که بر اساس سیستم (First In, First Out) انجام میشوند.
- نامحسوس (Intangible): کارهایی مانند ریفکتور کردن کد یا بهروزرسانی مستندات که فوریت ندارند، اما در درازمدت برای سلامت پروژه حیاتی هستند.
۳. پیشبینی و تخمین (Forecasting vs. Estimation)
برخلاف اسکرام که به شدت روی تخمین با Story Points تاکید دارد، اسکرامبن بیشتر به سمت پیشبینیهای مبتنی بر داده (Data-driven Forecasting) حرکت میکند. به جای حدس زدن زمان انجام یک کار، از دادههای تاریخی تیم (Throughput و Cycle Time) استفاده میشود.
استراتژی No-Estimates: بسیاری از تیمهای اسکرامبن سعی میکنند کارها را به قطعات تقریباً مساوی تقسیم کنند و به جای تخمین تکتک آنها، صرفاً از قانون میانگینها برای پیشبینی زمان اتمام پروژه استفاده کنند.
$$ Estimated Delivery (Weeks) = \frac{Total Items in Backlog}{Average Weekly Throughput} $$
به عنوان مثال، اگر در بکلاگ ۳۰ کار باقی مانده باشد و تیم شما طبق آمار گذشته (Throughput) به طور میانگین هفتهای ۵ کار را به اتمام میرساند، تحویل کل بکلاگ حدوداً ۶ هفته زمان خواهد برد.
واژهنامه تخصصی (Glossary)
در این بخش، تعریف مفاهیم و کلمات کلیدی مورد استفاده در اسکرامبن و مدیریت چابک گردآوری شده است:
- اسکرام (Scrum): چارچوبی چابک برای مدیریت پروژهها که کارها را در بازههای زمانی ثابت و تکرارشونده (اسپرینت) سازماندهی میکند.
- کانبان (Kanban): رویکردی بصری برای مدیریت جریان کار که بر روی نمایش کارها و محدود کردن کارهای در حال انجام تمرکز دارد.
- اسپرینت (Sprint): بازههای زمانی ثابت و کوتاه (معمولاً ۱ تا ۴ هفته) در اسکرام که تیم در طول آن متعهد به انجام حجم مشخصی از کار میشود.
- بکلاگ (Backlog): فهرستی اولویتبندی شده از تمام نیازمندیها، ویژگیها (Features)، باگها و کارهای مربوط به محصول.
- سیستم کششی (Pull System): مکانیزمی که در آن یک کار جدید تنها زمانی وارد فرآیند (یا مرحله بعدی) میشود که ظرفیت خالی برای انجام آن وجود داشته باشد (برخلاف هل دادن یا Push کردن کار به تیم).
- محدودیت WIP (Work In Progress Limit): تعیین حداکثر تعداد مجاز کارها در هر ستون از بورد. هدف آن جلوگیری از انجام همزمان کارهای زیاد و تمرکز بر اتمام کارهای نیمهکاره است.
- زمان تحویل (Lead Time): کل زمان سپری شده از لحظه ثبت یک درخواست در سیستم (توسط مشتری یا مالک محصول) تا لحظه تحویل نهایی آن.
- زمان چرخه (Cycle Time): مدت زمان صرف شده برای انجام واقعی یک کار؛ از لحظهای که تیم کار روی آن را آغاز میکند تا لحظهای که به اتمام میرسد.
- نرخ خروجی (Throughput): تعداد کارهای تکمیل شده (کارتهای رسیده به ستون Done) در یک بازه زمانی مشخص (مثلاً در یک هفته یا ماه).
- گلوگاه (Bottleneck): نقطهای در فرآیند کاری که در آن سرعت ورود کارها بیشتر از سرعت پردازش و خروج آنهاست و باعث انباشت کار و کندی کل سیستم میشود.
- نمودار جریان تجمعی (CFD - Cumulative Flow Diagram): نموداری گرافیکی که وضعیت و تعداد کارها را در هر مرحله از فرآیند در طول زمان نشان میدهد و ابزاری کلیدی برای شناسایی گلوگاهها است.
- کلاسهای خدمات (Classes of Service): دستهبندی کارها بر اساس ارزش تجاری، ریسک تاخیر و فوریت (مانند تسریعشده، تاریخ ثابت و استاندارد) برای کمک به اولویتبندی آنها در سیستم کششی.
- استوری پوینت (Story Points): واحدی نسبی در اسکرام برای تخمین میزان تلاش و پیچیدگی مورد نیاز برای انجام یک کار (در اسکرامبن کمتر استفاده میشود و جای خود را به پیشبینیهای مبتنی بر Throughput میدهد).