پنجشنبه, ۶ اردیبهشت, ۱۴۰۳ / 25 April, 2024
مجله ویستا


برنامه ریزی پروژه با استفاده از متدولوژی RUP


برنامه ریزی پروژه با استفاده از متدولوژی RUP
برنامه ریزی پروژه یک فعالیت بنیادی برای توسعه نرم افزار است. برنامه ریزی مناسب کمک می‍کند که کار تیم پروژه برای دستیابی به اهداف از پیش تعیین شده در یک بازه زمانی به درستی انجام گیرد.
این مقاله برای مدیران پروژه و مدیران توسعه نرم افزار که قصد دارند برای پروژه خود برنامه ریزی کنند نوشته شده است و یک رهیافت تمرینی برای برنامه ریزی پروژه بر اساس دیسیپلین‍های مدیریت پروژه RUP را تشریح خواهد کرد. همچنین چگونگی ایجاد یک برنامه پروژه coarse-grained و برنامه تکرار برای هر فعالیت به منظور بومی سازی برنامه ریزی فرآیندها برای یک محیط توسعه مخصوص را تشریح می‍نماید.
یکی از بزرگترین مشکلات مدیران در برخورد با یک تیم پروژه توسعه نرم افزار غیر قابل مشاهده و غیر قابل لمس بودن آن است. پروژه توسعه نرم افزار بر خلاف ساخت یک پل است که هر فردی می‍تواند پیشرفت آن را مشاهده نماید. به خاطر اینکه نتیجه فیزیکی پروژه توسعه نرم افزار همانا اجرای برنامه کاربردی است که به صورت مداوم توسعه می‍یابد و به آسانی قابل مشاهده نیست و خیلی سخت است که بتوان وضعیت پروژه را تشخیص داد و یا اینکه تصوری از پیشرفت فیزیکی آن را در ذهن متصور بود. برای مقابله با این خصوصیت نامریی بودن، اولین وظیفه در پروژه استفاده از abstraction است. به عنوان نمونه معمار یک مدل UML دارد، آنالیست یک مدل نیازمندی‍ها یا use case، آزمونگر یک برنامه تست دارد و برنامه پروژه نیز ابزار معادلی برای مدیریت پروژه است. آن (ابزار) خلاصه سازی یا مدلی است برای مدیر پروژه که با آن کار کند و یا آن را با تیم به اشتراک بگذارد و به منظور اجرای آنالیز پیچیده و فشرده از آن استفاده کند.
در محیط‍های جدید توسعه‍ای نرم افزار، برنامه پروژه یا Project Plan به عنوان وجود دیدگاهی پارامتریک از یک پروژه به منظور اشتراک و دستیابی تیم قطعی است.
● یک برنامه پروژه خوب عملکردها و یا وظایف زیر را اجرا می‍کند:
▪ کمک به مدیر برنامه ریزی به منظور کنترل جریان نقدینگی و برنامه ریزی پروژه
▪ برقراری ارتباط به منظور تعیین اینکه چه چیزی در چه زمانی تحویل داده خواهد شد
▪ تعیین اینکه کدام یک از منابع بایستی در دسترس باشند و چه زمانی به آن‍ها نیاز است
▪ کمک به جلوگیری برخورد و تصادم بین منابع رقابتی در فعالیت‍های متفاوت
▪ کمک به تیم برای درک اینکه چه کسی چه کاری را در پروژه انجام می‍دهد
▪ تولید اساس و پایه برای اندازه گیری درصد پیشرفت و هزینه
▪ دادن نقاط بحرانی به برنامه ریز برای پشتیبانی برنامه ریزی مجدد فعالیت‍ها
▪ کمک به مشتری و مدیریت برای اینکه مشاهده کنند چه چیزی به اشتباه در زمان اجرای پروژه، اتفاق افتاد
● یک برنامه پروژه خوب دارای مشخصات کلیدی زیر است:
▪ برنامه بایستی مقصد محور باشد، به عبارتی بایستی مشخص کند که چه چیزهایی بایستی در پروژه تحویل داده شوند. اگر برنامه‍ای که مورد استفاده است بخواهد به عنوان یک محرک تیم برای حرکت به سوی اهداف تعریف شده کمک کند، بایستی مقاصد روشنی را، هم برای تیم و هم به صورت انحصاری به منظور تعیین کارایی آنها در برابر برنامه، تولید کند
▪ برنامه بایستی مدیر پروژه را قادر به درک این مطلب کند که کدام یک از اعضا تیم در حال کار بر روی کدام یک از وظایف هستند و چه وابستگی بین وظایف وجود دارد
▪ برنامه بایستی دیدگاه‍های مختلفی از اطلاعات را بر اساس نیازهای مشتریان، اعضا تیم و مدیریت تولید کند. به عنوان مثال بایستی یک برنامه coarse-grained، یک برنامه artifact، یک برنامه delivery و یک لیست کارهایی که بایستی انجام شوند از بین چیزهای دیگر را تولید کند
▪ برنامه بایستی از لحاظ زمانی و موارد تحویل داده شده قابل اندازه گیری باشد. اغلب وقتی در رابطه با درصد پیشرفت فیزیکی سوال می‍شود، مدیر پروژه می‍تواند گزارشی از زمان و هزینه خرج شده ارایه دهد. اما نمی‍تواند از نظر کمی بگوید که چه مقدار از سیستم تحویل داده شده است. این مطلب که الان در چه وضعیتی از پروژه هستیم و اینکه چه مواردی تحویل داده شده است و یا چه مواردی در شرف تحویل است، برای مدیر پروژه و اعضا تیم مهم است.
▪ برنامه بایستی به روز باشد، بایستی به برنامه‍های واقعی که در پروژه اجرا می‍شوند متصل باشد، به گونه‍ای که مدیر پروژه بتواند درصد پیشرفت را تشخیص دهد. اگر یک برنامه پروژه در زمان تشخیص کارایی سطح دوم باشد، به صورت صحیح استفاده نشده است.
● مشخصات یک پروژه RUP
▪ یک پروژه RUP دارای دو جنبه اساسی است که برای برنامه پروژه مهم است:
ـ پروژه‍های RUP تکراری هستند
ـ پیشرفت پروژه، بر اساس نقاط بحرانی واضح اندازه گیری می‍شود
● توسعه تکراری
اکثر پروژه‍های RUP به صورت تکراری تعریف می‍شوند. RUP یک فرآیند افزایشی است که در آن پروژه به فازهای مختلف و تکراری شکسته می‍شود. تکرارها ریسک محور هستند – به عبارتی در جهت تخفیف ریسک – و هر یک بایستی یک برنامه اجرایی را تحویل دهند که قابل شرح و قابل تست بر اساس نیازهای پروژه و usecase ها باشد.
مدیر پروژه از برنامه‌های تکراری برای مدیریت پروژه استفاده می‍کند. عموماً کارها و فعالیت‍های خارج از یک برنامه تکرار جزو تعهدات نیست.
▪ یک برنامه تکرار:
ـ شرح مختصری برای فازهای کاری در آینده نزدیک را تهیه می‍کند
ـ تعریف نقش کارکنان درگیر، فعالیت‍های لازم و محصولات قابل تحویل در یک تکرار
ـ مجموعه‍ای واضح و روشن از رئوس مطالب و ضوابط ارزیابی که بوسیله آن‍ها بتوان در طول تکرار و در انتهای ارزیابی پیشرفت را تشخیص داد
ـ تعریف تاریخ‍های شروع و پایان مشخص و تاریخ‍های تحویل
تشخیص سایز و تعداد تکرارهای مورد نیاز یک پروژه در ادامه این مستند تشریح خواهد شد.
● نقاط بحرانی
متدولوژی RUP برای توسعه پروژه‍ها چهار فاز شناسایی کرده است. هر فاز از یک منظر مشخص که مرتبط است با تعدادی نقاط برجسته بر روی تیم پروژه تمرکز می‍کنند. این نقاط کلیدی و برجسته به مدیریت پروژه کمک می‍کند تا پیشرفت پروژه راتشخیص دهد و مطمئن شود که پروژه قابلیت‍های مورد نیاز را با کیفیت تحویل خواهد داد. فازها و مواردی که آن‍ها بر آن متمرکز می‍شوند عبارتند از:
▪ فاز آغازین
ـ تمرکز این فاز بر روی درک قلمرو و محدوده پروژه است
▪ فاز جزییات
ـ در انتهای این فاز بایستی معماری و نیازمندی‍های محصولاتی که می‍بایست تولید شوند، شناسایی شده باشد
▪ فاز ساخت
ـ در این فاز نرم افزار بایستی ساخته و تولید شود
▪ فاز گذار
ـ در این فاز نرم افزار بایستی ترخیص و به مشتریان تحویل داده شود
در مفهوم توسعه تکراری، نقاط کلیدی یک فاز بر روی تمرکزهای آن فاز تمرکز می‍کند. هر تکرار پروژه را از میان نقاط کلیدی و یا بحرانی حرکت می‍دهد. برای مثال، تکرار در داخل فاز آغازین بایستی ساخت یافته در حول درک محدوده پروژه باشد.
نوشته شده آرمین قادری
منبع : سایت گسترش سیستمهای اطلاعات پروژه در ایران (ساپ ایران)


همچنین مشاهده کنید