چارچوبهای (framework)، چابکسازی (Agile) و توسعه محصول در دهه اخیر در دنیا بسیار محبوب و مرسوم شدهاند. نامهایی مثل XP، Scrum، Kanban و … بسیار مطرح هستند. بهعنوان برنامهنویس یا توسعهدهنده محصول در آگهیهای استخدام این عناوین را بسیار دیدهایم. بدون یک تحلیل اولیه میتوانیم اذعان کنیم در این دوران اسکرام یکی از پرکاربردترین چارچوبهای چابکسازی بوده است؛ ولی واقعا در کنار کثرت استفاده و کاربرد آن آیا اسکرام محبوبترین یا پربازدهترین متدولوژی چابکسازی بوده است؟ سوالی که حداقل در چند سال اخیر درباره آن بسیار تردید بهوجود آمده است. در این مطلب سعی داریم چالشهای این موضوع را بررسی کنیم و در نهایت نقطه مقابل اسکرام، یعنی کانبان را مورد تاکید و نقد قرار دهیم.
اسکرام از کجا آمد؟
در ابتدا بهتر است خیلی کوتاه و سریع با اسکرام بیشتر آشنا شویم. اسکرام را راهی برای انجام کار بهصورت تیمی در تکههای کوچک در یک زمان، با بررسی و نظارت مداوم و ایجاد حلقههای بازخورد (اسپرینت/ sprint) در طول مسیر تولید برای یادگیری و بهبود در طول مسیر در نظر بگیرید. اسکرام به افراد و تیمها کمک میکند تا ارزش را بهصورت تدریجی و به روشی مشترک ارائه دهند. بهعنوان یک چارچوب چابک، اسکرام ساختار کافی را برای افراد و تیمها فراهم میکند تا بتوانند با نحوه کار خود ادغام شوند، در حالی که روشهای مناسب را برای بهینهسازی برای نیازهای خاص خود اضافه میکند. در اسکرام کار تیمی و خودسازماندهی بهعنوان یک نگرش فرهنگی دیده شده است.
چرا به آن اسکرام میگوییم؟
افراد اغلب می پرسند، «آیا اسکرام مخفف چیزی است؟» و پاسخ منفی است. در واقع اسکرام از الهام گرفته شده است. در راگبی، اعضای تیم در حالت و فضایی که آنها را اسکرام مینامند گرد هم میآیند تا برای حرکتدادن توپ به جلو با یکدیگر همکاری کنند. در اینجا و در تیم توسعه محصول، اسکرام جایی است که اعضای تیم برای پیشبرد محصول گرد هم میآیند.
یکی از قوانین اساسی راگبی، که بیشتر آن را از سایر ورزشها متمایز میکند، این است که برای پیشروی به سمت دروازه، توپ باید همیشه به عقب فرستاده شود: توپ بیضی هرگز نمیتواند به جلو منتقل شود! به همین دلیل، بازی راگبی کار تیمی قوی را تحمیل میکند که همه بازیکنان را ملزم به کار هماهنگ میکند. مهم نیست در استراتژی بازی چقدر سریع، قوی و خوب عمل کردهایم؛ در راگبی هیچ بازیکنی بدون کار تیمی نمیتواند گلزنی کند و تیمی که از متدولوژی اسکرام استفاده میکند نیز همینطور است. کار باید بهگونهای سازماندهی شود که بتواند بهراحتی از فردی به فرد دیگر در تیم منتقل شود، بدون اینکه فضایی برای یک «سوپراستار» برای کار به تنهایی بدون ارائه یا دریافت نظر از تیم انجام شود. در تیم همه اعضا در نقش سوپراستار خواهند بود.
در هر حال اسکرام یک فرآیند تجربی است که در آن تصمیمات بر اساس مشاهده، تجربه و آزمایش بهدست می آید. اسکرام دارای سه رکن اصلی است: شفافیت (transparency)، بازرسی (inspection) و انطباق .(adaptation) این از مفهوم تکرار کار (iteratively) پیروی و پشتیبانی میکند. تجربهگرایی را بهعنوان کار کردن از طریق آزمایشهای کوچک، یادگیری از آن کار و تطبیق آنچه انجام میدهید و نحوه انجام آن در صورت نیاز، در اجرای تیمی میتوانید در نظر بگیرید.
یکی از ویژگیهای مهم تیم اسکرام که همه عناصر را به هم متصل میکند اعتماد است. اگر اعتماد در تیم اسکرام حضور نداشته باشد، احتمالاً تنش و تنگناهایی در راه انجام کار تیمی وجود خواهد داشت. ارزشهای اسکرام نیز برای تیمهای اسکرام ضروری است که به آنها پایبند باشند، زیرا به راهنمایی نحوه کار شما و جلب اعتماد کمک میکنند. ارزشهای اسکرام شجاعت (Courage)، تمرکز (Focus)، تعهد (Commitment)، احترام (Respect) و گشودگی (Openness)، همگی عناصر مهمی هستند که اعضای تیم اسکرام هنگام کار با یکدیگر باید در نظر بگیرند. ارزشهای اسکرام به ویژه در محیطهایی که آزمایش و تکرار آن هسته اصلی پیشرفت است، اهمیت ویژهایی دارد.
تا همین جا و با وجود گزارههای اشارهشده، اسکرام بهنظر چابک بوده و میتواند کار تیمی با ارزش را خلق کند. حتی فرهنگ تولید محصول به واسطه اسکرام شکل دقیقتر و بارزتری میگیرد. شاید در گذشته (دهه نود میلادی) روش کار تیمی و یا تولید محصول بهصورت آبشاری بود؛ ولی هم اکنون دیگر داشتن چارچوبهای چابک یک ارزش تلقی میشود.
آیا اسکرام در دنیای چابکسازی تنهاست؟
مطمئنا پاسخ این سوال منفی است. روشهای مختلف توسعه محصول، تغییرات فرهنگ سازمانی، تفاوت نوع محصول باعث شده است اسکرام بهعنوان یک چارچوب منحصر بهفرد شناخته نشود. استانداردی مانند کانبان (Kanban) در سالیان سال توانسته جایگاه بهتری را برای خود ایجاد کند.
چرا اسکرام نمیتواند مطلوب باشد؟
روشهای زمانبندی شده برای اجرای تسکها
در اسکرام همانطور که اشاره کردیم، تایمهای از پیش تعریف شده (timeboxed) به تیم پیشنهاد و به نوعی اجبار شده است. در مرور زمان این وجه باعث تکرار بیش از حد زمانبندی در تیمهای نوپا با تسکهای پیچیده میشود.
اسکرام تکراری میشود
اعضای تیم، بهویژه نقشهای فنی و اجرایی در صورت طولانیشدن روند پروژه یا تکرار در ایجاد بک لاگ تکرار میافتند.
اسکرام ملالآور میشود
تصور کنید تیمی را برای تولید یک محصول در اختیار دارید که با توجه به مشکلات مختلف، مسیر تولید محصول آنها طولانی است و مجبور هستید طبق فرهنگ اسکرام، اسپرینتها و میتینگهای روزانه را برگزار کنید. پس از مدتی نیروهایی که حرفهایتر و در سطح سینیور هستند، نسبت به نیروهای جونیور دچار روزمرگی میشوند؛ چون به این نتیجه میرسند که احتمالا به علت حضور نیروهای سطح پایینتر پروژه دچار مشکل در مسیر توسعه شده است.
مالک محصول شوالیه مشکلات!
مالک محصول (Product Owner) در تیم اسکرام نقش یک شوالیه قدرتمند را دارد؛ چون قاعدتا باید با حداکثر توانایی در میدان نبرد حضور داشته باشد ولی نه نبردی کلاسیک. شوالیه باید در کنار تیم توسعه و تیم ذینفعان (Stackholder) حضور داشته باشد. این نقش باعث میشود که نتواند بهطور کامل و مورد انتظار تیم، در کنار آنها باشد (چه صحیح، چه غلط)
مالک محصول بعضا دارای دید عمیق فنی نسبت به چرخه تولید محصول نیست. بعضا این باعث میشود که دید خود را بدون در لحاظ گرفتن ابعاد فنی به تیم منتقل کنند که در مرور زمان باعث ایجاد فرسایش در تیم و در لایههای فنی میشود. یکی از راه حلهای این موضوع در چارچوبهای نوین تر نقش TPO یا همان مالک محصول فنی است که میتواند این مشکل را برطرف کند.
اسکرام مستر، نقشی تزئینی
اسکرام مستر، همانطور که از نام و عنوان آن برمیآید باید بتواند الگو و فرهنگ اسکرام را در تیم جاری و هدایت کند؛ ولی این یک روی سکه است. در تیمهایی که مالک محصول یا شخص دیگری اعمال نفوذ بالایی دارد، نقش اسکرام مستر تبدیل به یک برنامهریز صرف میشود. با حذف قدرت و تواناییهای اسکرام مستر، روح اسکرام و فرهنگ آن از تیم خارج میشود. به نوعی تیم بدون اسکرام مستر همان روشهای غیرچابک گذشته را به سرعت برای ما ایجاد میکند.
کانبان، چارچوبی چابک تر
Kanban یک روش محبوبتر نسبت به اسکرام است، کانبان تجربه تحویل محصول را در تیمهای متعدد بهینه میکند. به نحوی که میتوانید همهی پروژههای خود را در یک محیط واحد مدیریت کنید
کانبان از کجا آمده است؟
کلمه ژاپنی کانبان به معنای تخته بصری یا نشانه به معنای تعریف فرآیند است که از دهه 1950 میلادی استفاده شده است. کانبان اولین بار توسط شرکت تویوتا به عنوان یک سیستم برنامه ریزی برای تولید به موقع توسعه و اعمال شد. از سوی دیگر، اصطلاح kanban و با پیدایش «روش کانبان» که اولین بار در سال 2007 تعریف شد، همراه است. در روش کانبان، تحویل به موقع به عنوان یک ارزش دیده است. قربانی نشدن بهرهوری و در نهایت ایجاد ارزش بیشتر برای مشتری به عنوان یک فرهنگ پذیرفته شده است.
بزرگترین تفاوتهای کانبان با اسکرام
در کانبان هیچ نقشی از قبل وجود ندارد. نقشهایی مانند اسکرام مستر، مالک محصول و تیم توسعه تعریف نشدهاند و برای ارائه نسخههای محصول هیچ محدودیتی وجود ندارد. در اسکرام بهواسطه اسپرینتها نسخهها منتشر میشوند. همانطور که اشاره کردیم، اسپرینت خود در پروژههای بزرگ که به نقطه لانچ نرسیدهاند، تبدیل به یک معضل برای تیم توسعه خواهد شد.
کانبان برچهار اصل کلی تاکید دارد
1- تجسم گردش کار
تجسم واضح کار شما برای کانبان اساسی است. برای دستیابی به این هدف، تیمها از تابلوهای کانبان استفاده میکنند که کارهای برجسته را بهعنوان «کارها» و کارهای تمامشده را «انجام شد» برچسبگذاری میکنند. برچسبگذاری بیشتر برای برچسبگذاری دقیقتر وضعیتها، پرچمگذاری مشکلات یا مشخص کردن اینکه چه کسی مسئول وظایف خاص است استفاده میشود. برخلاف اسکرام که نقشها بسیار مهم هستند، در کانبان همه مسئول انجام کارها هستند. این نگرش باعث می شود روحیه و فرهنگ تولید محصول ناب با تفاوتهای بارزی نسبت به اسکرام نقش پیدا کند.
2- کار (task in progress) در حال انجام را محدود کنید
برای جلوگیری از تحت فشار قرار دادن تیم خود یا از دست دادن مسیر وظایف، محدودیتی را برای تعداد کار در حال انجام (یا در ستون کارها) در یک زمان تعیین کنید. این به شما کمک میکند تا مطمئن شوید که تیم شما ابتدا قبل از شروع موارد کاری جدید از بکلاگ محصول، با کارهای با اولویت بالا مقابله میکند.
3- تمرکز بر جریان: (Focus workflow)
با حفظ و رصد تابلوی (برد) کانبان توسط همه اعضای تیم، کار روانتر میشود. برای اطمینان از ادامه این جریان، به دنبال تنگناها یا مشکلاتی باشید که باعث وقفه میشوند و از آنها بهعنوان فرصتهایی برای دستیابی به بهبود بیشتر استفاده کنید. هدف نهایی این است که کار بهطور مداوم بدون توقف جریان کار ادامه داشته باشد. در واقع در کانبان کار متوقف نباید شود.
4- بر بهبود مستمر تاکید دارد
سیستم کانبان خود و نحوه واکنش تیمتان به آن را زیر نظر داشته باشید و به دنبال راههایی برای بهبود در طول زمان باشید. در کانبان دید بهتری به پیشرفت تیم و تسکها خواهید داشت. در اسکرام بعضی از تسکها و بکلاگ ها بهصورت تودرتو و با توجه به الویتها از شرایط تبدیل به بدهی فنی (Technical debt) میشوند.
5- من هم نقش دارم
کانبان برد، اولین حسی که به اعضای تیم منتقل می کند، «نقش داشتن» است. محصولات ناب حاصل نقش موثر اعضای تیم در چرخه تولید است. حس درگیر شدن در تسکها، باگها و چالشهای تولید محصول باعث میشود تفاوتهای بیشتری نسبت به اسکرام داشته باشیم. با توجه به همهی موارد ذکر شده، انتخاب چارچوب چابکسازی مناسب هر تیم، بسته به شرایط و فرهنگ تولید محصول خواهد بود. ولی به زعم نگارنده کانبان با توجه به خصوصیات ویژه و همچنین چابکتر بودن میتواند انتخاب متناسبتری برای تولید محصول ناب برای تیمهای مختلف باشد.