Agile چیست ؟ (10 اصل کلیدی از Agile)
Agile چیست ؟ اجایل یکی از واژه های بزرگ صنعت توسعه فناوری
اطلاعات می باشد. اما دقیقا، توسعه اجایل چیست؟
به عبارت ساده، توسعه اجایل شیوه متفاوتی از مدیریت تیم
توسعه آی تی و پروژه ها می باشد. استفاده از کلمه اجایل در این متن، از بیانیه
اجایل مشتق شده است. یک گروه کوچکی از مردم در سال 2011 گرد هم آمدند تا راجع به
احساساتشان در مورد شکست زیاد رویکرد سنتی مدیریت پروژه های توسعه نرم افزار ،
صحبت کنند، و اینکه باید راه بهتری وجود داشته باشد. آنها 4 ارزش مهم را توصیف کردند که امروزه به اندازه گذشته مطرح هستند.این 4 ارزش عبارت اند از:
افراد و تعاملات فرآیندها و ابزارها
نرم افزار کار بر مستندات جامع
همکاری و ضوابط پیش مذاکره قرارداد
پاسخ به تغییر در پیروی یک برنامه
به این معنا که، تا زمانی که ارزشی درمیان موارد سمت راست
وجود دارد، ما برای موارد سمت چپ ارزش بیشتری قائلیم.
پس از آن، استفاده از روش هایی که از این ارزش ها حمایت می
کنند به طور شگفت انگیزی محبوب شدند.
از زمانی که از روش های مختلف اجایل استفاده می کردم، 10 اصول کلیدی اجایل را نوشته ام. این ها ویژگی هایی هستند که در میان تمام روش های اجایل مشترک هستند. و مواردی که من فکر می کنم باعث تفاوت اساسی اجایل نسبت به سایر رویکرد های سنتی توسعه نرم افزار می شود، عبارت اند از:
1- مشارکت کاربر فعال ضروری است
2- تیم برای تصمیم گیری باید توانمند
باشد.
3- الزامات باید تکامل یابد اما مقیاس
زمانی ثابت است.
4- تسخیر الزامات در سطح بالا : بصری
5- توسعه کوچک، انتشار افزایشی و
تکراری
6- تمرکز برای ارائه مکرر محصولات
7- تکمیل هر ویژگی قبل از انتقال به
ویژگی بعدی
8- اعمال قانون 20/80
9- تست کردن در سراسر پروژه چرخه عمر یکپارچه
است- تست اولیه و زیاد
10-وجود یک
رویکرد مشترک و تعاونی در بین همه ذینفعان ضروری است.
روش های مختلفی
وجود دارد که به عنوان اجایل شناخته می شوند، همچنین آنها ارزش های بیانیه اجایل
را ترویج می دهند و مطابق با اصول فوق
هستند. محبوب ترین آنها عبارت اند از:
DSDM از روش های اصلی توسعه اجایل می باشد. DSDM قبل از اختراع
اصطلاح "Agile" وجود داشت، اما DSDM بر اساس و پایه همه
اصولی که به عنوان اجایل می شناسیم، می باشد. به نظر می رسد DSDM در خارج از
انگلستان کمتر شناخته شده باشد.
همچنین Scrum به عنوان روش توسعه اجایل
می باشد، که بر چگونگی مدیریت وظایف در محیط توسعه یافته مبتنی بر تیم، تمرکز ویژه
ای دارد. Scrumیکی از روش های محبوب و پذیرفته شده اجایل می باشد- تصور می کنم محبوبیت آن به علت پیاده سازی نسبتا
آسان آن و رفع بسیاری از مسائل مدیریتی که سالها تیم توسعه آی تی را آزرده است، می
باشد.
XP (Extreme
Programming) یک روش ریشه ای است،
که بیشتر بر روی فرآیند مهندسی نرم افزار و پرداختن به تجزیه و تحلیل ها، توسعه و
تست مرحله ها با روش های جدیدی که در کیفیت محصول نهایی تفاوت قابل توجهی را ایجاد
می کند، تمرکز دارد.
بی شک، DSDM یکی از کامل
ترین روش اجایل می باشد، در حالی که Scrum و XP در پیاده سازی و مکمل سازی راحت ترین هستند، چرا که با جنبه های
متفاوت پروژه توسعه نرم افزار مقابله می کنند و هر دو مفاهیم بسیار مشابهی دارند.
در طول ده سال
گذشته، حجم روز افزونی از داستان های موفقیت وجود دارد، جایی که شرکت ها در آن به
طرز چشمگیری موفقیت و عملکرد تیم توسعه فناوری اطلاعات و پروژه ها را بهبود داده
اند. این باعث شد اجایل به طور گسترده در سراسر انواع صنایع، از جمله رسانه ها و
فن آوری، شرکت های بزرگ و حتی دولت ها نیز پذیرفته شود.
در واقع، هر چند
که اجایل یک گلوله جادویی برای تمام مسائل توسعه نرم افزار نیست. ترفند واقعی این
است که بسیاری از شیوه های موجود در روش های توسعه اجایل را بدانید و ترکیبی از
بهترین رویکردهایی که در هر وضعیتی مناسب هستند را انتخاب کنید. برای انجام این
کار در هر درجه ای از موفقیت، به مقدار زیادی از تجربه و مهارت نیاز است.
در پروژه های نرم
افزار اجایل، مدیریت پروژه کمی فرم متفاوتی به خود گرفته است،از جمله تکیه به
مراتب بیشتر بر روی مهارت های مدیریت پروژه در ارتباطات، تسهیل، هماهنگی و تاکید
به مراتب کمتر در برنامه ریزی و کنترل.
توسعه اجایل می
تواند رویکردی بسیار هیجان انگیز و تقویت کننده باشد، هر چند برخی از پروژه ها نسبت
به سایر رویکردها، بیشتر مناسب اجایل هستند. همکاری و قابلیت دید می تواند تجربه
بسیار غنی و باارزش تری برای تیم به منظور توسعه مجصولات نرم افزاری بزرگ فراهم
کند. توسعه اجایل می تواند بسیار لذت بخش تر از رویکرد waterfall باشد، که نیازمند اسناد و مدارک بیشتری می باشد
و انعطاف پذیری کمتری دارد. و زمانی که از کار خود لذت می برند، آنچه که می توانند
بدست بیاورند شگفت انگیز است.