شاید برای شما پیش اومده باشه که ساختار و مراسم اسکرام رو دستوپاگیر یا ناکارآمد دیده باشین از طرفی یکی از اصول اسکرام اینه که تیمها میتونن متناسب با نیازشون تغییراتی در چارچوب اسکرام ایجاد کنن، و حتی فرایندهای غیرضروری رو حذف کنن. ولی در عمل، مشکلاتی پیش میاد که باعث میشه خیلی از تیمها احساس کنن مراسمات اسکرام (مثل دیلی استندآپ، اسپرینت پلنینگ، رتروسپکتیو) براشون بهمرور زمان دستوپاگیر و وقتگیر میشه. از طرفی حذف این فرایندها از اسکرام شیر بی یال و دُم و اشکم میسازه. به این مشکلات نگاهی بیندازیم:
۱. دشواری ایجاد تغییر در فرهنگ تیمی
توی خیلی از سازمانها، اسکرام به عنوان یک چارچوب ثابت و سختگیرانه معرفی میشه و تیمها هم بهطور معمول به همه مراسمات اسکرام پایبند میمونن، در حالیکه شاید نیاز واقعی به آنها نداشته باشن. این موضوع بیشتر به دلیل عدم آشنایی با انعطافپذیری واقعی اسکرام و ترس از شکست در اجرای صحیح اسکرام پیشمیاد. برای همین، تیمها ممکنه احساس کنن مجبورن تمام مراسمات رو انجام بدن تا «واقعاً چابک» باشن!!!
۲. جلسات بیش از حد و کاهش بهرهوری
مراسمات اسکرام، بهخصوص جلسات روزانه (دیلی استندآپ)، اسپرینت پلنینگ و رتروسپکتیو، اگه به درستی و با هدف مشخصی برگزار نشن، میتونن به جلسات بیهدف و وقتگیر تبدیل بشن. برای تیمهایی که به طور پیوسته نیاز به تغییر اولویتها دارن، این جلسات میتونن به جای کمک به تیم، باعث اتلاف وقت و کاهش بهرهوری بشن.
۳. عدم تناسب اسپرینت با نوع کارها
اسپرینتها توی اسکرام معمولاً بین ۲ تا ۴ هفته هستن، هدفشون هم اینه که تیمها بتونن یک بسته کاری کامل و قابل تحویل ارائه بدن. اما توی بعضی پروژهها، بهخصوص تیمهای DevOps یا تیمهای پشتیبانی، کارها ماهیت پیوسته و غیردورهای دارن. در این حالت، اسپرینتهای ثابت ممکنه باعث کندی کار بشه، چون تیمها باید صبر کنند تا اسپرینت تمام بشه تا بتونن کارهای جدید رو شروع کنن.
۴. فشار برای تحویل در پایان هر اسپرینت
یکی از اصول اسکرام اینه که تیمها در پایان هر اسپرینت یک بسته کاری قابل تحویل (Increment) ارائه بدن. اما در عمل، تیمها گاهی تحت فشار قرار میگیرن تا به هر قیمتی کاری رو تکمیل کنن، حتی اگه نیاز باشه از کیفیت کار کم کنن. این موضوع میتونه باعث فشار روانی و کاهش کیفیت محصول بشه.
۵. تمرکز زیاد بر نقشها و چارچوبهای مشخص
اسکرام نقشهای مشخصی داره، مثل اسکرام مستر و مالک محصول (Product Owner). در تیمهای کوچک یا استارتاپها، این نقشها ممکنه به صورت غیررسمی یا توسط یک نفر پوشش داده بشه. اما در تیمهایی که ساختار رسمی دارند، این نقشها میتونن باعث دوبارهکاری و سوءتفاهم بشن. همچنین، در محیطهایی که نیاز به تصمیمگیری سریع و تغییر اولویتها وجود داره، داشتن نقشهای زیاد ممکنه فرایند را کندتر کنه.
چرا اسکرامبان (Scrumban)؟
اسکرامبان ترکیبی از دو متدولوژی محبوب توسعه نرمافزار یعنی اسکرام و کانبان است. سعی شده تا مزایای هر دو رویکرد رو ترکیب کنن تا تیمها بتونن به شیوهای چابکتر و انعطافپذیرتر عمل کنن.
چرا اسکرامبان ایجاد شد؟
۱. مشکلات اسکرام
بعضی مشکلات با اسکرام رو بالاتر نوشتم مثل ثابت بودن اسپرینتها، مراسمات اجباری، سختی در تغییر و انعطافپذیری و…
۲. مشکلات کانبان
کانبان یک روش بصری برای مدیریت جریان کاره که از تابلوهای کانبان و «کارِ در جریان» (WIP) استفاده میکنه. کانبان به تیمها کمک میکنه تا تمرکز بهتری روی تکمیل کارها داشته باشن. اما کانبان هم مشکلاتی داره:
- فقدان ساختار: در کانبان، ممکنه تیمها به دلیل نبود اسپرینت و مراسمات منظم، دچار سردرگمی بشن.
- چالش در برنامهریزی بلندمدت: کانبان بیشتر روی تحویل مداوم و کوتاهمدت تمرکز داره و برای برنامهریزیهای طولانیمدت، راهکار کمتری ارائه میده.
حالا اسکرامبان (Scrumban) ترکیبی از ساختار اسکرام و انعطافپذیری کانبان میشه. هدفش، ایجاد تعادل بین برنامهریزی ساختارمند و تحویل مداومه. بعضی ویژگیهای کلیدی اسکرامبان رو میشه اینطور عنوان کرد:
- استفاده از تابلوی کانبان برای مدیریت کارها و محدود کردن تعداد کارهای در حال انجام (WIP).
- جلسات اسپرینت پلنینگ به صورت انعطافپذیر، به جای برنامهریزی اسپرینتهای ثابت، تیمها زمانی برنامهریزی میکنن که ظرفیت لازم وجود داشته باشه.
- دیلی استندآپهای سادهتر، به جای تمرکز روی «چه کارهایی انجام شده» و «چه کارهایی قراره انجام بشه»، تمرکز بیشتری روی موانع و چالشهای موجود خواهد بود.
- بهبود مستمر، مثل اسکرام، جلسات رتروسپکتیو برگزار میشن، اما با تمرکز بیشتر روی بهبود فرآیند و کاهش هدررفت.
اسکرامبان به تیمها اجازه میده که از ساختار اسکرام، فقط بخشهایی که براشون مفیده، استفاده کنن و در عین حال از انعطافپذیری کانبان هم بهره ببرن:
- انعطاف در نقشها: اسکرامبان، نقشهای انعطافپذیرتری داره و تمرکز بیشتری روی همکاری تیمی و حل مشکلات داره.
- جلسات انعطافپذیرتر: تیمها فقط زمانی جلسه برگزار میکنن که نیاز واقعی به برنامهریزی یا بهبود وجود داشته باشه.
- تاکید بر جریان کار: به جای تمرکز روی اسپرینتها، تمرکز بیشتری روی جریان مداوم کارها و محدود کردن کارهای در حال انجام (WIP) وجود داره.
- کاهش فشار اسپرینت: به جای فشار برای تکمیل تمام کارها در پایان اسپرینت، تیمها میتونن به طور پیوسته کارها رو انجام و تحویل بدن.
چه تیمهایی از اسکرامبان استفاده میکنن؟
اسکرامبان برای تیمهای متوسط تا بزرگ مناسبه، خصوصاً تیمهایی که:
- محیطی پویا و متغیر دارن: تیمهایی که در محیطهای پویا با نیازمندیهای متغیر کار میکنن، میتونن از انعطافپذیری اسکرامبان بهرهمند شن.
- تمرکز روی تحویل مداوم دارند: تیمهایی که باید بهسرعت به نیازهای مشتری پاسخ بدن و تحویل مداوم رو حفظ کنن.
- ترکیبی از توسعه و عملیات (DevOps): تیمهای DevOps که نیاز به هماهنگی مداوم بین توسعه و عملیات دارن.
- پروژههای بلندمدت یا پیچیده: پروژههایی که نیاز به برنامهریزیهای بلندمدت دارن، اما باید به صورت مداوم و تدریجی تحویل داشته باشن.
چه کسانی از اسکرامبان استفاده میکنند؟
استارتاپها و شرکتهای تکنولوژی که نیاز به انعطافپذیری بالا و تحویل سریع دارن.
تیمهای محصول و مهندسی در شرکتهای بزرگ، به ویژه تیمهایی که در چرخههای تحویل مداوم (Continuous Delivery) فعالیت میکنن.
مثال: شرکتهایی مثل Spotify و Atlassian یا خیلی از شرکتهای پیشرو از ترکیب اسکرام و کانبان یا مدلهای مشابه اسکرامبان استفاده میکنن تا بهینهترین روش رو برای تیمهای خودشون پیدا کنن. (خودشون رو در خدمت روش نمیبینن، بلکه روش در خدمت تیمهاست)
مزایای اسکرامبان
- انعطافپذیری بیشتر نسبت به اسکرام، با حفظ برنامهریزی ساختاری.
- کاهش اتلاف زمان با کاهش جلسات غیرضروری و تمرکز بیشتر روی کارهای اولویتدار.
- بهبود پیوسته: فرصتهای بهبود فرآیند از طریق جلسات رتروسپکتیو.
- بهبود جریان کار: استفاده از محدودیت WIP باعث میشه کارها سریعتر و با تمرکز بیشتری تکمیل بشن.
از کجا شروع کنیم؟
۱. تابلوی کانبان ایجاد کنید: از یک تابلوی بصری برای پیگیری کارها استفاده کنین و WIP ها رو مشخص کنید.
۲. برنامهریزی انعطافپذیر داشته باشید: به جای اسپرینتهای ثابت، برنامهریزی کنید چقدر زمان تیم نیاز و ظرفیت داره.
۳. جلسات روزانه سادهتر برگزار کنید: به جای تمرکز روی گزارشدهی، روی موانع و چالشها تمرکز کنین.
۴. فرآیند را بهبود دهید: از جلسات رتروسپکتیو برای شناسایی مشکلات و بهبود مستمر استفاده کنین
۵. یاد بگیرید، تجربههای موفق و توصیههای شرکتهای پیشرو رو دنبال کنید و همیشه به این فکر کنین که روش باید در خدمت شما و بهرهوری تیمتون باشه!
سال ۲۰۱۷ در مورد Agile, Scrum, CMMI به تفصیل در جلسهای صحبت کردم که ویدیوش اینجاست، اگر دوست داشتید ببینید (البته خیلی قدیمیه و محتوا بهروز بهشمار نمیاد دیگه!)