یک تیم توسعه محصول را در نظر بگیرید. این تیم به تازگی چارچوب اسکرام را به عنوان چارچوبی برای توسعه انتخاب کرده است و برای برنامه ریزی اسپرینت های خود دارای مشکلات متعددی است. در این مقاله که از تجربیات واقعی ناشی شده است به بررسی چالشهای رایج در برنامه ریزی اسپرینت ها میپردازیم و راهکارهای مقابله با چالش را ذیل آن بررسی و به آن پرداخته ایم.
اولین چالش رایج در برنامه ریزی – تیم درک درستی از بک لاگ محصول ندارد.
یکی از اصلی ترین چالش های که در تیم های توسعه نرم افزار مشاهده میشود این است که نفرات تیم به خصوص نفرات فنی درک درستی از بک لاگ محصول و اولویت های آن ندارند. این فاصله به دلایل مختلف رخ میدهد که ناشی از گپ بین نفرات تحلیل محصول و نفرات فنی تیم است. دراین تیم، معمولا میزان بدهی فنی به مرور افزایش پیدا میکند و تیم بیشتر زمان خود را به انجام بدهی فنی و یا مواردی که در اثرعدم درک درست از محصول و چرایی فیچر داشته، باید خرج کند. لذا تیم در یک سیکل معیوب گیر میکند و عملا توسعه فیچرهای جدید با کندی شدیدی پیش خواهد رفت.
راهکار اولین چالش : یک بک لاگ بهتر بسازید.
اینکه تیم یک بک لاگ بهتر داشته باشد یک مفهوم کلی است که دارای پیش نیازهای اساسی است. یکی از این پیش نیازها، نوشتن صحیح یوزاستوری است که معتقدم بهترین توضیحات رو Mike Cohn در وبلاگ خود شرح داده است.
یکی دیگر از پیش نیازهای بک لاگ بهتر، برگزاری صحیح رویداد گرومینگ و شکستن تسک ها به کمک همه اعضای تیم است. یک باور غلط ( به اعتقاد من) وجود دارد، اینکه مالک محصول مسئول جلسه گرومینگ است و مالک محصول باید تمامی تسک های بک لاگ را شکسته شده و با جزییات وارد بک لاگ کند. در صورتی که بهترین روش برای برگزاری جلسات گرومینگ، تعامل حداکثری نفرات تیم است و مالک محصول چرایی فیچر و کارکرد آن را برای تیم تشریح و تیم بک لاگ محصول را تکمیل میکنند.به این معنی که در امر شکستن یوزاستوری های بک لاگ، تیم تاثیر مستقیمی خواهد داشت. در نهایت خروجی این جلسه ورودی جلسه پلنینگ است و یک بک لاگ مرتب شده براساس اولویت و نیازمندی های مشتری و با شفافیت بالا آماده و قابل بهره برداری است.
دومین چالش رایج در برنامه ریزی – عدم توانایی تیم در تخمین کارهای بزرگ
دومین چالش رایج در برنامه ریزی، مسئله تخمین است. به خصوص در توسعه فیچرهای بزرگ و دارای ابهام زیاد. در این مورد، تیم توانایی تخمین یک واحد کاری را ندارد و این باعث میشود تا میزان تخمین و کار انجام شده فاصله زیادی داشته باشد و در نهایت در جلسات Review میزان زیادی از تسک ها به حالت Done شده تبدیل نشود. به صورت کلی هدف از تخمین پیدا کردن ضرب آهنگ تیم در اسپرینت های مختلف است. اما در بسیاری از موارد، تیم برای تخمین دچار مشکل میشود .وجود تکنولوژی های جدید، پیچیدگی فنی و بیزینسی و مواردی که دارای ابهام زیاد در توسعه یک فیچر است، باعث کاهش دقت در تخمین میشود و عملا زمان تخمین انجام با میزان کار انجام شده فاصله زیادی خواهند داشت.
راهکار دومین چالش در برنامه ریزی – استفاده از تکنیک Spike و Story Point
تخمین برخی از استوری ها به دلیل پیچیدگی فنی و عدم درک درست تیم از آینده توسعه آن، عملا غیرممکن میشود و ماهیت چابکی در حل چالش های اینچنینی است. برای حل این چالش، تیم از تکنیک Spike برای نوشتن یوزاستوری استفاده میکند و با یک تایم باکس کوتاه، برای تحقیق در خصوص پیاده سازی آن، نتایج را در بازه زمانی مشخص بررسی و با فیدبک نسبت به نتایج حاصل شده( به عنوان Delivery آن) یوزاستوری نهایی را در بک لاگ اسپرینت وارد میکند.این کار ریسک ناشی از خطرات پیاده سازی را تا حد زیادی کاهش میدهد.
همچنین برای مابقی User Story ها، استفاده از Story Point جهت تخصیص تخمین در ازای آن روش مناسبی است. تنها مسئله مهم در استفاده از تکنیک های Story Point، نسبیت است که گاها در بین توسعه دهندگان فراموش میشود.اینکه برخی از توسعه دهندگان برای استفاده از این تکنیک، نسبت را فراموش و هر یوزاستوری را به صورت منفرد بررسی و تخمین میزنند که در این بین وظیفه مستر اسکرام است که با دقت از وقوع چنین مشکلاتی در تیم جلوگیری کن. تکنیک های بسیار زیادی برای استفاده از این روش تخمین، ارائه شده که در این مقاله به آن اشاره نخواهیم کرد.
سومین چالش رایج در برنامه ریزی – تغییر اولویت بندی ها
سومین چالش تیم های توسعه نرم افزار، تغییر اولویت بندی ها و در نتیجه تغییر در بک لاگ محصول و یا ریلیز پلن محصول است. در این شرایط تیم نمیتواند یک برنامه از پیش تعیین شده را دنبال کند و برنامه ریزی در این شرایط برای تیم پیچیده میشود. در بسیاری از موارد، تغییر نیازمندیهای مشتری، تاثیر مستقیم در بک لاگ اسپرینت خواهد داشت. این امر موجب تحمیل هزینه (زمان + منابع مالی) برای تیم و درنهایت سازمان خواهد شد، لذا یکی از مهم ترین چالش های تیم در سطح برنامه ریزی اسپرینت است.
راهکار سومین چالش در برنامه ریزی – اولویت ها را برای تیم شفاف و قابل اندازه گیری کنید
تغییر، اِلمانی جدایی ناپذیر در محیط پویای امروزی است. بنابراین انتظار تغییر در اولویت های مشتری، براساس نیازحال حاضر آن، اجتناب ناپذیر است. لذا تیم باید آمادگی لازم جهت تغییر نیازمندی های مشتری را داشته باشد. یکی از راهکارهایی که تیم را از ریسک های ناشی از این چالش حفظ میکند، شفافیت اولویت ها و متریک کردن اهداف پشت هر نیازمندی است.
برای مثال ” کاهش زمان اندازه گیری گردش کار مربوط به سیستم منابع انسانی توسط کاربران از 5 دقیقه به 3 دقیقه”
در این نوع هدف گذاری، حتی با تغییر اولویت تیم هدف پشت این نیازمندی را به خوبی درک کرده و در نهایت این فیچر پس از توسعه به هدف خود خواهد رسید و این برای تیم قابل اندازه گیری و ردیابی است.
از طرفی دیگر اسکرام برپایه ی تجربه گرایی است به همین خاطر استفاده از چرخه شفافیت، بازرسی و انطباق در اینجا نمود بیشتری برای تیم خواهد داشت. تیم دائما باید با مشتری در ارتباط باشد و با برگزاری جلسات منظم با مشتری، شفافیت لازم برای اولویت های آن را ایجاد و با بازرسی نسبت به برنامه اسپرینت ها، خود را با وضعیت جدید مشتری منطبق کند.
منابع و مراجع :
دیدگاهتان را بنویسید