رفتن به محتوای اصلی
توضیح کوهستانضدالگوهای چابکاسکرام· 7 دقیقه مطالعه· در جامعه

تعریف صلب از «آماده بودن» چگونه چابکی را نابود و صف‌های پنهان ایجاد می‌کند

اصرار بر شفافیت صددرصدی قبل از شروع اسپرینت، عدم قطعیت را به بالادست منتقل کرده و با ایجاد یک مدل آبشاری مخفی، تحویل نرم‌افزار را به تأخیر می‌اندازد.

به قلم قاسم پناهی

این خبر را به اشتراک بگذارید

به‌طور خلاصه

  • تعریف صلب از آماده بودن (DoR) مدیران محصول را مجبور به انباشت کارهای با جزئیات کامل می‌کند که این امر باعث ایجاد صف پنهان و تأخیر در ارزش‌رسانی می‌شود.
  • اصرار بر شفافیت کامل پیش از اسپرینت، حل مسئله مشارکتی را به مذاکره قراردادی و ساختاری شبیه مدل آبشاری تبدیل می‌کند.
  • راهنمای رسمی اسکرام عمداً تعریف آماده بودن را حذف کرده و به‌جای آن پالایش مداوم نیازمندی‌ها را توصیه می‌کند.

در تمام هفت نسخه رسمی منتشرشده از راهنمای اسکرام (Scrum Guide)، عبارت «تعریف آماده بودن» (Definition of Ready یا DoR) حتی یک بار هم به‌عنوان یک دست‌سازه یا ابزار الزامی نیامده است. با این حال، در هزاران تیم نرم‌افزاری، این چک‌لیست عملاً به یک عوارضی اجباری تبدیل شده است؛ جایی که مالکان محصول باید پیش از ورود توسعه‌دهندگان به کار، طرح‌های رابط کاربری کاملاً بی‌نقص، معیارهای پذیرش موشکافانه و برآوردهای دقیق امتیاز داستان ارائه دهند.[1]

ریشه این چک‌لیست نوعی سازوکار دفاعی است. برنامه‌نویسانی که بارها از تغییر دامنه کار وسط اسپرینت و نیازمندی‌های گنگ آسیب دیده‌اند، از DoR به‌مثابه سپری استفاده می‌کنند تا کارهای مبهم را از اسپرینت‌های یک تا چهار هفته‌ای خود دور نگه دارند. اگر یک داستان کاربر صددرصد شفاف نباشد، دربانِ ورودی جلوی ورود آن را می‌گیرد.

اما این رویکرد تدافعی، بنیان اساسی متدولوژی چابک (Agile) را تخریب می‌کند. طلبیدن وضوح مطلق پیش از آغاز کار، بک‌لاگ روان را به سد مرحله‌ای و سفت‌وسخت تبدیل می‌کند. این کار ابهام را برطرف نمی‌کند، بلکه صرفاً آن را به بالادست هل می‌دهد؛ صف‌های سنگینی برای مدیران محصول می‌سازد و بی‌سروصدا فرایند آبشاری (واترفال) را زیر نام و عناوین چابک بازتولید می‌کند.[4]

توهم شفافیت پیشاپیش

وقتی تیمی بر یک DoR سخت‌گیرانه پافشاری می‌کند، بارِ حل تمام مجهولات پیش از شروع اسپرینت کاملاً روی دوش مدیران و طراحان محصول می‌افتد. آن‌ها ناچارند کارها را در فاز پنهانیِ «آماده‌سازی» تلنبار کنند و هفته‌ها بدون هم‌فکری توسعه‌دهندگان به پیش‌بینی حالت‌های خاص بپردازند. این چک‌لیست‌ها معمولاً برآورده شدن معیارهای INVEST، وایرفریم‌های نهایی تجربه کاربری و تخمین عددی دقیق را الزامی می‌دانند.

نتیجه، یک صف عظیم بالادستی است. مالک محصول ممکن است ۲۰ ساعت صرف پالایش یک قابلیت کند، اما در جلسه برنامه‌ریزی دو ساعته اسپرینت، تیم مهندسی صرفاً به دلیل باز ماندن یک وابستگی API کل کار را پس بزند. تیکت برگشت می‌خورد، صف طولانی‌تر می‌شود و زمان انتظار مشتری برای دریافت خروجی باارزش (Lead Time)، از چند هفته به چند ماه کش پیدا می‌کند.[4]

تعریف صلب از آماده بودن مدیران محصول را به انبار کردن کارها وادار کرده و صفی پنهان در بالادست می‌سازد.

مایک کوهن (Mike Cohn)، از نویسندگان نامدار حوزه متدولوژی‌های چابک در مؤسسه Mountain Goat Software، هشدار می‌دهد که اصرار بر آمادگی مطلق، جلوی «مهندسی هم‌زمان» را که رمز موفقیت چابک است می‌گیرد. در یک ساختار سالم، تیم‌ها باید همواره کمی تحلیل، کمی طراحی و کمی کدنویسی را به‌طور موازی پیش ببرند.

کوهن می‌نویسد: «اگر قواعد شما بگوید کاری باید پیش از ورود به تکرار (ایترِیشن) صددرصد تکمیل شده باشد، تعریف آماده بودن گامی بزرگ به‌سوی رویکرد متوالی و فازبندی‌شده خواهد بود.» او تأکید دارد این کار پویایی و چابکی تیم را از بن مختل می‌کند.

در یک محیط چابک اصیل، تحلیل، طراحی و کدنویسی به جای تحویل‌های رسمی مرحله‌به‌مرحله، مدام هم‌پوشانی دارند. وقتی DoR حکم می‌کند که طراحی باید پیش از آغاز کدنویسی تماماً نهایی شود، تیم عملاً وارد چرخه توسعه مرحله‌ای شده؛ همان مدل آبشاری با برچسبی متفاوت.

تبدیل گفت‌وگو به قرارداد

جوهر اصلی یک داستان کاربر (User Story) ایجاد بهانه‌ای برای گفتگو است، نه یک مشخصات فنی جامع و قطعی. یک DoR انعطاف‌ناپذیر این سازوکار را وارونه می‌کند و هر قلم بک‌لاگ را به قراردادی الزام‌آور بدل می‌سازد که پیش از شروع کار باید بر سر آن مذاکره و امضا شود.

سازمان Scrum.org رسماً این شیوه سخت‌گیرانه را یک «ضدالگو» (Anti-pattern) مخرب می‌خواند. اتکا به چک‌لیست برای سنجش آمادگی، توهمی از شفافیت ایجاد می‌کند و تیم‌ها گمان می‌کنند اسناد ارائه‌شده بدون نیاز به بحث بیشتر، تمام نیازهای واقعی کاربر را در بر گرفته است.[1]

این سازمان در رهنمودهای رسمی خود می‌گوید: «با استقرار یک تعریف آماده بودن صلب، توسعه‌دهندگان بیشتر به چک‌لیست تکیه می‌کنند تا به تعامل و هم‌فکری.» این دقیقاً نشان می‌دهد سدهای مرحله‌ای چطور مانع همکاری تیمی و مشتری‌مداری می‌شوند.[1]

وقتی مالکان محصول ناچار به ذکر تمام جزئیات شوند، بهره‌وری فردی آن‌ها اشباع شده و زمان تحویل تصاعدی بالا می‌رود.

واقعیت صنعت نرم‌افزار، غیرقابل پیش‌بینی بودن آن است. تا زمانی که ساخت محصول آغاز نشود، امکان شناخت همه‌جانبه آن وجود ندارد. منجمد کردن نیازمندی‌ها در ابتدا، یادگیری حین عمل را کور می‌کند؛ درحالی‌که اساس کنترل فرایند تجربی (Empirical Process Control) بر همین یادگیری بنا شده است.

این اختلال معمولاً به پدیده‌ای به نام «اسپرینت صفر» می‌انجامد؛ دوره‌ای یک‌ماهه که کلاً صرف معماری و تحلیل می‌شود. Scrum.org صراحتاً این کار را مصداق همان مدل آبشاریِ تغییرنام‌یافته می‌داند؛ رویکردی که بر فرض غیرواقعیِ تثبیت پیشاپیشِ همه نیازها سوار شده است.[1]

تاوان سنگین صف‌های بالادستی

طبق نظریه صف، با نزدیک شدن بهره‌وری منابع به ۱۰۰ درصد، زمان انتظار تصاعدی بالا می‌رود. وقتی مالکان محصول ناچارند تک‌تک داستان‌ها را برای تطبیق با DoR موشکافی کنند، ظرفیت کاری آن‌ها اشباع می‌شود. آن‌ها گلوگاه سیستم شده و نمی‌توانند تیم فنی را به‌موقع تغذیه کنند.[4]

برای جبران این تأخیر، مالکان محصول به تجمیع کارها (Batching) روی می‌آورند. به جای انتقال ایده‌های کوچک و تدریجی، بسته‌های حجیم از داستان‌های پرجزئیات را آماده می‌کنند. این کار هزینه تأخیر را بالا می‌برد؛ چراکه اگر شرایط بازار تغییر کند، تمام زمان صرف‌شده برای تطبیق تیکت با DoR دود می‌شود و به هوا می‌رود.[4]

علاوه بر این، انسجام تیمی از دست می‌رود. تعامل میان تیم محصول و مهندسی به وضعیتی تقابلی تبدیل می‌شود که مشخصه اصلی آن پاسکاری و رد کردن تیکت‌ها است، نه مسئولیت مشترک. اگر هشت مهندس برای فهمیدن یک تیکت به جلسه‌ای دو ساعته نیاز دارند، راه‌حل سخت‌تر کردن چک‌لیست نیست؛ باید مهندسان را زودتر وارد چرخه کشف مسئله کرد.[4]

مؤسسه مدیریت پروژه (PMI) اشاره می‌کند هدف از DoR در اصل فیلتری ساده برای پیشگیری از ورود کارهای خام بوده است. اما در کاربرد صلب، اسکرام مستر از یک «رهبر خدمتگزار» به مأمور بازرسی تیکت‌ها تبدیل می‌شود که وظیفه‌اش نظارت بر پر کردن فیلدهاست، نه تسریع تحویل محصول.[2][3]

نگاه طیفی به آمادگی به جای سد صفر و یکی، امکان کشف مجهولات را به شکل هم‌زمان برای تیم فراهم می‌کند.

رویکردی منطقی‌تر به مفهوم آمادگی

کنار گذاشتن یک DoR صلب به معنای تن دادن به آشفتگی یا کارهای بی‌کیفیت نیست. نسخه ۲۰۲۰ راهنمای اسکرام مستقیماً به موضوع آمادگی می‌پردازد، اما عمداً نیازی به چک‌لیست صوری یا گیت ورودی سفت‌وسخت نمی‌بیند.[1]

در این راهنما آمده است: «اقلامی از بک‌لاگ محصول که بتوانند توسط تیم اسکرام در طول یک اسپرینت به وضعیت انجام‌شده (Done) برسند، برای انتخاب در جلسه برنامه‌ریزی اسپرینت، آماده تلقی می‌شوند.» این متن تصریح می‌کند شفافیت با پالایش مستمر به دست می‌آید، نه با مستندسازی سنگین اولیه.[1]

تیم‌ها باید آمادگی را یک طیف پیوسته ببینند، نه یک گذرگاه صفر و یکی. وقتی تیم ماهیت مسئله را درک کرده، بر سر ارزش آن توافق دارد و برای ورود به مجهولات احساس اطمینان می‌کند، داستان آماده است. اگر وابستگی کوچکی در میان اسپرینت پیدا شد، تیم به جای بهانه کردن چک‌لیست، با هم‌فکری آن را برطرف می‌کند.[4]

سازمان Scrum.org پیشنهاد می‌کند حدود ۲۰ درصد از توان اسپرینت به رفع بدهی فنی و پالایش نیازمندی‌های نوظهور اختصاص یابد. با وارد کردن کارهای نیمه‌شفاف به اسپرینت، برنامه‌نویسان می‌توانند پروتوتایپ بسازند یا تست‌های فنی سریع انجام دهند. این کشف فعال، مسیر را بسیار سریع‌تر از تحلیل‌های تئوریک بالادستی روشن می‌کند.[3]

بازگشت به چابکی واقعی

برای تیم‌هایی که در این ضدالگو گیر افتاده‌اند، نخستین قدم، تنزل دادن DoR از یک عوارضی اجباری به چند نشانه و راهنمای سرانگشتی است. اعضای تیم باید بپرسند: «آیا بستر کافی برای شروع داریم؟» نه اینکه سند قطعی چگونگی اتمام کار را طلب کنند.[4]

طرح گرافیکی: چابکی راستین مستلزم جسارت شروع کار پیش از روشن شدن پاسخ همه پرسش‌هاست.

مالکان محصول نیز باید فضا داشته باشند تا ایده‌های اولیه و پرداخته‌نشده را به اشتراک بگذارند. وقتی مهندسان مسئولیت مشترک در طراحی راه‌حل را بپذیرند، صف‌های بالادستی ناپدید می‌شوند. در این حالت، تمرکز از فاکتور کردن تیکت به تحویل نرم‌افزار کاربردی واقعی تغییر جهت می‌دهد.[4]

در نهایت، سرعت یک تیم نرم‌افزاری با سرعت سنجش فرضیات آن در برابر کاربران واقعی تعیین می‌شود. تعریف صلب از آماده بودن، با کش دادن فرایند طراحی اولیه، این اعتبارسنجی را به تأخیر می‌اندازد. چابکی راستین یعنی شجاعت شروع کار پیش از داشتن پاسخ همه پرسش‌ها و اعتماد به توان تیم برای حل مجهولات در مسیر پیش‌رو.[4]

اصول‌گرایان چابک 40%توسعه‌دهندگان محتاط 30%طرفداران استانداردسازی فرایند 30%
اصول‌گرایان چابک
معتقدند چک‌لیست‌های صلب فرایند تجربی را نابود کرده و سدهای مرحله‌ای مدل آبشاری را بازمی‌گردانند.
توسعه‌دهندگان محتاط
تعریف آماده بودن را سپری حیاتی برای حفظ اسپرینت در برابر کارهای مبهم و تغییرات ناگهانی دامنه می‌دانند.
طرفداران استانداردسازی فرایند
تعریف آماده بودن را فیلتری کیفی برای هماهنگی بین‌تیمی و تثبیت ورودی کارهای توسعه ارزیابی می‌کنند.

دیدگاه‌هایی که این گزارش پوشش نداده

  • صنایع با نظارت‌های سخت‌گیرانه قانونی (هوافضا، تجهیزات پزشکی) که در آن‌ها فیلترهای بالادستی صلب قانوناً برای رعایت انطباق و ایمنی اجباری است.

منابع

پوشش منابع

4 منبع

3 دیدگاه شناسایی‌شده

اصول‌گرایان چابک 40%توسعه‌دهندگان محتاط 30%طرفداران استانداردسازی فرایند 30%
  1. [1]Scrum.orgاصول‌گرایان چابک

    The Definition of Ready

    مطالعه در Scrum.org →
  2. [2]Project Management Instituteطرفداران استانداردسازی فرایند

    Definition of ready (DoR)

    مطالعه در Project Management Institute →
  3. [3]Boldareتوسعه‌دهندگان محتاط

    Scrum anti-patterns

    مطالعه در Boldare →
  4. [4]تیم سردبیری کوهستاناصول‌گرایان چابک

    تحلیل تیم سردبیری کوهستان

    مطالعه در تیم سردبیری کوهستان →

نظرات

همیشه در جریان باشید

هر زاویه. هر روز.

اخبار جامعه با پوشش کامل منابع و تحلیل دیدگاه‌ها، هر روز و رایگان.