جلسه Release Planning جلسهای است که دومین روش (Practice) متدولوژی XP است. این روش مسیر کلی پیش روی یک پروژه را مشخص می کند. نتیجه این جلسه یا همان Release Plan بعدا برای برنامهریزیهای دورهای یا Iteration Planning استفاده میشود.نکته مهم در این است که تصمیمات فنی باید توسط آدمهای فنی و تصمیمات کسب و کار توسط متخصصهای این حوزه گرفته شود. Release Planning متشکل از قوانینی است که این فرصت را به افراد میدهد تا برای پروژهای که روی آن کار میکنند خودشان تصمیم بگیرند. این قوانین همچنین روشی را تعیین میکند که افراد در مورد برنامهای که میتوانند به آن متعهد باشند با هم مذاکره کنند.اهمیت Release Planning برای تیم توسعه در تخمین هر یوزر استوری بر اساس هفتههای ایدهآل برنامه نویسی است. هفته ایدهآل، هفتهای است که به جز پیاده سازی یوزر استوری، مطلقاً کار دیگری وجود نداشته باشد. تست هم شامل این پیاده سازی میشود اما کارهای ناشی از وابستگیهای بین تیمی در این میان شامل نمیشوند. در نهایت مشتری تصمیم میگیرد که کدام یوزر استوری مهمتر است و زودتر باید پیادهسازی شود.
جلسه Release Planning چگونه برگزار میشود؟
یوزر استوریها بر روی تعدادی کارت، چاپ یا نوشته میشوند. دولوپرها و مشتریها با همراهی هم تعدادی از کارتها را روی یک میز بزرگ جا به جا میکنند تا یوزر استوریهایی که قرار است در اولین انتشار (یا Release های بعدی) پیادهسازی شوند مشخص باشند. سیستمی قابل استفاده که قابل تست نیز باشد و به دنبالش در زمان زودتری ارائه می شود و در نتیجه از نظر کسب و کار بیشتر مورد پذیرش است.برنامهریزی میتواند بر اساس زمان (Time) و یا حجم کار (Scope) انجام شود. از ظرفیت پروژه (Project Velocity) میتوان جهت تعیین تعداد یوزر استوریهایی که باید قبل از موعدی پیادهسازی شوند (زمان) و یا تعیین مدت زمانی که تعدادی یوزر استوری مشخص پیاده سازی میشود استفاده کرد (حجم کار). اگر از برنامهریزی بر اساس زمان استفاده میکنید، تعداد یوزر استوریها، حاصل ضرب ظرفیت در تعداد دوره ها یا Iterations خواهد بود. اما اگر حجم کار یا Scope را اساس برنامه ریزی قرار دهید، تعداد دورههایی که طول میکشد تا ریلیز اتفاق بیفتد برابر است با حاصل تقسیم تعداد هفتههای تخمین زده شده جهت پیادهسازی کل پروژه بر ظرفیت پروژه.جزئیات برنامه هر دوره بلافاصله قبل از شروع آن تنظیم میشود. جلسه Release Planning، بازی برنامهریزی نیز نامیده میشود و قوانینش در انبار الگوی پورتلند نوشته شده است.وقتی برنامه انتشار یا Release Plan نهایی نوشته میشود و برای مدیریت ناخوشایند است، تغییر تخمین یوزر استوریها وسوسه انگیز به نظر میرسد. اما تن به چنین کاری ندهید. تخمینها معتبرند و در طول جلسه Iteration Planning بدون تغییر باقی میمانند. سهل پنداشتن یا Underestimate کارها میتواند موجب مشکلات دیگری شود. در عوض میتوانید برای رسیدن به برنامه انتشار مورد پذیرش با دولوپرها، مشتریان و مدیران مذاکره کنید.
جلسه Release Planning بر چه اساسی کار میکند؟
فلسفه پشت Release Planning در این است که پروژه بر اساس چهار متغیر اندازه گیری شود: حجم کار، منابع، زمان و کیفیت. حجم کار یا Scope در مورد میزان کاری که باید انجام شود صحبت میکند. منابع به تعداد نفری که در دسترس است اشاره دارد. زمان همان موقعی است که پروژه تمام و یا محصول جهت انتشار آماده میشود. کیفیت نیز به میزان خوب بودن نرم افزار و مقداری که تست شده است اشاره دارد.هیچ کس نمیتواند هر چهار متغیر را کنترل کند. وقتی یکی را تغییر میدهید، به ناچار دیگری نیز تغییر میکند. توجه داشته باشید که کاهش کیفیت به کمتر از عالی، تاثیر غیر قابل پیش بینی روی سه متغیر دیگر دارد که ممکن است تا انتهای پروژه نیز آشکار نشود.در اصل فقط سه متغیر هست که می توانید تغییر دهید. مدیریت می تواند دو تا از آن ها را تعیین کند و سومی توسط خود تیم توسعه مشخص میشود. با این کار به دولوپرها اجازه میدهید تا فوراً با استخدام افراد زیادی، تمایل مشتریان را برای انجام پروژه تعدیل کنند.