گردش کار توسعه نرم افزار مبتنی بر متدولوژی اسکرام
اسکرام یک چارچوب مدیریت پروژه چابک است که به تیم ها کمک می کند تا پروژه خود را از طریق مجموعه ای از ارزش ها، اصول و شیوه ها ساختاردهی و مدیریت کنند. به صورت عمومی اسکرام در مدیریت پروژه های نرم افزاری مورد بهره برداری قرار می گیرد. رویکرد کلی متدولوژی اسکرام مبتنی بر توسعه نرم افزار به صورت تدریجی است. در شکل زیر ساختار کلی فرآیند اسکرام نشان داده شده است.
فرآیند متدولوژی اسکرام
همانند تمامی متدولوژیهای توسعه تدریجی، در اسکرام نیز دورههای زمانی تعریف می شوند که در طی آنها محصول نهایی پروژه به تدریج تکمیل میشود. این دورههای زمانی را در اسکرام Sprint نامیده میشوند. طی یک Sprint که معمولاً یک دوره دو تا چهار هفته است، تیم توسعه یک محصول قابل ارائه و قابل استفاده را به صورت تدریجی تولید میکنند.
نیازمندیهای کارکردی و غیرکارکردی سامانه در سند تحت عنوان Product Backlog به صورت اولویتبندی شده تعریف و نگهداری می شوند. این نیازمندیها تبیین کننده، مشخصات سیستمی هستند که در نهایت باید تولید شده و ارائه گردد. در ابتدای هر Sprint طی جلسه ای مواردی از Product Backlog برای تولید در Sprint مربوطه انتخاب می شود.
این جلسه با حضور اعضای تیم پروژه و مالک محصول برگزار شده و مالک محصول طی این جلسه در مورد نیازمندی های با اولویت به اعضای تیم توضیحاتی داده و اعضای تیم نیز مشخص می کنند که در Sprint مذکور تا چه میزان از نیازمندی ها را می توانند پیاده سازی کنند. مواردی که به عنوان دستور کار پیاده سازی در یک Sprint تعیین می شوند Sprint Backlog نامیده می شوند. این موارد در واقع تعیین کننده محدوده Sprint مورد نظر هستند.
Sprint Backlog
مواردی که به Sprint Backlog افزوده میشود از Product Backlog حذف می شوند. در این متدولوژی سعی میشود که Sprint در موعد مقرر به اتمام برسد. در صورتی که امکان اتمام Sprint در زمان مقرر وجود نداشته باشد، ممکن است برخی از نیازمندی ها به Product Backlog باز گردانده شوند. برای اینکه تیم بتوانند به برنامه زمانبندی تعیین شده پایبند باشند، جلسات روزانه ای تحت عنوان Daily Scrum با حضور اعضای تیم پروژه برگزار میشود. در این جلسه که حدود 15 دقیقه طول می کشد.
هریک از اعضای تیم عملکرد روز گذشته و برنامه روز جاری خود برای انجام نیازمندی ها را به سایرین اطلاع میدهد. همچنین در صورتی که عامل محدودکننده به عنوان مانع برای جلوگیری از اتمام کار وجود داشته باشد موارد را اعلام می نماید.
پس از خاتمه هریک از Sprintها، فرآورده های خروجی Sprint در جلسه ای (Sprint Review) با حضور مالکین فرآورده و اعضای تیم مرور می شود. در این جلسه کارهای اتمام یافته و کارهای اتمام نیافته بررسی شناسایی میشوند و تنها کارهای اتمام یافته به مالکین و ذینفعان ارائه میشود.
کلام آخر توسعه نرم افزار مبتنی بر متدولوژی اسکرام
در پایان Sprint جلسهای دیگری (Sprint Retrospective) نیز برای بررسی عملکرد تیم طی Sprint و یافتن فرصت های بهبود کار با حضور اعضای تیم برگزار میگردد. طی این جلسه دو سوال کلیدی طرح می شود. اول اینکه چه کاری توسط تیم به خوبی انجام شد؟ دوم اینکه چه کاری در Sprint بعدی قابل بهبود است.
- Iteration
- Sprint
- Sprint Planning Meeting