Agile (FA)
روششناسی توسعه چابک — اصطلاحی کلی برای مجموعهای از رویکردها و روشهای عملی است که بر پایه ارزشهای مانیفست توسعه چابک نرمافزار و ۱۲ اصل بنیادین آن استوارند. از جمله روششناسیهای چابک میتوان به برنامهنویسی افراطی، DSDM، Scrum، FDD، BDD و دیگر موارد اشاره کرد.
در میان روشهای «چابک» بهویژه میتوان از XP، DSDM، Scrum، FDD و BDD نام برد.
بیشتر روشهای «چابک» با هدف به حداقل رساندن خطرات، زمان توسعه را به تکرارها (دورهها) — بازههای زمانی نسبتاً کوتاه — تقسیم میکنند. یک تکرار معمولاً دو تا سه هفته به طول میانجامد، همانند یک پروژه نرمافزاری در مقیاس کوچک به نظر میرسد و شامل وظایف زیر برای دستیابی به افزایش کوچکی در قابلیتها میشود: برنامهریزی، تحلیل نیازمندیها، طراحی، برنامهنویسی، آزمایش و مستندسازی. معمولاً یک تکرار برای انتشار نسخه جدید نرمافزار کافی نیست، اما فرض بر این است که در پایان تکرار، نسخه جدید نرمافزار آماده انتشار باشد. پس از پایان هر تکرار، تیم اولویتهای توسعه را دوباره ارزیابی میکند.
روشهای «چابک» بر ارتباط رو در رو تکیه دارند. بیشتر افراد در یک دفتر مشترک کار میکنند که گاه به آن bullpen گفته میشود. در این دفتر حداقل یک «مالک محصول» (product owner) حضور دارد — سفارشدهنده توسعه نرمافزار یا نماینده او که نیازمندیهای نرمافزار را تعیین میکند. نقش «مالک محصول» میتواند توسط مدیر پروژه، تحلیلگر کسبوکار یا مشتری ایفا شود. علاوه بر این، آزمایشگران، طراحان رابط کاربری، نویسندگان فنی و مدیران نیز میتوانند در این دفتر کار کنند.
معیارهای روشهای «چابک» با قابلیت عملکرد نرمافزار در حال ساخت مرتبطند. کاربران روشهای «چابک» (در مقایسه با کاربران سایر روشها) بیشتر ارتباط برقرار میکنند و مستندات کمتری مینویسند، به همین دلیل کمتر منضبط تلقی میشوند.