پروژه هائی که با روش ها و رویکرد های سنتی ( Waterfall ) مدیریت می شوند دارای ضعف هائی از قبیل اتلاف زمان زیاد جهت طراحی دقیق در فاز آغازین پروژه، بالا بودن هزیته تغییرات، ناکارآمد بودن محصول نهائی و … می باشند، وجود این چنین ضعف هایی منجر به بروز مشکلاتی برای مدیریت پروژه های نرم افزاری که دارای تغییرات و اصلاح زیاد هستند، گردید.
این موضوع باعث شد در اواخر دهه 1990 روش های متعددی از ترکیب ایده های قدیمی و نوین به وجود آید که بیشتر آنها بر روش های هوشمندانه برای ساخت، تائید و ارائه محصول، تاکید داشتند.
در نهایت، اصطلاح و تفکر جدیدی به نام Agile در مدیریت پروژه های نرم افراری به وجود آمد، این تفکر در سال 2001 توسط تیمی متشکل از 17 نفر از متخصصین نرم افزار، به عنوان Agile Manifesto (بیانه چابک) بطور رسمی معرفی گردید.
تفکر یا بیانه چابک (Agile Manifesto) دارای 4 ارزش (Value) و 12 اصل (Principle) می باشد که با استفاده از آنها می توان محصولات کارآمد، مشتری راضی و خوشحال و همچنین نیروی کار با انگیزه دست پیدا کرد.
4 ارزش تفکر چابک:
Individuals and Interactions Over Process and Tools
- افراد و تعاملات آنها بالاتر (ارزشمند تر) از فرآبندها و ابزارها می باشند.
Working Software Over Comprehensive Documentation
- نرم افزار (محصول) کارا بالاتر (ارزشمند تر) از مستندات جامع است.
Customer Collaboration Over Contract Negotiation
- مشارکت مشتری بالاتر (ارزشمند تر) از مذاکرات قراردادی است.
Responding To Change Over Following a Plan
- پاسخگوئی به تغییرات بالاتر (ارزشمند تر) از پیروی از یک برنامه است.
12 اصل تفکر چابک:
Our highest priority is to satisfy the customer
1- رضایت مشتری : بالاترین الویت است که از طریق تحویل به موقع و مداوم محصول (نرم افزار) محقق خواهد شد.
Welcome changing requirements, even late in development
2- استقبال از تغییر: تغییرات در پروژه های نرم افزاری اجتناب ناپذیر هستند، حتی تغییراتی که در اواخر کار توسط مشتری درخواست شده است نیز از آنها استقبال می شود.
Deliver working software frequently, from a couple of weeks to a couple of months
3- ترجیح بر آن است که در تفکر چابک،محصولات در بازه های زمانی کوتاه ( بین چند هفته تا چند ماه) و بصورت مکرر، به مشتری تحویل داده شود. (رویکرد Iterative & Incremental )
Business people and developers must work together daily throughout the project
4- همکاری و مشارکت ذینفعان باید در طول چرخه حیات پروژه (بصورت روزانه) وجود داشته باشد
Build projects around motivated individuals
5- انگیزه: پروژه ها را با استفاده از افراد با انگیزه بسازید ، به اعضای تیم خود اعتماد کنید تا احساس مسئولیت پذیری داشته باشند تا کارها به خوبی انجام شود.
Face-to-Face Conversation
6- گفتگوی رو در رو، موثرترین روش انتقال اطلاعات به تیم پروژه می باشد.
Working software is the primary measure of progress
7- در تفکر چابک، تحویل محصول (نرم افزار) کاربردی به مشتری، عامل نهایی است که پیشرفت پروژه را اندازه گیری می کند.
Agile processes promote sustainable development
8- حفظ تداوم پایدار: فرآیندهای چابک باید به سمت توسعه پایدار حرکت کنند بطوری که ذینعان تجاری،حامیان و کاربران قادر باشند سرعت پیشرفت را با روند ثابت در طول چرخه حیات پروژه حفظ کنند.
Continuous attention
9- نظارت و توجه منظم باعث افزایش چابکی شده و به برتری فنی و طراحی خوب محصول منجر خواهد شد.
Simplicity
10- سادگی یک ضرورت است، همه چیز ها را ساده نگه دارید و از انجام کارهای کم اهمیت اجتناب کنید.
Self Organized Teams
11- تیم های چابک خود هدایت و سازماندهی می شوند و نیازی به گفتن آنچه باید انجام شود، نیست.
Review the Work Regularly
12- لازم است تیم پروژه در فواصل منظم، کارهای خود را بررسی کند و اگر روشی برای موثرتر شدن و پشبرد سریع تر پروژه وجود دارد، رفتار خود را مطابق آن هم سو کند، که این اصل یکی از حیاتی ترین اصول تفکر چابک می باشد.