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