ده اصل کلیدی توسعۀ چابک نرمافزار
توسعۀ چابک نرمافزار(Agile Development) یکی از اصطلاحات مهم در صنعت توسعۀ نرمافزار است. اما توسعۀ چابک نرمافزار دقیقاً به چه معناست؟ توسعۀ نرمافزار یکی از راههای متفاوت مدیریت پروژههای توسعۀ نرمافزار است. اصول کلیدی روش چابک و تفاوتهای اساسی توسعۀ چابک(Agile) با رویکرد سنتی آبشاری(Waterfall) عبارتاند از:
- مشارکت فعالانۀ کاربر حیاتی است؛
- تیم برای تصمیمگیری باید پیشتیبانی شود؛
- نیازمندیها تکامل مییابند اما مقیاس زمانی ثابت است؛
- درک نیازمندیها در سطحبالایی صورت میگیرد؛ سبک و بصری است؛
- عرضههای افزایشی (incremental) و کوچک صورت میگیرد و تکرار میشود؛
- تمرکز بر تحویل مکرر محصولات است؛
- هر ویژگی قبل از شروع کار بر ویژگی بعدی تکمیل میشود؛
- قانونِ 80/20 بهکار میرود؛
- آزمون طیِ چرخۀ حیات پروژه یکپارچه میشود؛ آزمونها پربسامد و مکرر هستند؛
- بین ذینفعان اصلی همکاری و مشارکت وجود دارد.
رَوِشگانها (متدولوژی) و استانداردهای بسیاری برای جنبههای مختلف توسعۀ نرمافزار وجود دارند، مثلاً PRINCE2 یا Project Management، Use Cases/UML برای طراحی و تحلیل، ISEB برای آزمون. هرچند این روشها بیشتر در پروژههای توسعۀ آبشاری بهکار برده میشوند، اجزای این روشها را میتوان در رویکرد توسعۀ چابک نیز بهکار برد.
روشهای طراحیشده برای توسعۀ چابک
- DSDM احتمالاً منشأ اصلی توسعۀ چابک است. قبل از اینکه حتی اصطلاح توسعۀ چابک نرمافزار ساخته شود DSDM وجود داشت؛ اما براساس اصولِ توسعۀ چابک است.
- Scrum نیز یک روش چابک توسعه است که تمرکز آن بیشتر بر نحوۀ مدیریت وظایف در یک محیط توسعۀ تیمبنیاد است.
- XP (eXtreme Programming) روشگان پرشدتتری از چابک است که بر فرایند توسعۀ نرمافزار متمرکز است و فازهای آزمون، توسعه و تحلیل را با رویکردهای جدید، که هدفشان ایجاد تفاوفت چشمگیر در کیفیت محصول نهایی است، تنظیم میکند.
- احتمالاً DSDM کاملترین روشگان چابک است؛ اما پیادهسازی اسکرام و XP آسانتر و تکمیلیتر است؛ زیرا جنبههای مختلف پروژههای توسعه را مدیریت میکنند و هر دو روش بر اصول توسعۀ چابک استوار هستند.
- برای توضیح بیشتر کلیک کنید.
در عمل، هیچ راه جادوییای برای توسعۀ نرمافزار وجود ندارد. ترفند اصلی دانستن فنون فراوان از روشهای مختلف توسعۀ چابک و آبشاری و انتخاب ترکیبی از بهترین روشهاست؛ البته روشهایی که مناسب پروژۀ شما باشد. برای اینکه بتوان ترکیب روشها را با اطمینان انجام داد نیاز به تجربه و مهارت بسیاری است.
در پروژههای توسعۀ چابک، مدیریت پروژه کمی شکل متفاوتتری بهخود میگیرد و اتکای آن بیشتر بر مهارتهای مدیر پروژه در ارتباطات، تسهیلسازیها، انطابقدهیها و کنترل و برنامهریزی کمتر است.
توسعۀ چابک میتواند رویکرد هیجانانگیز و نیروبخشی باشد، هرچند فقط برخی از پروژهها برای توسعۀ چابک مناسبترند. همکاری و شفافیت میتواند موجب تجربۀ غنیتر و پرارزشتری برای تیمها شود، تیمهایی که میتوانند محصولات نرمافزاری فوقالعادهای را توسعه بدهند. توسعۀ چابک میتواند لذتبخشتر از رویکرد آبشاری باشد؛ چرا که آبشاری نیازمند مستندسازی فراوان است و طبیعتاً انعطافپذیریِ کمتری دارد. وقتی که افراد از کارشان لذت میبرند، دستاوردشان شگفتآور خواهد بود!
مقالههای مرتبط:
انتخاب روش مناسب برای مدیریت پروژه
بررسی اجمالی روشهای مطرح در مدیریت پروژه
چرا دفترهای مدیریت پروژه باید از بحث «آبشاری یا چابک؟» پا فراتر بگذارند