انتخاب متدولوژی شاید اولین چالش بزرگ یک شرکت تولیدکننده نرمافزار در حال رشد یا بهعبارت بهتر شرکتی که در حال تشکیل تیم توسعه نرمافزار میباشد، است. در زمانیکه در یک تیم بیش از چهار نفره (و شاید کمتر) کار میکنید، اغلب نیاز است تا یک متدولوژی (نه لزوماً در ایران) انتخاب کنید تا براساس آن:
- مدلها، فرآوردهها و مستتندات کلیدی توسعه نرمافزار را تبیین کنید
- نقشها و ارتباط اعضای تیم مشخص کنید
- فعالیتهای پروژه را شناسایی و مرتبط کنید
- ارتباط بین ورودیها و خروجیهای هر فعالیت را تعیین کنید
متدولوژیها و فرآیندهای متنوعی برای توسعه نرمافزار ارائه شدهاند که هر یک اصول و قواعدی را مد نظر میدهد که آن را مناسب برای پروژههای خاص میکند اما گام بعدی پس از انتخاب متدولوژی، سفارشیسازی آن برای پروژه مورد نظر است. یکی از معدود ابزارهای انجام این کار Rational Method Composer میباشد که در ابتدا با نام RUP Builder توسط شرکت Rational ارائه شده بود و برای سفارشیسازی RUP ارائه شده بود اما پس از خرید این شرکت توسط IBM، در حال حاضر برای اغلب متدولوژیها قابل بکارگیری است. شما میتوانید این ابزار را از سایت IBM و از اینجا دانلود کنید.
این ابزار به سادگی به شما امکان میدهد تا محصول (فرآورده)، فعالیت و نقش را تعریف کنید و خصوصیات آنها را وارد نمایید و براساس آنها فرآیند (نظم) را تعریف نمایید. علاوه بر این میتوانید راهنماها، مفاهیم، مثال و سایر موارد را براحتی اضافه کنید. عکس زیر ارتباط بین عناصر کلیدی متدولوژی را نشان میدهد و ابزار کمک میکند که این ارتباط را برقرار نمایید.
این ابزار کلیه مفاهیم مورد نیاز برای ساخت متدولوژی را به دو دسته تقسیم نموده است: Method Content و Process. در اولی همه چیزهای مورد نیاز پایه (شکل بالا) برای ساخت دومی یعنی فرآیند وجود دارد. برای ساخت یک متدولوژی در این ابزار میبایست فعالیتهای زیر را انجام دهید:
- نقشها را تعریف کنید
- محصولات را تعریف کنید
- فعالیتها را مشخص کنید
- نقش انجامدهنده هر فعالیت را مشخص کنید
- ورودیهای اجباری و اختیاری و خروجیهای هر فعالیت را مشخص کنید
پس از این کار Method Content آماده میشود. یک نمونه از فعالیت انجام شده را میتوانید در اینجا ببیند. برای ایجاد فرآیند تنها کافیست فعالیتهای مورد نظر خود را در فرآیند قرار دهید و بسادگی فرآیند خود را بسازید و ابزار به شما امکان میدهد تا فعالیتها بههمراه فرآوردههای مورد استفاده و افراد مورد نیاز را مشاهده کنید.
ابزار RMC علاوه بر فعالیت ساده توضیحداده شده، تواناییهای کلیدی دیگری دارد که عبارتند از:
- حاوی کتابخانهای از فرآیندهای توسعه نرمافزار مختلف از جمله RUP، Agile ، ISO 26262 میباشد
- توانایی ایجاد فرآیندهای مختلف و استفاده مکرر از چندین فرآیند را دارد
- توانایی ایجاد پیکربندیهای مختلف از یک فرآیند را دارد که این موضوع برای بکارگیری در تولید چندین محصول با یک متدولوژی پایه بسیار اهمیت دارد
- توانایی برقراری ارتباط بین مولفههای فرآیندها و کتابخانههای مختلف بهمنظور افزایش قابلیت استفاده را دارد
- قابلیت export فرآیند و پیکربندی بهصورت فایل یکپارچه و تحت وب را دارد
برای مطالعه بیشتر در مورد این ابزار میتوانید به اینجا مراجعه کنید. نکته مهمی که در مورد این ابزار وجود دارد، مبتنی بودن آن بر Eclipse Process Framework است که برای ما علاقهمندان به ابزارهای مجانی خبر خوبی است. در واقع IBM از EPF بهعنوان بستر استفاده نموده و کتابخانههای خود را با آن ایجاد نموده است. علاوه بر این برخی امکانات را بر این بستر همچون وجود مدل تخمین فعالیتها و ارتباط با سایر ابزارهای IBM افزوده است.
ابزار EPF هم دارای مجموعهای از کتابخانهها از جمله OpenUp و Scrum است که میتوانید از اینجا دانلود کنید. همچنین شما میتوانید از کتابخانهها RMC براحتی در این ابزار استفاده نمایید و تنها کافیست آدرس کتابخانه را به ابزار بدهید.
در انتهای طراحی فرآیند و متدولوژی توسعه میتوانید آن را Publish نمائید تا تمام اعضای تیم به آن دسترسی داشته باشند. همچنین میتوانید فهرست فعالیتها را بهصورت Microsoft Project نیز Export نمائید تا ادامه برنامهریزی را در آن انجام دهید. با این کار تمام لینک به اطلاعات هر فعالیت نگهداری میشود.
طبیعتاً این نوشتار تنها معرفی ساده میباشد و برای اطلاعات بیشتر میتوانید اینجا و اینجا را مطالعه نمایید.
چکار خوبی را شروع کردی. مهم اینه که پیوسته و مستمر ادامه اش بدهی مهندس جان.
سعی کن مخاطب خودت را دسته بندی یا اولویت بندی کنی. مثلا مخاطب دانشجو / مهندسین و پیمانکاران/ مدیران فاوا / یا ….
از نظر خوبت متشکرم
با سلام
کار خوبی رو شروع کردین فقط خواهشمندم در صورت امکان بیشتر تمرکزتون روی بحثهای کاربردی و عملی و پروژه های واقعی باشه
در اینصورت سایت شما به یه سایت بی نظیر تو این حوزه تبدیل میشه
موفق باشید
انشاالله حتما انجام خواهم داد و با توجه به این موضوع که نمیشه مستندات پروژهها رو بخاطر حق کپیرایت قرار داد