مترجم: یاسر کازرونی
برنامهریزی انتشار
هدف از برنامهریزی انتشار، ایجاد توازن[۱] بین محدوده، تاریخ انتشار و بودجه در تحویل تدریجی محصول است.
معمولاً در توسعهی محصول، منطقی و ضروری است که برنامهریزی انتشار پس از ترسیم چشمانداز (برنامهریزی محصول) و قبل از شروع اولین اسپرینتِ هر انتشار انجام شود. در این مقطع از کار میتوانید برنامهای برای انتشار تهیه کنید که بین میزان کاری که میتوانید انجام دهید و تاریخ انتشار، تعادل ایجاد کند.
برای تعیین تعداد ویژگیهایی که میتوانید در تاریخ معینی تحویل دهید (انتشار با تاریخ ثابت) یا تعیین تاریخ تحویل مجموعهای از ویژگیها (انتشار با محدودهی ثابت) باید تعداد قابل قبولی از اقلام بکلاگ محصول را ایجاد و برآورد کنید.
یک روش ساده برای تصویرسازی[۲] یک انتشار، کشیدن خطی افقی بر روی بکلاگ محصول است (شکل ۱۵-۳). اقلام بالای این خط در این انتشار قرار دارند و اقلام زیر این خط در این انتشار قرار نمیگیرند. به مرور زمان که دید بهتری از محصول پیدا میکنید، ممکن است این خط به سمت بالا یا پایین جابهجا شود. در فصل ۱۸ دربارهی روش تعیین محل این خط توضیح خواهیم داد.
شکل ۱۵–۳: استفاده از خط انتشار در بکلاگ محصول
حالا به آسانی میتوانید ارتباط بین نقشهی راه محصول و بکلاگ محصول را برقرار کنید و به کمک آن جزییات بیشتری از محتوای چند انتشار آتی در نقشهی راه محصول دست پیدا کنید (شکل ۱۵-۴). هر انتشار در نقشهی راه محصول با مجموعهای از ویژگیها در بکلاگ محصول در ارتباط است.
شکل ۱۵–۴: نگاشت انتشارهای نقشهی راه محصول به بکلاگ محصول
برنامهی انتشار باید دارای بُعد زمان نیز باشد. بُعد زمان را میتوان با اسپرینتهایی که برای تکمیل انتشار لازم است نشان داد. اغلب انتشارها از نظر حجم کار، بزرگ هستند و ویژگیهای موجود در آنها را نمیتوان در یک اسپرینت انجام داد و تمام کرد (شکل ۱۵-۵).
شکل ۱۵–۵: هر انتشار میتواند شامل یک یا چند اسپرینت باشد
ممکن است در برنامهریزی انتشار بخواهید پا را فراتر بگذارید و ویژگیهایی را که در چند اسپرینت اول قابل تحویلاند تخمین بزنید. این کار میتواند برای ایجاد هماهنگی بین چند تیم یا درخواست زودتر از موعد یک تیم برای سختافزار، ابزار یا کمکِ دیگران، مفید باشد. اما تخمین بیش از چند اسپرینت معمولاً بیفایده است و اصلِ«بهموقع»[۳] و «به اندازهی کافی»[۴] بودن برنامهریزی را نقض میکند.
برنامهریزی اسپرینت
برنامهریزی اسپرینت در ابتدای هر اسپرینت انجام میشود و طی آن در مورد اقلامی از بکلاگ محصول که در اسپرینت جاری انجام خواهند شد، توافق میشود. تیم در این فعالیت، بکلاگ اسپرینت را تهیه میکند که شامل کارهایی است که در سطح وظیفهاند[۵] و انجام آنها برای تکمیل اقلام بکلاگ محصول ضروری است (شکل ۱۵-۶).
تیم در برنامهریزی اسپرینت، سطح بعدی از رویکرد برنامهریزی تفصیلی[۶] و بهموقع را انجام میدهد[۷]. جزییات برنامهریزی اسپرینت را در فصل ۱۹ بررسی خواهیم کرد.
برنامهریزی روزانه
جزییترین سطح برنامهریزی تیم در جلسات روزانهی اسکرام اتفاق میافتد. همانطور که قبلاً گفته شد برنامهریزی روزانه فعالیتی است که در آن، اعضای تیم دور هم جمع میشوند و هر کس بهنوبت توضیح میدهد که:
- از اسکرام روزانهی قبلی تا حالا چه کارهایی انجام داده است
- چه کارهایی را برای امروز برنامهریزی کرده است
- با چه مشکلات و موانعی روبهروست
شکل ۱۵–۶: هر اسپرینت دارای یک بکلاگ اسپرینت است
در اسکرام روزانه، اعضای تیم به صورت دستهجمعی و به شیوهای بسیار شفاف، تصویر کلانی از برنامهی روزانهی تیم را ارائه میدهند. چنین کاری به تیم کمک میکند تا از هشدار و آمادهباش اعضایش استفاده کند. مثلاً ممکن است یکی از اعضا بگوید: «امروز میخواهم روی رویهی ذخیرهشدهی[۸] پایگاه داده کار کنم و باید آن را تا ظهر تمام کنم. کسی که میخواهد روی منطق کسبوکار[۹] کار کند باید آماده باشد تا بلافاصله بعد از ناهار کارش را شروع کند و حواسش باشد که پیادهسازی منطق کسبوکار برای تکمیل کارِ ما در این اسپرینت روی مسیر بحرانی[۱۰] قرار دارد». چنین گفتگوهایی باعث میشود تا موانع احتمالی در اولین فرصت شناسایی شوند و رفع آنها منجر به بهبود اجرای اسپرینت گردند.
سخن پایانی
در این فصل نشان داده شد که برنامهریزی در توسعه به روش اسکرام، چگونه در چندین سطح و هر یک با جزییات متفاوت انجام میشود. در شکل ۱۵-۷ فراوردههای هر یک از این سطوح (به جز برنامهریزی سبد محصول و برنامهریزی روزانه) و نحوهی ارتباط آنها با یکدیگر به تصویر کشیده شده است.
در فصلهای بعد به طور عمیقتری به برنامهریزی سبد محصول، برنامهریزی محصول، برنامهریزی انتشار و برنامهریزی اسپرینت خواهیم پرداخت.
شکل ۱۵–۷: برنامهریزی سلسلهمراتبی[۱۱] در اسکرام
[۱] Trade-off
[۲] Visualize
[۳] Just in time
[۴] Just enough
[۵] Task-level
[۶] Detailed planning
[۷] همانطور که گفته شد، برنامهریزی در اسکرام در سطوح مختلفی از جزییات مانند استراتژی، سبد محصول، محصول، انتشار، اسپرینت و روزانه انجام میشود. هر سطح، جزییات موارد تعیینشده در سطح قبلی را برنامهریزی میکند. برنامهریزی اسپرینت پس از برنامهریزی انتشار انجام میشود که در آن جزییات روش انجام اقلام بکلاگ در یک اسپرینت را برنامهریزی میشود. [مترجم]
[۸] Stored procedure
[۹] Business logic
[۱۰] Critical path
مسیر بحرانی، مجموعهای از فعالیتها هستند که بلندترین مسیر در طول پروژه را تشکیل میدهند. جمع زمان فعالیتهای موجود در مسیر بحرانی نشانگر حداقل مدت ممکن برای انجام پروژه است و هرگونه تغییری در آنها باعث افزایش مدت پروژه خواهد شد. [مترجم]
[۱۱] Hierarchical
دیدگاهتان را بنویسید