توسعه چابک نگرشی برای تولید نرم افزار است که در آن نرم افزار (محصول) به صورت مرحله به مرحله و تکاملی تحویل مشتری می گردد و با ارتباط تنگاتنگ با او سعی می­شود که رضایتش جلب شود. تیم تولید با بهره گیری از بهترین روش­ها و ابزارها تلاش می­کند تا کیفیت نرم افزار را در سطح بالایی نگه دارد و البته زمان بندی تعیین شده را رعایت نماید. تیم های توسعه چابک خود سازمانده و میان کارکردی هستند و بر اساس برنامه ریزی تطبیقی، انعطاف پذیری نسبت به تغییرات و  تحویل به موقع عمل می کنند.

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

همین که با شکستی مواجه می­شویم از تکرار چنین پروژه هایی اجتناب می­کنیم. ترس ما باعث می­شود تا فرآیندی بسازیم که فعالیت­های ما را محدود نموده و ایجاد آرتیفکت­ها[۱] را الزامی کند. در پروژه­ جدید از  چیزهایی که در پروژه های قبلی به خوبی کار کرده­اند، استفاده می­کنیم. انتظار ما این است که آنها برای پروژه جدید نیز به همان خوبی کار کند.