AGILE چیست؟ ۱۲ اصل تفکر چابک
چابک بودن یعنی چی؟
چابک بودن یعنی ما انعطاف پذیری و ظرفیت لازم را برای تطبیق سریع و موثر با شرایط داشته باشیم. به زبان ساده تر اجایل یعنی بتوانیم خیلی سریع و آگاهانه تغییرات را با کنترل ریسک های موجود پاسخگو باشیم.
تفکر Agile چگونه شکل گرفت؟
برای پاسخ به این سوال باید به ۱۱ تا ۱۳ فوریه سال ۲۰۰۱ برگردیم به کوهستان های واساج واقع در یوتا برویم و در بین ۱۷ متفکری که برای تفریح و اسکی دور هم جمع شدند، بنشینیم. در دوره ای که نرم افزاری ها عملا مشتری را فراموش کرده بودند و غرق تکنولوژی های جدید شده بودند و در وضعیتی که کیفیت آن ها بسیار خراب بود و نرم افزار های بی کیفیت پر از باگ و خطا مشتری ها را کلافه و سردرگم کرده بود.
اما بالاخره روزی فرا رسید که صنعت نرم افزار هم حق را به مشتری داد. آن هفده نفر پس از کلی گفت و گو، اسکی و انتقال تجربه ای که طی سالیان متمادی در زمینه مهندسی نرم افزار کسب کرده بودند به یک راه مشترک برای خلق محصولات نرم افزاری رسیدند و نتیجه آن بیانیه چابک بود که شامل چهار ارزش و دوازده اصل می شود.
چهار ارزش چابک
- روابط و تعاملات بین افراد، ارزشمندتر از ابزار و فرآیندهای کاری می باشد
- یک نرم افزاری که درست و بدون باگ کار کند ارزشمند تر از فرآیند های بیهوده اداری و مستند سازی و گزارش نویسی است
- همکاری با مشتری ارزشمند تر از قوانین و اصول قرارداد است
- پاسخ به تغییرات ارزشمند تر از پیگیری یک طرح و برنامه از پیش تعیین شده است
دوازده اصل چابک
- اولین و ضروری ترین اولویت تحت هر شرایطی جلب رضایت مشتری است
- حتی در آخرین مراحل هم پاسخگویی به تغییرات حرف اول را می زند
- تحول سریع نرم افزار قابل استفاده در فاصله های زمانی کوتاه
- برقراری مستمر ارتباط ذینفعان و توسعه دهندگان و همکاری آن ها با یکدیگر در طول پروژه
- اعتماد به افراد با انگیزه برای ساخت پروژه
- برقراری جلسات و گفتگو موثرترین روش برای تعامل بین افراد است
- نرم افزار قابل استفاده اصلی ترین معیار سنجش پیشرفت است
- توسعه پایدار با سرعت پیشرفت ثابت برای مدت نامحدود
- توجه مدام به برتری فنی و طراحی خوب
- سادگی و هنر به حداکثر رساندن مقدار کار انجام نشده (کار کمتر اما موثر)
- تیم های خود سازمانده بهترین معماری ها، نیازمندی ها و طراحی ها را خلق می کنند
- بازنگری و انطباق برحسب بازخوردها در فواصل زمانی منظم
متدولوژی عملی کردن تئوری Agile
به طور خلاصه با تفکر چابک و ارزش ها و اصول معرفی شده و به کار بستن آن ها در محیط توسعه محصولات نرم افزاری می توان به نتایجی مانند محصولات کارآمد، مشتری خوشحال و نیروی کار با انگیزه دست یافت. اما مشکلی که وجود داشت این بود که اجایل در حد یک بیانیه تعریف شده بود و هیچ راه حل عملی برای آن مطرح نشده بود. این دلیل برآن شد که متدهایی چون اسکرام، کانبان، ایکس پی، ناب، کریستال و … زیر چتر اجایل به وجود آمدند تا این تئوری چابک را به عملی شدن نزدیک کند.
اسکرام یکی از این متدهای چابک
اسکرام یکی از متدهای رایج و پرطرفدار تفکر چابک می باشد که تیم ها در آن با همکاری خود مشتری چند هفته یکبار خروجی از نرم افزار را بیرون می دهند و فیدبک ذینفعان را دریافت می کنند و طبق بازخورد ها، محصول را در مسیر درست قرار می دهند. اینگونه می شود که محصولات مشتری پسندی به وجود می آید. مشکل بزرگی که در صنعت نرم افزار وجود داشت این بود که خروجی پروژه ها مثلا بعد از دو سال هزینه بدرد نخور می شد. یعنی چند تیم دو سال بر روی پروژه کار میکرد و نهایتا مشتری میگفت این آن چیزی نیست که من می خواستم و ….
در این مدل محصول را تکهتکه تحلیل، طراحی و پیادهسازی میکنیم و مشتری در تمام مراحل با ما خواهد بود. اسکرام همچون تفکر مینیمالیسیم کارهای عظیم را خرد می کند و تکه تکه به انجام آن ها می پردازد. یکی از دلایل محبوبیت اسکرام این هست که کاربردهای آن حتی در زندگی روزانه نیز وجود دارد .مدل اسکرام یک مدل تکراری افزایشی است در نتیجه امکان وجود خطا و باگ بسیار کاهش می یابد. در اجایل ما مجبوریم مشتری را در طی روند تولید محصول دخیل نماییم و به نوعی اثر ایکیا را در مشتری ایجاد کنیم و به طور مداوم بازخوردهای او را بگیریم.