S
‫را‬ ‫درست‬ ‫متدولوژی‬ ‫چگونه‬
‫کنیم‬ ‫انتخاب‬
‫علیرضایی‬ ‫احسان‬
‫فرایند‬‫توسعه‬
‫مجموعه‬‫اي‬‫از‬‫گام‬‫هایی‬‫است‬‫كه‬‫شامل‬‫فعالیت‬‫ها‬،‫محدودیت‬‫ها‬‫و‬‫منابعي‬‫براي‬‫رسیدن‬
‫به‬‫یك‬‫خروجي‬‫مطلوب‬‫می‬‫باشد‬‫كه‬‫یك‬‫سري‬‫از‬‫نیازهاي‬‫ورودي‬‫را‬‫پاسخگو‬‫است‬.
‫فرایند‬‫معموال‬‫شامل‬‫چند‬‫فاز‬‫یا‬‫قدم‬‫است‬‫كه‬‫هر‬‫كدام‬‫یك‬‫فعالیت‬‫را‬‫نشان‬‫مي‬‫دهند‬.
‫حیات‬ ‫چرخه‬ ‫یا‬ ‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫فرایند‬
‫مجموعه‬‫اي‬‫همسان‬‫از‬‫سیاست‬‫ها‬،‫ساختارهاي‬‫سازماني‬،‫فن‬‫آوری‬،‫ها‬‫روش‬‫ها‬‫و‬‫محصوالتي‬‫كه‬
‫براي‬‫توسعه‬،‫نگهداري‬،‫تجهیز‬‫و‬‫درك‬‫سیستم‬‫نر‬‫م‬‫افزاري‬‫مورد‬‫نیاز‬‫هستند‬.‫فرایند‬‫توسعه‬‫ی‬
‫نرم‬‫افزار‬‫شامل‬‫مراحلي‬‫براي‬‫رسیدن‬‫به‬‫محصول‬‫نهایي‬‫است‬،‫که‬‫گام‬‫های‬‫تعریف‬‫شده‬‫در‬‫آن‬،
‫با‬‫فرایند‬‫توسعه‬،‫سه‬‫تفاوت‬‫اساسی‬‫دارد‬:
.1‫بایستي‬‫نیازمندي‬‫ها‬‫درك‬‫شوند‬
.2‫باید‬‫در‬‫محیط‬‫عملیاتي‬‫كارگذاشته‬‫شود‬
.3‫بنا‬‫بر‬‫درخواستهای‬‫کاربران‬‫و‬‫نیاز‬‫به‬‫تغییرنرم‬‫افزار‬،‫نگهداري‬‫از‬‫ان‬
‫انجام‬‫می‬‫شود‬.
‫نرم‬ ‫فرایند‬ ‫مدل‬
‫افزاری‬
‫مدل‬‫فرایند‬‫بیان‬‫كننده‬‫این‬‫مطلب‬‫است‬‫كه‬
‫كدام‬‫فاز‬‫از‬‫فرایند‬‫بایستي‬‫سازماندهي‬‫شود‬،
‫و‬‫در‬‫چه‬‫مرتبه‬‫اي‬‫اجرا‬‫گردد‬‫و‬‫چه‬
‫هماهنگي‬‫میان‬‫كارهاي‬‫مختلف‬‫فازها‬‫اتفاق‬
‫افتد‬.
‫ابشاری‬ ‫فرایند‬ ‫مدل‬ ‫مانند‬,‫تکراری‬,‫حل‬‫قوی‬
‫غیره‬ ‫و‬.
‫متدولوژی‬ ‫و‬ ‫متد‬
.1‫متد‬:‫بیان‬‫كننده‬‫نحوه‬‫انجام‬‫یك‬‫كار‬‫مشخص‬‫درون‬‫فرایند‬‫براي‬‫تولید‬‫یك‬‫خرو‬‫جي‬
‫است‬.
.2‫متدولوژي‬:‫یك‬‫متدولوژي‬‫مجموعه‬‫اي‬‫از‬‫متدها‬‫است‬‫كه‬‫مراحل‬‫مختلف‬‫یك‬‫فرایند‬
‫را‬‫پوشش‬‫و‬‫به‬‫هم‬‫متصل‬‫میكنند‬.‫هدف‬‫متدولوژي‬‫بیان‬‫یك‬‫روش‬‫مشخص‬‫براي‬‫حل‬
‫مساله‬‫در‬‫فرایند‬‫نرم‬‫افزاري‬‫و‬‫ایجاد‬‫ارتباط‬‫میان‬‫متدهاي‬‫مختلف‬‫است‬.‫متدولوژی‬
‫آن‬ ‫وسیله‬ ‫به‬ ‫که‬ ‫است‬ ‫ای‬ ‫شیوه‬‫شده‬ ‫تعریف‬ ‫چهارچوب‬ ‫به‬ ‫پروژه‬ ‫تیم‬ ‫و‬ ‫سازمآنها‬
‫میگردند‬ ‫اعمال‬,‫یافته‬ ‫ساخت‬ ‫نویسی‬ ‫برنامه‬ ‫مانند‬,SSADM , OOP,RAD.
.
‫متدولوژی‬ ‫انتخاب‬
‫است‬ ‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫فرایند‬ ‫از‬ ‫بخشی‬ ‫نیازمندیها‬ ‫مهندسی‬.
‫شرکت‬ ‫که‬ ‫هنگامی‬ ‫نمونه‬ ‫عنوان‬ ‫به‬X‫شناخت‬ ‫فاز‬ ‫در‬ ‫میکند‬ ‫برخورد‬ ‫پروژه‬ ‫یک‬ ‫با‬
‫میپردازد‬ ‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫فرایند‬ ‫در‬ ‫نیازمندیها‬ ‫مهندسی‬ ‫عملیات‬ ‫به‬ ‫ان‬.
‫است‬ ‫افزار‬ ‫نرم‬ ‫حیات‬ ‫چرخه‬ ‫از‬ ‫بخشی‬ ‫نیازمندیها‬ ‫مهندسی‬ ‫که‬ ‫اینست‬ ‫مهم‬ ‫نکته‬.
‫می‬ ‫ارایه‬ ‫راهنمایی‬ ‫متدها‬ ‫ریز‬ ‫تا‬ ‫کلی‬ ‫مقیاس‬ ‫در‬ ‫و‬ ‫حیات‬ ‫چرخه‬ ‫درباره‬ ‫متدولوژی‬‫کند‬.
‫شود‬ ‫انجام‬ ‫چگونه‬ ‫نیازمندیها‬ ‫مهندسی‬ ‫که‬ ‫میگوید‬ ‫متدولوژی‬.
‫متدولوژی‬ ‫انتخاب‬
‫کدام‬ ‫اینکه‬ ‫درباره‬ ‫بسیاری‬ ‫مقاالت‬SDLC‫ارایه‬ ‫است‬ ‫مناسب‬ ‫پروژه‬ ‫یک‬ ‫برای‬
‫است‬ ‫گردیده‬.
‫اف‬ ‫نرم‬ ‫ایجاد‬ ‫با‬ ‫شخصی‬ ‫اطالعات‬ ‫سایت‬ ‫یک‬ ‫طراحی‬ ‫که‬ ‫اینست‬ ‫دیگر‬ ‫مهم‬ ‫نکته‬‫زار‬
‫نیست‬ ‫یکی‬ ‫ناسا‬ ‫برای‬.
‫هزینه‬ ‫همچون‬ ‫مقیاسهایی‬ ‫لحاظ‬ ‫از‬ ‫کار‬ ‫دو‬ ‫این‬,‫مت‬ ‫یکدیگر‬ ‫با‬ ‫پیچیدگی‬ ‫درجه‬‫فاوت‬
‫هستند‬.
‫میگیرد‬ ‫نظر‬ ‫در‬ ‫را‬ ‫راهکارهایی‬ ‫سازمان‬ ‫پروژه‬ ‫یک‬ ‫با‬ ‫برخورد‬ ‫برای‬.PMO
‫متدولوژی‬ ‫انتخاب‬
‫میدهد‬ ‫قرار‬ ‫نظر‬ ‫مد‬ ‫را‬ ‫زیر‬ ‫روشهای‬ ‫سازمان‬ ‫پروژه‬ ‫یک‬ ‫با‬ ‫برخورد‬ ‫برای‬:
.1‫پذیری‬ ‫انعطاف‬ ‫به‬ ‫نیاز‬–۵‫بند‬
.2‫روشها‬ ‫بندی‬ ‫دسته‬
.3‫روشها‬ ‫مقایسه‬
.4‫ها‬ ‫پروژه‬ ‫بندی‬ ‫دسته‬
.5‫باشد‬ ‫نیاز‬ ‫روش‬ ‫چند‬ ‫به‬ ‫است‬ ‫ممکن‬
‫کجاست؟‬ ‫مشکل‬
S‫اساس‬ ‫بر‬CMMI‫و‬ ‫شیءگرایی‬ ‫روشهای‬
‫فرایند‬ ‫بلوغ‬ ‫حد‬ ‫به‬ ‫تر‬ ‫قدیمی‬ ‫روشهای‬ ‫دیگر‬‫رسیده‬
‫اند‬
S‫سطح‬ ‫ابتدای‬ ‫در‬ ‫هنوز‬ ‫گرا‬ ‫عامل‬ ‫روشهای‬ ‫اما‬۳
‫هستند‬.
Capability Maturity Model
Integration
‫متدولوژی‬ ‫انتخاب‬ ‫در‬ ‫سازمان‬ ‫نقش‬
S‫دارد‬ ‫اطالعاتی‬ ‫هرفردی‬ ‫و‬ ‫یکتاست‬ ‫موجودیتهای‬ ‫دارای‬ ‫سازمان‬
S‫یکتاست‬ ‫تیمی‬ ‫هر‬
S‫اند‬ ‫گسترده‬ ‫خارجی‬ ‫نیازهای‬
S‫هستند‬ ‫گسترده‬ ‫هم‬ ‫روشها‬ ‫بندی‬ ‫دسته‬
S‫گردد‬ ‫سازگار‬ ‫بایستی‬ ‫سازمان‬ ‫یک‬ ‫برای‬ ‫روش‬ ‫یک‬ ‫مواقع‬ ‫بعضی‬ ‫در‬
‫متدولوژی‬ ‫انتخاب‬ ‫در‬ ‫پروژه‬ ‫نقش‬
S‫مثال‬ ‫که‬ ‫همانگونه‬ ‫باشد‬ ‫متناسب‬ ‫مساله‬ ‫با‬ ‫بایستی‬ ‫استفاده‬ ‫مورد‬ ‫متد‬ ‫اندازه‬‫شد‬ ‫زده‬.
S‫سواالت‬ ‫متد‬ ‫در‬what‫و‬how‫میگردند‬ ‫ارایه‬ ‫راهنمایی‬ ‫برای‬.
S‫سوال‬ ‫و‬ ‫میگردد‬ ‫تحلیل‬ ‫متدولوژی‬ ‫در‬ ‫مساله‬ ‫حوزه‬ ‫همان‬ ‫یا‬ ‫مساله‬ ‫قالب‬
what‫میشود‬ ‫ایجاد‬ ‫نیازمندیها‬ ‫مهندسی‬ ‫با‬ ‫مرتبط‬.
S‫متفاوت‬ ‫های‬ ‫اندازه‬ ‫با‬ ‫های‬ ‫پروژه‬ ‫برای‬,‫میگردد‬ ‫ارایه‬ ‫متفاوتی‬ ‫قالبهای‬.‫قا‬‫به‬ ‫لب‬
‫تشخ‬ ‫مساله‬ ‫حوزه‬ ‫برای‬ ‫قالب‬ ‫این‬ ‫درون‬ ‫نیازمندیها‬ ‫سپس‬ ‫و‬ ‫میگردد‬ ‫اعمال‬ ‫مساله‬‫یص‬
‫میشود‬ ‫داده‬.
‫ها‬ ‫پروژه‬ ‫بندی‬ ‫طبقه‬ ‫روش‬
S‫مشخص‬ ‫طبقه‬ ‫یک‬ ‫در‬ ‫خاص‬ ‫های‬ ‫پروژه‬ ‫دادن‬ ‫قرار‬
S‫دسته‬ ‫در‬ ‫پروژه‬ ‫بندی‬ ‫طبقه‬
S‫م‬ ‫با‬ ‫شود‬ ‫داده‬ ‫تحویل‬ ‫بازار‬ ‫به‬ ‫است‬ ‫قرار‬ ‫که‬ ‫محصولی‬ ‫اساس‬ ‫بر‬ ‫بندی‬ ‫دسته‬‫اتریس‬
‫بوستون‬
S‫بودجه‬ ‫اساس‬ ‫بر‬ ‫بندی‬ ‫دسته‬
S‫ارتباطی‬ ‫پیچیدگی‬ ‫اساس‬ ‫بر‬ ‫بندی‬ ‫دسته‬
‫متدولوژی‬ ‫انتخاب‬
S‫یک‬ ‫دادن‬ ‫انجام‬ ‫چگونه‬ ‫چهت‬ ‫را‬ ‫هایی‬ ‫راهنمایی‬ ‫و‬ ‫پیشنهادها‬ ‫متدولوژی‬ ‫که‬ ‫انجا‬ ‫از‬
‫مینماید‬ ‫ارایه‬ ‫ان‬ ‫با‬ ‫مرتبط‬ ‫ایزارهای‬ ‫یا‬ ‫فرایند‬.
S‫ب‬ ‫دسته‬ ‫و‬ ‫انجام‬ ‫قابل‬ ‫های‬ ‫پروژه‬ ‫و‬ ‫سازمان‬ ‫مشخصات‬ ‫با‬ ‫بایستی‬ ‫متدولوژی‬ ‫هر‬‫ندی‬
‫باشد‬ ‫منطبق‬ ‫سازمان‬ ‫ان‬ ‫در‬ ‫شده‬.
S‫ک‬ ‫چرا‬ ‫است‬ ‫نظر‬ ‫مد‬ ‫عاملها‬ ‫حوزه‬ ‫در‬ ‫بیشتر‬ ‫منطبق‬ ‫و‬ ‫مناسب‬ ‫متدولوژی‬ ‫انتخاب‬‫ه‬
‫اند‬ ‫نرسیده‬ ‫مناسب‬ ‫بلوغ‬ ‫درجه‬ ‫به‬ ‫ها‬ ‫متدولوژی‬.
references
S Comparison of software development lifecycle
methodologies , james e.purcell
S www.agiledata.org
S Software development method , m.a.jackson
S Choosing the right methodology ,scott burkett
S The puposes and method of practical project categorization,
russel achibald

How to choose right methodology