Agile چیست ؟
“Agile” (چابک) یکی از واژه های گنگ صنعت توسعه ی IT است. ولی، واقعا توسعه ی Agile (توسعه ی سریع) چیست؟
اجازه دهید ساده بگویم، Agile (توسعه چابک) یک روش مدیریت متفاوت پروژه ها و تیم های توسعه IT است.
این مطلب برای اولین بار در وب سایت علی مرکبی منتشر شده است .
استفاده از کلمه ی Agile دراین متن، از بیانیه Agileنشات می گیرد. یک گروه کوچک از افراد در ۲۰۰۱ گرد هم امدند تا درباره احساس خود نسبت به رویکرد سنتی مدیریت پروژه های توسعه نرم افزار که اغلب هم با شکست همراهند بحث کنند و راه بهتری پیدا کنند. آنها به یک بیانیه Agileدست یافتند، که ۴ ارزش مهم را توصیف می کند که امروزه اهمیت شان مشخص شده است. این بیانیه اینطور می گوید: ما به این موارد ارزش می دهیم:
افراد و تعاملات بیش از (فرایندها) پروسه ها و ابزارها
نرم افزار موثر بیش از مستند سازی جامع
همکاری مشتری بیش از مذاکره قرار داد
پاسخگویی به تغییر بیش از دنبال کردن یک برنامه
یعنی، در حالیکه برای موارد سمت چپ ارزش قائلیم، به موارد ذکر شده در سمت راست بیشتر اهمیت می دهیم.
از آن زمان به بعد، استفاده از روش هایی که از این ارزش ها حمایت کند روز به روز محبوب شده است.
روش های مختلفی هستند که بنا به سلیقه، Agile نام گرفته اند، چون آنها ارزش های بیانیه Agile را ارتقا داده و با اصول فوق سازگار هستند. محبوب ترین آنها عبارتند از :
DSDM احتمالا روش توسعه ی Agile اولیه است. DSDM قبل از اینکه اصطلاح “چابک” پدید آید وجود داشت، ولی کاملا مبتنی بر تمام اصولی است که ما آنها را Agile می نامیم. به نظر می رسد DSDM خارج از UK کمتر شناخته شده باشد.
SCRUM هم یک روش توسعه ی Agile است، که بر نحوه ی مدیریت وظایف در یک محیط توسعه ی تیمی تمرکز می کند. SCRUM محبوب ترین و پر کاربردترین روش Agile است-من فکر می کنم چون پیاده سازی این روش ساده است و خیلی از مسائل مدیریتی را حل می کند، دهه هاست که تیم های توسعه ی IT آن را بکار برده اند.
XP یک متدولوژی Agile بنیادی تر است، که بیشتر بر فرایند مهندسی نرم افزار متمرکز است و فازهای تحلیل، توسعه و تست با رویکردهای نوین را هدف قرار می دهد که استفاده از آن یک تفاوت فاحش نسبت به کیفیت محصول ایجاد می کند.
توسعه سریع (چابک) یک رویکرد مهیج و موثر است، گرچه برخی پروژه ها بیشتر از بقیه از چابکی نفع می برند. همکاری و قابلیت رویت (مشهود بودن)، موجب غنی تر شدن تجربه ی تیم های توسعه دهنده ی محصولات نرم افزاری می شود. توسعه سریع از رویکرد آبشاری لذت بخش تر است، چون روش ابشاری نیازمند مستندسازی بیشتر بوده و ماهیت اش کم تر انعطاف پذیر می باشد. و وقتی افراد از کار خود لذت می برند، دست یافت انها به نتیجه مهیج خواهد بود!