الگوي استاندارد تكامل توانايي فرآیند
تولید نرم افزار Capability Maturity Model
CMM چیست ؟
استاندارد نرمافزار تدوين شده توسط دانشكده مهندسي نرمافزار
دانشگاه كارنگي ملون آمريكا و مؤسسه SEI (Software Engineering Institute) می باشد (3) که چارچوبي است براي توصيف اجزاي كليدي يك
فرآيند كارآمد جهت توليد نرمافزار و همچنین
چارچوبی است برای توصيف سير بهبود تكاملي از يك فرآيند ناكامل و نامنظم به يك فرآيند
تكامل يافته و منظم
شناسایی سطح بلوغ نرم افزار راه را
برای رسیدن به یک فرآیند نرم افزار بالغ هموار می کند. این سطح پایه ای برای تحقق
بهبود مستمر می باشد. هر سطح شامل گروهی از اهداف فرایند است که، که به ثبات رسیدن
آنها، بخش مهمی از فرایند نرم افزار می باشد. تکامل هر سطح منجر به بهبود قابلیت
فرآیند سازمان می شود . سطوح
مختلفی برای بلوغ نرم افزار تعریف شده است که ارتقاء سطح بلوغ یکی از اهداف تحقیق
می باشد.
سطح 1 – مقدماتي ( Initial)
در این سطح، شیوه
های معمول به ندرت به چشم می خورند. معمولا موفقیت صرفا به مهارتها و تلاشهای
کلیدی شخصی بستگی دارد. مکانیزم سازماندهی شده ای برای تضمین موفقیت همه پروژه ها
وجود ندارد. بیشتر سازمانهای نرم افزاری در این سطح قرار دارند.
هدف در این سطح تکرار
موفقیت های سابق در پروژه های نرم افزاری پیشین و تکرار نکردن اشتباهات قبلی می
باشد. این سطح نیازمند سازمانی است که روش مدیریت پروژه را اجرا کرده و در تمام
مراحل اجرای پروژه ها از این مشی پیروی کند. SEI فقط 15 درصد از حوزه های تولید نرم افزار را در این سطح از رشدیافتگی ارزیابی
کرده است.
در این سطج برای
سازمان، فعالیت های مهندسی و مدیریت فرآیند نرم افزار، در قالب یک فرآیند نرم
افزاری، استاندارد سازی و یکپارچه سازی شده است.SEI فقط 8 درصد از
حوزه های تولید نرم افزار را در این سطح از رشد یافتگی ارزیابی کرده است. شرکت
مایکروسافت در سطح سوم از سطوح CMM طبقه بندی می شود.
در سطح
مدیریت شده کیفیت کلی محصول و فرآیند نرم افزاری، بصورت کمیتی قابل فهم و کنترل می باشد.SEI کمتر
از یک درصد از حوزه های تولید نرم افزار را دراین سطح از رشدیافتگی ارزیابی کرده
است. IBM در این سطح از CMM
واقع است.
•
در این سطح فرآیند
مستمر بهبود بوسیله بازخوردهای کمی از فرآیند و از طریق جهت دهی ایده ها و
تکنولوژی های ابتکاری ممکن خواهد بود.
اقداماتی که در هر سطح باید صورت پذیرد فرآیند های کلیدی نامیده می شود . این اقدامات بسته به سطح بلوغ
نرم افزار شما دارد.
سطح 1- مقدماتی :
فرآیندهای
خلق الساعه
سطح2 - تکرارپذير :
1- مدیریت نیازها
2- برنامه ریزی پروژه نرم افزار
3- پیگیری و نظارت پروژه نرم افزاری
4- پیمانکاری فرعی نرم افزار
5- تضمین کیفیت نرم افزار
6- مدیریت پیکربندی نرم افزار
سطح3 - تعریف شده
1- تمرکز بر فرآیند سازمان
2- تعریف فرآیند سازمان
3- برنامه آموزش
4- مدیریت ادغام نرم افزار
5- مهندسی محصول نرم افزار
6- هماهنگی بین گروهها
7- بازنگری همکاران
سطح4 - مدیریت شده
1- مدیریت فرآیند به صورت کمی
2- مدیریت کیفیت نرم افزار
سطح5 - بهینه شده
1- مدیریت تغییر فرآیند
2- مدیریت تغییر فناوری
3- پیشگیری از نقص