انتخاب متدولوژي شايد اولين چالش بزرگ يك شركت توليدكننده نرم‌افزار در حال رشد يا به‌عبارت بهتر شركتي كه در حال تشكيل تيم توسعه نرم‌افزار مي‌باشد، است. در زمانيكه در يك تيم بيش از چهار نفره (و شايد كمتر) كار مي‌كنيد، اغلب نياز است تا يك متدولوژي (نه لزوماً در ايران) انتخاب كنيد تا براساس آن:

  • مدل‌ها، فرآورده‌ها و مستتندات كليدي توسعه نرم‌افزار را تبيين كنيد
  • نقش‌ها و ارتباط اعضاي تيم مشخص كنيد
  • فعاليت‌هاي پروژه را شناسايي و مرتبط كنيد
  • ارتباط بين ورودي‌ها و خروجي‌هاي هر فعاليت را تعيين كنيد

متدولوژي‌ها و فرآيندهاي متنوعي براي توسعه نرم‌افزار ارائه شده‌اند كه هر يك اصول و قواعدي را مد نظر مي‌دهد كه آن را مناسب براي پروژه‌هاي خاص مي‌كند اما گام بعدي پس از انتخاب متدولوژي، سفارشي‌سازي آن براي پروژه مورد نظر است. يكي از معدود ابزارهاي انجام اين كار Rational Method Composer مي‌باشد كه در ابتدا با نام RUP Builder توسط شركت Rational ارائه شده بود و براي سفارشي‌سازي RUP ارائه شده بود اما پس از خريد اين شركت توسط IBM، در حال حاضر براي اغلب متدولوژي‌ها قابل بكارگيري است. شما مي‌توانيد اين ابزار را از سايت IBM و از اينجا دانلود كنيد.

اين ابزار به سادگي به شما امكان مي‌دهد تا محصول (فرآورده)، فعاليت و نقش را تعريف كنيد و خصوصيات آن‌ها را وارد نماييد و براساس آن‌ها فرآيند (نظم) را تعريف نماييد. علاوه بر اين مي‌توانيد راهنماها، مفاهيم، مثال و ساير موارد را براحتي اضافه كنيد. عكس زير ارتباط بين عناصر كليدي متدولوژي را نشان مي‌دهد و ابزار كمك مي‌كند كه اين ارتباط را برقرار نماييد.

fig10اين ابزار كليه مفاهيم مورد نياز براي ساخت متدولوژي را به دو دسته تقسيم نموده است: Method Content و Process. در اولي همه چيزهاي مورد نياز پايه (شكل بالا) براي ساخت دومي يعني فرآيند وجود دارد. براي ساخت يك متدولوژي در اين ابزار مي‌بايست فعاليت‌هاي زير را انجام دهيد:

  • نقش‌ها را تعريف كنيد
  • محصولات را تعريف كنيد
  • فعاليت‌ها را مشخص كنيد
  • نقش انجام‌دهنده هر فعاليت را مشخص كنيد
  • ورودي‌هاي اجباري و اختياري و خروجي‌هاي هر فعاليت را مشخص كنيد

پس از اين كار Method Content آماده مي‌شود. يك نمونه از فعاليت انجام شده را مي‌توانيد در اينجا ببيند. براي ايجاد فرآيند تنها كافيست فعاليت‌هاي مورد نظر خود را در فرآيند قرار دهيد و بسادگي فرآيند خود را بسازيد و ابزار به شما امكان مي‌دهد تا فعاليت‌ها به‌همراه فرآورده‌هاي مورد استفاده و افراد مورد نياز را مشاهده كنيد.

 

EPF2

 

ابزار RMC علاوه بر فعاليت ساده توضيح‌داده شده،  توانايي‌هاي كليدي ديگري دارد كه عبارتند از:

  • حاوي كتابخانه‌اي از فرآيندهاي توسعه نرم‌افزار مختلف از جمله RUP، Agile ، ISO 26262 مي‌باشد
  • توانايي ايجاد فرآيندهاي مختلف و استفاده مكرر از چندين فرآيند را دارد
  • توانايي ايجاد پيكربندي‌هاي مختلف از يك فرآيند را دارد كه اين موضوع براي بكارگيري در توليد چندين محصول با يك متدولوژي پايه بسيار اهميت دارد
  • توانايي برقراري ارتباط بين مولفه‌هاي فرآيندها و كتابخانه‌هاي مختلف به‌منظور افزايش قابليت استفاده را دارد
  • قابليت export فرآيند و پيكربندي به‌صورت فايل يكپارچه و تحت وب را دارد

براي مطالعه بيشتر در مورد اين ابزار مي‌توانيد به اينجا مراجعه كنيد. نكته مهمي كه در مورد اين ابزار وجود دارد، مبتني بودن آن بر Eclipse Process Framework است كه براي ما علاقه‌مندان به ابزارهاي مجاني خبر خوبي است. در واقع IBM از EPF به‌عنوان بستر استفاده نموده و كتابخانه‌هاي خود را با آن ايجاد نموده است. علاوه بر اين برخي امكانات را بر اين بستر همچون وجود مدل تخمين فعاليت‌ها و ارتباط با ساير ابزارهاي IBM افزوده است.

fig8ابزار EPF هم داراي مجموعه‌اي از كتابخانه‌ها از جمله OpenUp و Scrum است كه مي‌توانيد از اينجا دانلود كنيد. همچنين شما مي‌توانيد از كتابخانه‌ها RMC براحتي در اين ابزار استفاده نماييد و تنها كافيست آدرس كتابخانه را به ابزار بدهيد.

در انتهاي طراحي فرآيند و متدولوژي توسعه مي‌توانيد آن را Publish نمائيد تا تمام اعضاي تيم به آن دسترسي داشته باشند. همچنين مي‌توانيد فهرست فعاليت‌ها را به‌صورت Microsoft Project نيز Export نمائيد تا ادامه برنامه‌ريزي را در آن انجام دهيد. با اين كار تمام لينك به اطلاعات هر فعاليت نگهداري مي‌شود.

طبيعتاً اين نوشتار تنها معرفي ساده مي‌باشد و براي اطلاعات بيشتر مي‌توانيد اينجا و اينجا را مطالعه نماييد.