محصولی که تحت متدلوژی اجایل توسعه می یابد، ویژگی های زیر را داراست:
انتشار های توسعه اجایل و iteration هایی با طول ثابت
متد توسعه نرم افزار اجایل بر اساس دو بخش از ارائه می باشد: انتشار و iteration. یک نسخه به تنهایی شامل چندین فاز از iteration ها می باشد. هر iteration شامل میکرو پروژه خودش می باشد. عملیات های متفاوتی از توسعه اجایل، مانند نقص ها، درخواست ها و دیگر آیتم های کار، سازمان یافته و تخمین زده شده و اولویت بندی می شوند و سپس جهت انتشار تعیین می گردند.
ارائه های قابل اجرا از توسعه اجایل، نرم افزار تست شده
سنجش اولیه تیم توسعه اجایل ارائه ی نرم افزار قابل اجرا و تست شده می باشد. ویژگی های قابل اجرا بعنوان پایه بهبود بازخورد مشتری عمل میکند. بنابراین هر دو سیستم و پروژه در یک مسیر می باشند.
در هر قدمی از توسعه محصول، تیم در جهت بهترین راه حل کسب و کاری حرکت می کند. این از طریق به کارگیری آخرین خروجی از سمت کاربران، مشتریان و دیگر ذی النفعان حاصل می شود.
توسعه ارزش محور
متدلوژی توسعه اجایل از همان ابتدا و به صورت متناوب بر ارائه ارزش کسب و کاری تمرکز دارد. که این از طریق اجرای نرم افزار تست شده قابل اندازه گیری می باشد. تیم توسعه بر ویژگی های محصلول بعنوان بخش مرکزی طراحی، پیگیری و ارائه تمرکز دارد.
همچنان که توسعه از iteration ای به itaration دیگری میرود، تیم بررسی میکند که چه تعداد محصول در حال اجرا می باشد و چه تعداد ویژگی های تست شده را ارائه می دهند.
طرح ریزی متوالی
زمانی که پروژه راه اندازی می شود، تیم توسعه طرح های بسیاری جهت پیشبرد ieration آغازی ارائه می دهند و اگر مناسب باشد طرح انتشار آن را می چینند. یک iteraion به تنهایی جهت طرح متوالی و پی در پی حرکت می کند.
زمانی که یک iteration آغاز می شود، تیم مجموعه ای از ویژگی ها را انتخاب می کند که بتواند هر وظیفه و تسک فنی را اجرا و تخمین زند.
طرح ریزی چند سطحی در توسعه اجایل
طرح ریزی متوالی زمانی بیشترین تاثیر را میگذارد که حداقل در دو سطح ظاهر شود:
- در سطح انتشار، تیم توسعه برآورد می کند و تشخیص می دهد که چه ویژگی هایی باید داشته باشند و چه ویژگی هایی را در حین فرجه و سررسید پروژه به کار گیرند.
- در سطح iteration، تیم توسعه طبق اولویت بندی، جهت انجام دسته بعدی از ویژگی ها برنامه ریزی می کند. اگر ویژگی های محصول بسیار بزرگ باشند که نتوان آن ها در یک iteraion تنها رائه داد، تیم توسعه آن ها را به قسمت های بیشتری می شکنند.
تخمین نسبی
تیم های متعددی از جایل، از تخمین نسبی برای شتاب به برنامه ریزی استفاده می کنند. این کار پیچیدگی غیرضرور را از بین می برد. تیم توسعه تعدادی (3 الی 5 تا) دسته بندی تخمین نسبی را انتخاب می کند و تمام ویژگی های این دسته بندی ها را برآرود می کند.
مفهموم تخمین نسبی این است که تیم را از اتلاف وقت در بحث ها برحذر دارد. اگر یک ویژگی محصول از بیشترین بازه زمانی تخمین زده شده فراتر رفت، می بایست در آینده به چند ویژگی شکسته شود.
کشف ویژگی برجسته
بعد از هفته ها یا ماه ها سر و کله زدن بر تحلیل نیازمندی ها قبل از شروع توسعه، پروژه های توسعه اجایل به سرعت ویژگی ها را اولویت بندی کرده و تخمین میزنند و سپس جزییات مورد نظر را اصلاح می کنند. ویژگی محصول با جزییات بیشتری بین مشتریان و تست کننده ها و توسعه دهندگان توضیح داد میشود.
تست مداوم
با استفاده ار تست مداومی از محصول نرم افزاری، پیشرفت را اندازه گیری میکنیم و از خطا ها جلوگیری میکنیم. ما ویژگی های در حال اجرا و تست شده را بررسی میکنیم. با استفاده از تست متوالی، میتوانیم خطر شکست در پروژه را کاهش دهیم.
بهبود مداوم
تست مداوم و بهبود مداوم رابطه متقابلی با یکدیگر دارند. در حین تست های پی در پی، اگر خطایی یا نقصی در پروژه پیدا کنیم، بلافاصله و مدام خطا را برطرف میکنیم. ما به طور پی در پی هم پروژه و هم سیستم را اصلاح میکنیم.
تیم کوچک عملکرد متقابل (Cross-Functional)
محصول نرم افزاری افزایشی در هر iteration ارائه می شود. تیم های توسعه می بایست cross-functional باشند تا در توسعه نرم افزاری ارزشمند موفق باشند.