فرایند یکپارچۀ منطقی یا RUP (قسمت پنجم)
پس از بررسی فاز جزئیات ماهرانه یا Elaboration Phase در قسمت قبلی مقالۀ «فرایند یکپارچۀ Rational» در این قسمت فاز ساخت را بررسی میکنیم.
فاز ساخت (Construction Phase)
در طی فاز ساخت، تمام مؤلفههای باقیمانده و ویژگیهای کاربردی، توسعه داده میشوند و با محصول یکپارچه میشوند و تمام ویژگیها بهطور کامل آزموده میشوند. از یک لحاظ، فاز ساخت یک فرایند ساختوساز است که در آن تأکید بر مدیریت منابع و کنترل عملیات با هدفِ بهینهسازی هزینهها، زمانبندیها و کیفیت است. از این لحاظ، طرز تفکر مدیریت، متحملِ گذاری از توسعۀ مالکیت فکری در فازهای تکوین (Inception) و جزئیات ماهرانه (Elaboration) به توسعۀ محصولات قابلاستقرار در فازهای ساخت و گذار خواهد شد.
بسیاری از پروژهها آنقدر بزرگ هستند که در ساخت، توسعههای موازی میپردازند. این فعالیتهای موازی میتوانند سرعت دسترسی به عرضههای قابلاستقرار محصول را افزایش بدهند؛ همچنین ممکن است موجب پیچیدگی مدیریت منابع و همگامسازی گردشکار شوند. معماری پایدار و برنامۀ مفهوم، همبستگی نزدیکی با یکدیگر دارند. بهعبارتدیگر، یکی از کیفیتهای ضروری معماری، آسان بودن ساخت آن است. به همین دلیل بر توسعۀ متوازن معماری و برنامه در طی فاز جزئیات ماهرانه تأکید میشود. خروجی فاز جزئیات، یک محصول آماده برای سپردن به کاربران انتهایی است. این فاز حداقل، از موارد زیر تشکیل شده است:
- محصول نرمافزاری یکپارچه با پلتفرمهای مناسب؛
- دفترچههای راهنما برای کاربران؛
- تشریحی از عرضۀ فعلی.
در انتهای فاز ساخت، سومین مایلستون اصلی قرار دارد (مایلستون ظرفیت عملیاتی اولیه). در این نقطه، میتوانید تصمیم بگیرید که آیا بدون اینکه پروژه در معرض ریسک بالایی قرار بگیرد، نرمافزار، سایتها و کاربران برای عملیاتی شدن آماده هستند. این عرضه غالباً عرضه «بتا»[1] خوانده میشود.
معیار ارزیابی فاز ساخت مستلزم پاسخ به سؤالات زیر است:
- آیا این عرضه محصول برای استقرار در جمعیت کاربران بهاندازۀ کافی جاافتاده و پایدار است؟
- آیا تمام ذینفعان برای گذار به جمعیت کاربران آماده هستند؟
- آیا هزینههای واقعی منابع نسبت به هزینههای محاسبهشده در برنامه، همچنان قابلقبول هستند؟
اگر عبور پروژه از این مایلستون موفقیتآمیز نباشد، ممکن است که گذار تا عرضۀ بعدی به تعویق بیفتد.
فاز گذار (Transition Phase)
هدف از فاز گذار، گذار از محصول نرمافزاری به جمعیت کاربر است. وقتیکه محصول به کاربر انتهایی سپرده شود، مشکلات معمولاً شما را به توسعۀ عرضههای جدید، تصحیح برخی از مشکلات، یا تکمیل ویژگیهای بهتعویقافتاده وامیدارد.
وقتیکه یک خط مبنا آنقدر تکامل مییابد که قابلِ بهکارگیری در حوزۀ کاربر انتهایی است، فاز گذار آغاز میشود. بدین منظور لازم است که برخی از زیرمجموعههای کاربردپذیر به کیفیت قابلقبولی رسیده باشند و مستندِ کاربر موجود باشد تا گذار به کاربری، نتایج مثبتی را برای ذینفعان به بار آورد.
این فاز شامل موارد زیر است:
- «آزمون بتا»[2] برای ارزیابی سیستم جدید نسبت به انتظارات کاربر؛
- عملیات موازی با یک سیستم موروثی که در حال جایگزینی است؛
- تبدیل پایگاهداده عملیاتی؛
- آموزش کاربران و نگهدارندهها؛
- عرضۀ محصول به بازار، گروههای توزیع و فروش.
در فاز گذار تمرکز بر فعالیتهایی است که بهموجب آنها نرمافزار به کاربران سپرده میشود. عموماً این فاز شامل چندین تکرار، ازجمله عرضههای بتا، عرضههای عمومی برای دسترسی همگان، و نیز عرضههای ارتقایی و برطرفی اشکالات (باگها) است. برای بهبود و ارتقای مستندات کاربرمحور، آموزش کاربران، پشتیبانی از کاربران در استفاده اولیه از محصول، و واکنش مناسب به بازخورد کاربر، تلاشهای فراوانیصورت میگیرد. بااینحال، در این نقطه از چرخه حیات، بازخوردهای کاربر باید اساساً به تنظیم محصول، مشکلات مرتبط با پیکربندی، نصب، و قابلیت استفاده محدود شود.
اهداف اولیۀ فاز گذار عبارتاند از:
- دستیابی به قابلیت خود-پشتیبانی کاربر؛
- به توافق رسیدن ذینفعان در مورد رسیدن به خط مبنای استقرار و سازگاری آن با ارزیابی معیار تصویر؛
- رسیدن به خط مبنای نهاییِ محصول با سرعت و هزینهای که در عمل معقول باشد.
محدودۀ عملیاتی این فاز بسته به نوع محصول میتواند بسیار ساده یا بسیار پیچیده باشد. بهطور مثال، یک عرضۀ جدید از محصول رومیزی (دسکتاپ) که قبلاً موجود بوده، ممکن است بسیار ساده باشد، درحالیکه سیستم ملی کنترل ترافیکی هوایی بسیار پیچیدهتر است.
در انتهای فاز گذار، چهارمین مایلستون مهم پروژه وجود دارد، مایلستون عرضۀ محصول. در این نقطه مشخص میکنید: آیا اهداف برآورده شدهاند؟ آیا باید چرخۀ توسعۀ دیگری را آغاز کنید؟ در برخی از موارد، این مایلستون میتواند با انتهای فاز تکوین (Inception Phase) برای سیکل بعدی همزمان باشد.
معیار ارزیابی اولیه برای فاز گذار شامل پاسخ به سؤالهای زیر است:
- آیا کاربر راضی است؟
- آیا هزینههای واقعی منابع نسبت به هزینههای محاسبهشده در برنامه همچنان قابلقبول است؟
تکرارها
هر فاز در فرایند یکپارچه منطقی (RUP) را میتوان به تکرارهایی تقسیم کرد. یک تکرار یک حلقۀ توسعه کامل است که نتیجۀ آن، عرضۀ (داخلی یا خارجی) یک محصول قابلاجرا، و زیرمجموعهای از محصول نهایی درحالتوسعه است که بهطور تصاعدی از هر تکرار به تکرار دیگر رشد میکند تا به سیستم نهایی برسد.
مزایای رویکرد تکرارشونده
در مقایسه با فرایند واترفال (آبشاری) سنتی، فرایند تکرارشونده از مزایای زیر برخوردار است:
- خطرات زودتر کاهش مییابند؛
- تغییرات بیشتر قابل مدیریت هستند؛
- قابلیت استفادۀ مجدد بیشتر است؛
- امکان یادگیری تیم پروژه در طی راه وجود دارد؛
- کیفیت کلی آن بهتر است.
حال که چهار فاز فرایند و جنبۀ پویای مدل فرایند را بررسی کردیم، در بخش بعدی این مقاله ساختار ایستای فرایند را بررسی میکنیم.
[1] Beta release
[2] Beta test