مقایسه مدل چابک (Agile) با RUP

یکی از فرایند های تولید و توسعه ی نرم افزار، (Rational Unified Process) یا همان RUP می باشد.

در روش RUP ، هر چقدر زمان جلو تر می رود هزینه به صورت نمایی افزایش می یابد اما این نسبت در فرایندهای چابک نسبت به RUP خیلی کمتر است. و در ایده آل نمودار Agile با گذشت زمان هزینه ی نرم افزار در تمام مراحل ثابت خواهد شد.

تفاوت دیگر مدل چابک در گردش زمانی خیلی کم بین یک نسخه و نسخه دیگر است. یعنی زمان بسیار کمی صرف ارائه کردن نسخه های جدید نرم افزاری صرف می شود، اما در مدل RUP ممکن است یک سال برای یک نسخه جدید طول بکشد.

مدل RUP

مسئله را به چهار فاز زمانی تقسیم می کند و ممکن است هر یک از این فازها به بخش های کوچکتری بر اساس نیازهای پروژه تقسیم شوند و بعد از اتمام هر فاز یک major milestone (نقطه تصمیم گیری اصلی) داریم. به نقاط مرزی در هر فاز که به چند بخش کوچکتر تقسیم شده miner milestone  (نقاط تصمیم گیری فرعی ) می گوییم که تصمیم میگیریم ادامه ی پروژه به چه نحوی باشد.

  1. inception
  2. elaboration
  3. construction
  4. transition

در هر یک از این فازها یک سری Discipline باید انجام شود. که حجم این Discipline ها در هر فاز فرق می کند. بعد از اتمام فاز transition نسخه ی نرم افزار تحویل مشتری داده می شود و ما دوباره از فاز ۱ شروع می کینم و دوباره مراحل را انجام می دهیم.

مدل Agile

سرعت در این مدل بسیار مهم است. در این مدل بین المان های توسعه ی نرم افزار، تعادل برقرار می کنیم.

چهار اولویت زیر در مدل چابک از اهمیت بیشتری نسبت به موارد دیگر مهندسی نرم افزار هستند:

  1. “پاسخگویی به تغییرات” یعنی نیازمندی های مشتری در اولویت است نسبت به اینکه بخواهیم از یک “فرایند مدون” پیروی کنیم.
  2. “تعاملات با مشتری ” در اولیت خیلی بیشتری نسبت به قرارداد با او است.
  3. “نرم افزاری که کار می کند “در اولیت است نسبت به جمع آوری اسناد و مستندسازی ها

“افراد و تعاملات بین آنها ” نسبت به ابزارها و فرایندها در تیم ها بسیار اولویت دارد.