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

طبقهبندی مدلهای توسعه چابک
چابک یک طرز فکر است و مجموعهای از ارزشها و اصول است. چابک یک روش تفکر و عمل است. چابک تماماً درباره چرخههای کوتاه، تحویل تکراری و افزایشی، شکست سریع، دریافت بازخورد، ارائه ارزش تجاری به مشتریان در اوایل و همچنین درباره مردم، همکاری و تعامل است. چابک یک طرز فکر است که تماماً درباره شفافیت، بازرسی و سازگاری است. با این حال، چابک شامل هیچ نقشها, رویدادها یا مصنوعات. این یک طرز فکر است. به عنوان مثال، اسکرام یکی از چارچوبهای پرکاربرد تحت چتر چابک است که ممکن است به شما در تبدیل شدن به چابکتر کمک کند، اما چارچوبهای بیشتری در جنبش چابک وجود دارد، مانند کانبان، XP، کریستال و بسیاری دیگر که در شکل زیر نشان داده شده است:

- برنامهنویسی افراطی (XP)
- اسکرام
- کانبان
- لین
- روش کریستال
- روش توسعه سیستمهای پویا
در میان آنها، XP و اسکرام محبوبترین هستند.
اسکرام
اسکرام یک چارچوب است که در آن افراد میتوانند به مشکلات پیچیده و سازگار بپردازند، در حالی که به طور مولد و خلاقانه محصولات با بالاترین ارزش ممکن را ارائه میدهند. این برای مدیریت پروژههای نرمافزاری و توسعه محصول یا برنامه استفاده میشود. تمرکز آن بر روی یک استراتژی توسعه محصول سازگار است که در آن یک تیم چندوظیفهای به عنوان یک واحد برای رسیدن به یک هدف مشترک در مدت ۲ تا ۴ هفته کار میکند (اسپرینت). این شامل مجموعهای از ارزشها، مصنوعات، نقشها، مراسم، قوانین و بهترین شیوهها است.

لین
لین از سیستم تولید تویوتا یا TPS نشأت گرفته است که تولید کالاهای فیزیکی را در دهههای ۱۹۵۰ و ۱۹۶۰ و بعد از آن متحول کرد. لین در تولید همچنان پایدار است اما همچنین کاربردهای جدیدی در کارهای دانش یافته است و به کسبوکارها در تمام صنایع کمک میکند ضایعات را حذف کنند، فرآیندها را بهبود بخشند و نوآوری را افزایش دهند.. توسعه نرمافزار یک کاربرد طبیعی از متدولوژی لین است زیرا، مانند تولید، معمولاً یک فرآیند تعریف شده را دنبال میکند، شرایط مشخصی برای پذیرش دارد و منجر به ارائه ارزش ملموس میشود. مفاهیم کلیدی که راهنمای تمام شیوههای متدولوژی لین هستند، که ما آنها را ارکان لین مینامیم. آنها عبارتند از:
- بهبود مستمر
- احترام به مردم
- رهبری سبک
کانبان
کانبان یک روش مدیریت جریان کار بسیار بصری است که در میان تیمهای لین محبوب است. در واقع، ۸۳٪ از تیمهای عملیاتی لین از کانبان برای تجسم و مدیریت فعال ایجاد محصولات با تأکید بر تحویل مداوم استفاده میکنند، در حالی که تیم توسعه را بیش از حد تحت فشار قرار نمیدهند. مانند اسکرام، کانبان یک فرآیند است که برای کمک به تیمها در همکاری مؤثرتر طراحی شده است.

کانبان بر اساس ۳ اصل اساسی است:
- تجسم کنید که امروز چه کاری انجام خواهید داد (جریان کار): دیدن تمام موارد در زمینه یکدیگر میتواند بسیار آموزنده باشد.
- مقدار کار در حال انجام (WIP) را محدود کنید: این به تعادل رویکرد مبتنی بر جریان کمک میکند تا تیمها شروع و متعهد به کار بیش از حد در یک زمان نشوند.
- جریان را تقویت کنید: وقتی چیزی تمام شد، مورد بعدی با بالاترین اولویت از لیست کارهای معوق به کار گرفته میشود.
کانبان همکاری مداوم را ترویج میکند و با تعریف بهترین جریان کار تیمی ممکن، یادگیری و بهبود فعال و مداوم را تشویق میکند.
روش توسعه سیستمهای پویا (DSDM)
DSDM یک چارچوب است که از هشت اصل، یک چرخه حیات و محصولات، نقشها و مسئولیتها و چندین تکنیک بهترین شیوه تشکیل شده است. اینها فلسفهای را که به ارائه مزایای تجاری همسو با استراتژی در اسرع وقت کمک میکند، پشتیبانی میکنند تا به یک سازمان بهترین بازگشت سرمایه ممکن (ROI) را بدهند.
DSDM یک متدولوژی است که زمانبندی و کیفیت را بر عملکرد اولویت میدهد، که هزینه، کیفیت و زمان را در ابتدا ثابت میکند و از روش اولویتبندی MoSCoW استفاده میکند که یک پروژه را به چهار نوع مختلف از الزامات تقسیم میکند:
- باید داشته باشد (M)
- باید داشته باشد (S)
- میتواند داشته باشد (C)
- نخواهد داشت (W)
هشت اصل وجود دارد که DSDM Atern را پشتیبانی میکند. این اصول تیم را در نگرشی که باید اتخاذ کنند و طرز فکری که باید به آن پایبند باشند تا به طور مداوم تحویل دهند، هدایت میکند.
- تمرکز بر نیاز کسبوکار
- تحویل به موقع
- همکاری کنید
- هرگز کیفیت را فدای نکنید
- به تدریج از پایههای محکم بسازید
- توسعه به صورت تدریجی
- ارتباط مداوم و واضح
- کنترل را نشان دهید
برنامهنویسی افراطی
برنامهنویسی افراطیبرنامهنویسی افراطی (XP) که ابتدا توسط کنت بک توصیف شد، به عنوان یکی از محبوبترین و بحثبرانگیزترین متدولوژیهای چابک ظهور کرده است. XP یک رویکرد منظم برای ارائه نرمافزار با کیفیت بالا به سرعت و به طور مداوم است. هدف آن بهبود کیفیت نرمافزار و پاسخگویی در برابر تغییرات نیازهای مشتری است. این رویکرد مشارکت بالای مشتری، حلقههای بازخورد سریع، آزمایش مداوم، برنامهریزی مداوم و کار تیمی نزدیک را ترویج میکند تا نرمافزار کارا را در فواصل بسیار کوتاه، معمولاً هر ۱ تا ۳ هفته، ارائه دهد.

ارزشهای کلیدی روشهای چابک چیست؟
اصطلاح «چابک» در سال ۲۰۰۱ در منشور چابک ابداع شد. این منشور به دنبال ایجاد اصولی برای راهنمایی یک رویکرد بهتر به توسعه نرمافزار بود. منشور چابک شامل ۴ ارزش مهم است. نحوه خواندن منشور چابک این نیست که موارد سمت راست دیگر ارزشی ندارند، بلکه جنبش چابک ارزشهای سمت چپ را بیشتر میداند.
چهار ارزش کلیدی وجود دارد که بلوکهای سازنده هر مؤلفه در یک رویکرد چابک هستند. این ارزشها بر تغییر تأکید از شیوهها و فرآیندها به افراد و همکاری تأکید میکنند.

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

- اولویت بالای ما رضایت مشتری از طریق تحویل زودهنگام و مداوم نرمافزار با ارزش است.
- به تغییر نیازها خوش آمدید، حتی در مراحل پایانی توسعه. فرآیندهای چابک تغییر را برای مزیت رقابتی مشتری به کار میگیرند.
- نرمافزار کارا را به طور مکرر تحویل دهید، از چند هفته تا چند ماه، با ترجیح به زمانهای کوتاهتر.
- افراد تجاری و توسعهدهندگان باید روزانه در طول پروژه با هم کار کنند.
- پروژهها را حول افراد با انگیزه بسازید. به آنها محیط و حمایتی که نیاز دارند بدهید و به آنها اعتماد کنید تا کار را انجام دهند.
- موثرترین و کارآمدترین روش انتقال اطلاعات به و درون یک تیم توسعه، گفتگوی رو در رو است.
- نرمافزار کارا معیار اصلی پیشرفت است.
- فرآیندهای چابک توسعه پایدار را ترویج میکنند.
- حامیان، توسعهدهندگان و کاربران باید قادر باشند یک سرعت ثابت را به طور نامحدود حفظ کنند.
- توجه مداوم به برتری فنی و طراحی خوب، چابکی را افزایش میدهد.
- سادگی–هنر حداکثر کردن مقدار کار انجام نشده–ضروری است.
- بهترین معماریها، نیازها و طراحیها از تیمهای خودسازمانیافته به وجود میآیند. در فواصل منظم، تیم به این فکر میکند که چگونه میتواند مؤثرتر شود و سپس رفتار خود را مطابق با آن تنظیم و تعدیل میکند.
خلاصه
توسعه چابک یکی از واژههای پر سر و صدای صنعت توسعه نرمافزار است که روشی متفاوت برای مدیریت پروژههای توسعه نرمافزار است. به جای یک روش خاص توسعه نرمافزار، این یک اصطلاح کلی برای مجموعهای از روشها و شیوهها است که بر اساس ارزشها و اصول بیان شده در منشور چابک است. راهحلها از طریق همکاری بین تیمهای خودسازمانیافته و چندوظیفهای که از شیوههای مناسب برای زمینه خود استفاده میکنند، تکامل مییابند.
مطالعه توسعه چابک
- هشت نوع اتلاف در لاین چیست؟
- برنامهنویسی افراطی (XP) در مقابل اسکرام
- زمانبندی در اسکرام چیست؟
- افسانه چابک: آیا مستندسازی و برنامهریزی لازم نیست؟
- چگونه اسکرام یا LeSS اصل کنترل فرآیند تجربی را به کار میبرند؟
- چکلیست اسکرام برای هر تیم اسکرام
- توسعه چابک: اسپرینت صفر یا نه اسپرینت صفر؟
- ۶ تصور غلط رایج در توسعه چابک
- ابزارهای چارچوب چابک — از تیمهای کوچک تا مقیاسپذیری چابک
- مقایسه تیمهای چابک
- چرا مدیریت پروژه چابک؟ انتقال از مدیریت پروژه سنتی به چابک
- ۷ رویکرد محبوب توسعه چابک
This post is also available in Deutsch, English, Español, Français, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, Việt Nam, 简体中文 and 繁體中文.