در پستهای پیشین در مورد تاریخچه Agile و پیاده سازی آن مطالبی بیان شد. در این پست در مورد جزئیات بیشتری از پیاده سازی Agile صحبت خواهیم کرد.
همانطور که پیش از این گفتیم، Agile ترکیبی از برنامه ریزی، اجرا، یادگیری و تکرار میباشد، اما پیاده سازی َAgile واقعی میتواند شامل ۷ گام باشد:
در آغاز یک پروژه با Agile، لازم است تا نیازهای کسب و کار را تعیین کنید. در سازمانهای تولیدکننده، یکی از بهترین راههای تعیین چشم انداز استفاده از روش معرفی یا سخنرانی آسانسوری از طریق پاسخ به سوالات زیر است:
این نقشه یک نگاه از بالا به الزامات پروژه شما با مقیاس زمانی منعطف برای زمانی که هر کدام از این الزامات را توسعه میدهید است. واژه “منعطف” اهمیت بالایی دارد. شما روزها و هفتهها را صرف برنامه ریزی برای هر گام نخواهید کرد، بلکه به سادگی هر تلاشی را که برای رسیدن به یک محصول قابل استفاده مورد نیاز است را شناسایی، اولویت بندی و با قدرت تخمین میزنید.
نقشههای برپایه هدف روی اهداف کوتاه و بلند مدت و خروجیهایی چون بدست آوردن مشتری، افزایش تعهد و حذف مشکلات فنی تمرکز دارند. برای هرکدام از این اهداف، موارد ذیل مورد نیاز خواهد بود:
«تاریخ، نام، هدف اصلی، مشخصهها و استانداردها»
پس از تعیین استراتژی و برنامه، نیاز است تا جدول زمانی پیشبینی شدهای را مشخص کنید. در این گام صاحب محصول (Product Owner) جدول زمانی سطح بالایی را تحویل میدهد. در انجام پروژه با Agile انتشارهای مختلفی از محصول وجود خواهد داشت، بنابراین نیازمند اولویتبندی برای انتشار اولین نسخه هستیم.
تیم توسعه و کارفرما، در “اسپرینتها”-سیکلهای کوتاه توسعه که در آن فعالیتها و اهداف خاصی انجام میشود- به جزئیات بیشتری میپردازند. اسپرینتها معمولاً ۱ تا ۴ هفته به طول میانجامند و باید در همین مدت زمان در طول پروژه باقی بمانند تا اعضای تیم پروژه بتوانند کارهای آتی را بر اساس عملکرد گذشته برنامهریزی کنند.
در طول هر اسپرینت، نیاز است تا موانعی که جلوی رسیدن به موقع به هدف را میگیرند شناسایی شوند. این کار در استندآپهای روزانه ممکن خواهدشد. این جلسات در ۱۵ دقیقه بوده و تیم برای صحبت درمورد چنین موضوعاتی گرد هم جمع میشوند:
چنانچه همه چیز طبق برنامه پیش برود، در انتهای سیکل اسپرینت شما یک قسمت از برنامه را دارید که کار میکند. در این قسمت کارهای انجام شده بازبینی شده و به افراد تیم و ذی نفعان پروژه نشان داده خواهد شد. نکته مهم در این قسمت این است که الزامات مورد نظر پروژه مطابق برنامه انجام شده باشد. به عنوان صاحب محصول، میتوانید عملکردهای خاصی را رد کرده و یا بپذیرید. Agile در اصل یادگیری و تکرار مداوم است و این امر در فرایندها و در نهایت محصولتان نمود پیدا میکند.
در مدیریت پروژه Agile، باید دید روشنی از اسپرینت قبلی برای شروع گامهای بعدی داشته باشید. آیا مواردی که از اسپرینت قبلی آموختید، روی زمان بندی اولیه و چشم انداز پروژه موثر بوده است؟
در این مرحله قسمتی از نرم افزار در اختیار است که قابل انتشار بوده، از روی آن میتوان بازخورد دریافت نمود و ویژگیهای جدید و اصلاحاتی را نیز میتوان روی آن اعمال کرد. این انتشار، یادگیری و ساختن مداوم است که Agile را چنین قدرتمند ساختهاست.