مدل توسعه چابک (agile )چیست؟

Agile در لغت به معنی چابک و تطبیق پذیر است. “مدل فرایند چابک” به یک رویکرد توسعه نرم افزار مبتنی بر توسعه تکراری اشاره دارد. روشهای چابک کارها و وظایف را به تکرارهای کوچکتر تقسیم می کنند و بخش های پروژه مستقیماً درگیر برنامه ریزی طولانی مدت نمی شوند. هدف و الزامات پروژه در ابتدای روند توسعه تعیین می شود. در واقع چابک ‌سازی یک چارچوب مفهومی است که پیش‌بینی تعاملات در سراسر چرخهٔ توسعه را بهبود می‌بخشد.

در روش توسعه چابک، برنامه های مربوط به تعداد تکرارها ، مدت زمان و دامنه هر تکرار از قبل به وضوح مشخص شده است.

 

تاریخچه

متدهای توسعهٔ افزایشی نرم‌افزار به سال ۱۹۵۷ برمی‌گردند. در سال ۱۹۷۴، E.A. Edmonds در مقاله‌ای فرایند توسعهٔ تطبیقی نرم‌افزار را معرفی کرد. هم‌زمان و به‌طور مستقل متدهای مشابه توسعه یافت و توسط مرکز توسعهٔ سیستم‌های شرکت تلفن نیویورک زیر نظر Dan Gielan گسترش یافت. اوایل دههٔ ۱۹۷۰، Tom Gilb شروع به انتشار مفاهیمی در مورد کنترل تحولی پروژه (EVO) کرد، که به مهندسی رقابتی توسعه یافت. در طول نیمه تا انتهای دههٔ ۱۹۷۰ Gielan به‌طور گسترده در ایالات متحده در مورد این متدولوژی، تجارب و فواید آن سخنرانی‌هایی ارائه داد.

 

متدهای توسعهٔ چابک نرم‌افزار اواسط دههٔ ۱۹۹۰ به صورت یک عکس‌العمل در مقابل متدهای سنگین آبشاری مطرح شد، که توسط منتقدان آن به صورت یک مدل توسعهٔ به شدت منظم، دسته‌بندی‌شده، میکرو مدیریتی و آبشاری توصیف شده‌است. استدلال‌کنندگان متدهای چالاک و چابک ادعا می‌کنند، این متدها به منزلهٔ بازگشت به تجارب توسعهٔ نرم‌افزار در اوایل تاریخ هستند.

 

مدل چابک چگونه کار می کند

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

 

فازهای مدل چابک

 

  1. جمع آوری نیازمندی ها
  2. طراحی نیازمندی ها و ملزومات
  3. ساخت / تکرار
  4. تست / تضمین کیفیت
  5. گسترش
  6. بازخورد

جمع آوری نیازمندی ها

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

 

طراحی نیازمندی ها

پس از شناسایی نیازمندی ها در گام بعد نوبت به تعریف این ملزومات به مشتری و تیم فنی فرا می رسد. در این مرحله می توان با استفاده از مدل سازی و نمودارهای UML ویژگی های سیستم مورد نظر را طراحی کرد.

 

ساخت/ تکرار

در این مرحله تیم فنی با استفاده از مدل هایی که در فاز قبل طراحی شده است شروع به کدنویسی و پیاده سازی این مدل ها می شود.

 

تست / تضمین کیفیت

در این مرحله ، تیم تضمین کیفیت عملکرد محصول را بررسی می کند و به دنبال اشکال می رود.

 

گسترش

در این مرحله محصول نهایی تجاری سازی شده و آماده ی در اختیار قرار دادن به کاربر می شود.

 

بازخورد

پس از عرضه محصول ، آخرین مرحله بازخورد است. در این مرحله ، تیم توسعه بازخوردها از محصول عرضه شده را دریافت می کنند.