410 likes | 755 Views
استاندارد CMM. الگوي استاندارد تكامل توانايي فرآیند تولید نرم افزار. C apability M aturity M odel. كليات الگوي تكامل توانايي. CMM چیست ؟ ساختار CMM ساختار سازمانی و نقش ها تعريف سطوح CMM و زمينه فرآيندهاي كليدي CMM ارزيابي CMM. ؟. CMM چیست ؟.
E N D
استانداردCMM الگوي استانداردتكامل تواناييفرآیند تولید نرم افزار Capability Maturity Model
كليات الگوي تكامل توانايي • CMM چیست ؟ • ساختار CMM • ساختار سازمانی و نقش ها • تعريف سطوح CMMوزمينه فرآيندهاي كليدي CMM • ارزيابي CMM
؟ CMM چیست ؟ • استاندارد نرمافزار تدوين شدهتوسط دانشكدهمهندسي نرمافزار دانشگاه كارنگي ملون آمريكا و مؤسسهSEI(Software EngineeringInstitute) • چارچوبي است براي توصيف اجزاي كليدي يك فرآيند كارآمد جهت توليد نرمافزار • چارچوبی است برای توصيف سير بهبود تكاملي از يك فرآيند ناكامل و نامنظم به يك فرآيند تكامل يافته و منظم
ساختار CMM Indicate Maturity Levels Process Capability CMM Structure Contain Achieve Key Process Area Goals Organized by Address Common Features Implementation or Institutionalization Contain Describe Key Practices Infrastructure or Activities
ساختارCMM CMM سطح 1 مقدماتی سطح5 بهینه شده سطح3 تعریف شده سطح2 تکرارپذير سطح4 مدیریت شده سطوح CMM 1- تمرکز بر فرآیند سازمان 2- تعریف فرآیند سازمان 3- برنامه آموزش 4- مدیریت ادغام نرم افزار 5- مهندسی محصول نرم افزار 6- هماهنگی بین گروهها 7- بازنگری همکاران 1- مدیریت نیازها 2- برنامه ریزی پروژه نرم افزار 3- پیگیری و نظارت پروژه نرم افزاری 4- پیمانکاری فرعی نرم افزار 5- تضمین کیفیت نرم افزار 6- مدیریت پیکربندی نرم افزار 1- مدیریت تغییر فرآیند 2- مدیریت تغییر فناوری 3- پیشگیری از نقص 1- مدیریت فرآیند به صورت کمی 2- مدیریت کیفیت نرم افزار فرآیندهای خلق الساعه زمینه فرآیندهای کلیدی سطوح CMM اهداف تعهدات تواناییها فعالیت ها اندازه گیری و تحلیل تصدیق اهداف تعهدات تواناییها فعالیت ها اندازه گیری و تحلیل تصدیق اهداف تعهدات تواناییها فعالیت ها اندازه گیری و تحلیل تصدیق اهداف تعهدات تواناییها فعالیت ها اندازه گیری و تحلیل تصدیق اهداف تعهدات تواناییها فعالیت ها اندازه گیری و تحلیل تصدیق عناوین مشترک اقدامات کلیدی اقدامات کلیدی اقدامات کلیدی اقدامات کلیدی اقدامات کلیدی اقدامات کلیدی
يك مثال از ساختار CMM • مديريت تغيير فرآيند • مديريت تغيير فناوري • پيشگيري از نقص سطح 5 اهداف تعهدات تواناييها فعاليتها اندازهگيري و تحليل تصديق • برنامهريزيفعاليتهاي ممانعت از نقص • بررسيدلايل نقصها • اولويتبنديدلايل نقصو رفع و حذف آنها
سطح 1 مقدماتی سطح5 بهینه شده سطح3 تعریف شده سطح2 قابلتكرار سطح4 تحتمديريت • ميزان توانايي براي دستيابي به نتايج مورد انتظار با پيروي از يك فرآيند. • يكي از راههاي پيشبيني خروجيهاي مورد انتظار از پروژههاي نرمافزاري آتي. پنج بستر تعريف شده تكاملي براي دستيابي به يك فرآيند تكامل يافته نرمافزار توصيف ساختارCMM نشان دهنده توانايي فرآيند سطوح تكامل
1- تمرکز بر فرآیند سازمان 2- تعریف فرآیند سازمان 3- برنامه آموزش 4- مدیریت ادغام نرم افزار 5- مهندسی محصول نرم افزار 6- هماهنگی بین گروهها 7- بازنگری همکاران 1- مدیریت نیازها 2- برنامه ریزی پروژه نرم افزار 3- پیگیری و نظارت پروژه نرم افزاری 4- پیمانکاری فرعی نرم افزار 5- تضمین کیفیت نرم افزار 6- مدیریت پیکربندی نرم افزار 1- مدیریت تغییر فرآیند 2- مدیریت تغییر فناوری 3- پیشگیری از نقص 1- مدیریت فرآیند به صورت کمی 2- مدیریت کیفیت نرم افزار فرآیندهای خلق الساعه مجموعهاي از فعاليتهاي مرتبط با هر سطح خاص جهت دستيابي به اهدافي كه براي پيريزي توانايي فرآيند آن سطح مهم هستند. چكيده اقدامات كليدي مربوط به فرآيندهاي كليدي جهت نشان دادن پيادهسازي مؤثر يك فرآيند كليدي در سازمان توصيف ساختارCMM براي دستيابي به اهداف زمينه فرآيندهاي كليدي
اهداف تعهدات تواناییها فعالیت ها اندازه گیری و تحلیل تصدیق اهداف تعهدات تواناییها فعالیت ها اندازه گیری و تحلیل تصدیق اهداف تعهدات تواناییها فعالیت ها اندازه گیری و تحلیل تصدیق اهداف تعهدات تواناییها فعالیت ها اندازه گیری و تحلیل تصدیق اهداف تعهدات تواناییها فعالیت ها اندازه گیری و تحلیل تصدیق شامل مشخصههايي چون اهداف, تعهدات, تواناييها, فعاليتها, اندازهگيري, تحليل و تصديق جهت نشان دادن مؤثر, قابلتكرار و دائميبودن پيادهسازي و نهادينه بودن يك فرآيند كليدي توصيف ساختارCMM مشخص كننده پيادهسازي عناوين مشترك
توصيف زيرساختها و فعاليتهاي مؤثر در پيادهسازي و نهادينه شدن يك زمينه فرآيند كليدي اقدامات کلیدی اقدامات کلیدی اقدامات کلیدی اقدامات کلیدی اقدامات کلیدی توصيف ساختارCMM توصيف كننده زيرساختها و فعاليتها اقدامات كليدي
تفسير عناوین مشترك Common Features
تفسير عناوين مشترك • اهداف (Goals) شرح اهداف مورد نظر سيستم, براي پيادهسازي فرآيند. • تعهدات (Commitments) شرح فعاليتهايي كه سازمان براي اطمينان از پيادهسازي و دوام فرآيندها بايد انجام دهد. • سياستها (Policies) • راهبري (Leadership) تعهدات شامل
تفسير عناوين مشترك - ادامه • تواناييها (Capabilities) شرح پيش فرضهاي لازم در پروژه يا سازمانبرای پيادهسازي کاملپروژه نرمافزار • منابع و سرمايهها (Resources & Assets) • آموزش (Training) • ايجاد هماهنگي در جلسات اوليه ( Orientation Meeting) • توانايي در شناسايي و طراحي فرآيندهاي پيشنياز تواناييها شامل
تفسير عناوين مشترك - ادامه • فعاليتها (Activities) شرح نقشها و روشهاي لازم براي پيادهسازي يك زمينه فرآيند كليدي • انواع برنامهها • مطابقت با يك روش اجرايي مستند • نيازهايي مشتري از نرمافزار • برقراري و حفظ رابطه مشتري و تأمينكننده • پيگيري و بازنگري • قرار گرفتن تحت مديريت پيكربندي • برنامه رسمي: طراحي و ساخت نرمافزار • برنامه غيررسمي: بازنگري همكاران فعاليتها شامل
تفسير عناوين مشترك - ادامه • اندازهگيري و تحليل (Measurements &Analysis) شرح اندازهگيريهاي لازم در فرآيند و تحليل اندازهگيريها • تصديق (Verification) شرح مراحلي براي حصول اطمينان از انطباقفعاليتهاي انجام شده با فرآيند پيريزي شده • نظارت مديريت ارشد بهطور متناوب • نظارت مدير پروژه هم بهصورت متناوب و هم بر اساس • اتفاق پيشآمده • فعاليتهاي تضمين كيفيت نرمافزار تصديق شامل
تفسير اقدامات كليدي هر عنوان مشترك به صورت يك اقدام كليدي توصيف ميشود كه درصورت پيادهسازي آن, ميتوان در رسيدن به اهداف زمينه فرآيند كليدي كمك نمود. مثال سطح 2 برنامهريزي پروژه نرمافزار برنامه طراحي و ساخت نرمافزار بر اساس يك روش مستند انجام ميشود.
ساختار سازماني و نقشها در CMM
سازمان يك واحد درون يك شركت يا مؤسسه كه درون آن پروژههاي زيادي بصورت يك مجموعه, مديريت ميشوند. • پروژه تعهدي است كه مستلزم يك تلاش هماهنگ براي طراحي, ساخت يا نگهداري يك محصول خاص ميباشد. • گروه مجموعهاي از بخشها, مديران و افرادي است كه مسئوليت يكسري وظايف و تعهدات را برعهده دارند. ساختار سازماني
ساختار سازماني • گروه شامل: • گروه مهندسي نرمافزار مجموعهاي از افراد كه مسئوليت انجام فعاليتهاي طراحي, ساخت و نگهداري نرمافزار (تحليل نيازها, طراحي و برنامهنويسي) را در يك پروژه انجام ميدهند. • گروههاي مرتبط با نرمافزار مجموعهاي از افراد كه كارهاي زمينه مهندسي نرمافزار را براي پشتيباني از طراحي, ساخت و نگهداري نرمافزار ارائه مينمايند ولي مسئوليت مستقيم در اين مورد ندارند. • گروه فرآيند مهندسي نرمافزار مجموعه متخصصاني كه تعريف, نگهداري و بهبود فرآيند نرمافزار را تسهيل مينمايند. • گروه آزمايش سيستم مجموعهاي از افراد كه مسئول برنامهريزي و اجراي آزمايشهاي سيستم هستند.
ساختار سازماني • گروه مهندسي سيستم افرادي كه مسئول تعيين نيازهاي سيستم و واگذاري آنها به سختافزار و نرمافزار ميباشند. • گروه مديريت پيكريندي نرمافزار مجموعه افرادي كه مسئول برنامهريزي, هماهنگي و اجراي فعاليتهاي رسمي مديريت تركيببندي نرمافزار پروژه هستند. • گروه آموزش مجموعه افرادي كه مسئول هماهنگي و تنظيم فعاليتهاي آموزشي يك سازمان هستند. • گروه تضمين كيفيت نرمافزار مجموعه افراديكه فعاليتهاي تضمينكيفيتنرمافزارپروژه را برنامهريزي و اجرا ميكنند.
ساختار سازماني و نقشها Organizational Structure and Roles توجه : ضرورت دارد فعاليتهاي CMM متناسب با اصطلاحات و تعابير مربوط به ساختار و نقشهاي موجود هر سازمان بيان گردد.
نقشهاي سازماني • مدير ارشدٍ (Senior Manager) در يك سطح بالاي سازمان ايفاي نقش ميكند. مدير ارشد, بهصورتي كه در CMM استفاده ميشود, ميتواند هر مديري حتي مديركل سازمان باشد. • مدير پروژه (ProjectManager) مجري پروژه است و مسئول همه موارد مالي و حقوقي در يك پروژه است و فردي است كه هدايت, كنترل, اجرا و تنظيم يك پروژه را انجام ميدهد و در نهايت پاسخگوي مشتري است. • مدير نرمافزار پروژه (Project Software Manager) مسئوليت كامل همه فعاليتهاي نرمافزار يك پروژه را برعهده دارد و كنترل همه منابع نرمافزار پروژه بر عهده اوست.
نقشهاي سازماني ـ ادامه • مدير رده اول نرمافزار (First-Line Software Manager) مسئول مديريت مستقيم(هدايت فني و اجرايي كاركنان و تعيين دستمزدها) براي تجهيز و انجام فعاليتهاي يك واحد سازماني(يك بخش از سازمان يا تيم پروژه) با مهندسان نرمافزار و بقيه اعضاء مرتبط است. • سرپرست وظايف نرمافزار (Software Task Leader) نقش رهبري يك گروه فني براي انجام يك وظيفه خاص را ايفا ميكندو مسئوليت فني كارها را برعهده داشته و افراد انجامدهنده يك وظيفه را از نظر فني هدايت مينمايد. • كارشناسان مهندسي نرمافزار (Software Engineering Staff) افرادي كه نقشهاي فني متفاوتي در اقدامات كليدي توصيف شده دارند از جمله سرپرستان وظايف نرمافزار,رتحليلگران, برنامهنويسان, مهندسان
Process Optimization Optimized Managed Defined Process Measurement Repeatable Initial Process Defined Basic Management Control تعريف سطوح CMM
تعريف سطوح CMM بهينه شده فرآيندهاي با بهبود دائمي تمركز سازمان بر بهبود دائمي فرآيندها سطح 5 تحت مديريت فرآيندهاي قابل پيشبيني سطح 4 تعيين فرآيندها و محصولات نرمافزاري اهداف كيفيت بهصورت كمي توسط سازمان فرآيندهاي يكنواخت و استاندارد تعريف شده سطح 3 نوشته شدن فرآيند استانداردي براي طراحي، ساخت و نگهداري نرمافزار فرآيندهاي منظم قابلتكرار سطح 2 پيريزي خطمشيهاي مديريت پروژه نرمافزاري و روشهاي اجرايي براي پيادهسازي اين سياستها مقدماتي فراهم نمودن محيطي پايدار براي طراحي، ساخت و توسعه و نگهداري نرمافزار سطح 1
Optimizing Managed • Process Change Management • Technology Change Management • Defect Prevention • Software Quality Management • Quantitative Process Management Repeatable Defined • Software Configuration Management • Software Quality Assurance • Software Subcontract Management • Software Project Tracking & Oversight • Software Project Planning • Requirements Management • Peer Review • Intergroup Coordination • Software Product Engineering • Integrated Software Management • Training Program • Organization Process Definition • Organization Process Focus زمينه فرآيندهاي كليديCMM Key Process Areas
تفسير زمينههاي فرآيندهاي كليدي سطوح مختلف
سطح 1 • مديريت نيازها • برنامهريزي پروژه نرمافزار • پيگيري و نظارت پروژه نرمافزاري • تضمين كيفيت نرمافزار • مديريت تركيببندي نرمافزار • مدیریت پيمانکار فرعی نرم افزار • فرآيندهاي خلقالساعه مقدماتی سطح 2 تکرارپذير • تمركز بر فرآيند سازمان • تعريف فرآيند سازمان • برنامه آموزش • مديريت ادغام نرمافزار • مهندسي محصول نرمافزار • هماهنگي بين گروهها • بازنگري همكاران سطح 3 تعريفشده • مديريت فرآيند بصورت كمي • مديريت كيفيت نرمافزار سطح 4 مديريتشده • مديريت تغيير فرآيند • مديريت تغيير فناوري • پيشگيري از نقص سطح 5 بهينهشده
تفسير زمينههاي فرآيندهاي كليدي سطوح مختلف • سطح 1 – مقدماتي ( Initial) • سطح 2- تكرار پذير (Repeatable) • مديريت نياز • ايجاد يك درك مشترك بين مشتري و پروژه نرمافزاري مربوط به نيازهاي مشتري • برنامهريزي پروژه نرمافزار • پيريزي يك برنامه معقول براي انجام فعاليتهاي مهندسي و مديريتي پروژه نرمافزاري • پيگيري و نظارت پروژه نرمافزار • ايجاد شرايط لازم براي مشاهده پيشرفت واقعي پروژه • پيمانكاري فرعي نرمافزار • انتخاب پيمانكاران فرعي واجد شرايط براي نرمافزار و مديريت مؤثر بر آنها • تضمين كيفيت نرمافزار • برقراري امكان مشاهده فرآيند مورد استفاده در پروژه نرمافزاري و محصولات ساخته شده براي مديريت • مديريت پيكربندي نرمافزار • پيريزي و نگهداري يكپارچگي محصولات پروژه نرمافزاري در طول چرخه عمر نرمافزارپروژه
تفسير زمينههاي فرآيندهاي كليدي سطوح مختلف • سطح 3- تعريف شده (Defined) • تمركز بر فرآيند سازمان • پيريزي مسئوليتهاي سازماني در ارتباط با فعاليتهاي فرآيند نرمافزار جهت بهبود توانايي فرآيند نرمافزار در سطح سازمان • تعريف فرآيند سازمان • طراحي، ساخت و نگهداري مجموعهاي از سرمايه فرآيندهاي نرمافزار قابل استفاده جهت بهبود عملكرد فرآيند در سطح پروژهها • برنامه آموزش • افزايش مهارتها و دانش افراد جهت بالا بردن كارآيي آنها • مديريت ادغام نرمافزار • ادغام فعاليتهاي مهندسي و مديريتي نرمافزار در يك فرآيند نرمافزار تعريف شده و مرتبط • مهندسي محصول نرمافزار • اجراي يكپارچه فعاليتهاي يك فرآيند مهندسي كاملا تعريف شده است كه تمام فعاليتهاي مهندسي نرمافزار را جهت توليد محصولات نرمافزار صحيح و همخوان بطور مؤثر و كارا، ادغام مينمايد. • هماهنگي بين گروهها • پيريزي راهي براي گروه مهندسي نرمافزار جهت مشاركت فعال با ساير گروههاي مهندسي • بازنگري همكاران • رفع نواقص از محصولات كاري نرمافزار به صورت سريع و كارآمد با بازدگری ازهمکاران
تفسير زمينههاي فرآيندهاي كليدي سطوح مختلف • سطح 4- مديريت شده (Managed) • مديريت فرآيند بصورت كمي • كنترل عملكرد فرآيند پروژه نرمافزاري بطور عددي و كمي • مديريت كيفيت نرمافزار • ايجاد يك درك كمي از كيفيت محصولات نرمافزاري پروژه و دستيابي به اهداف كيفي مشخص • سطح 5- بهينه شده (Optimized) • مديريت تغيير فرآيند • بهبود دائمي فرآيندهاي نرمافزار مورد استفاده در سازمان با انگيزه بهبود كيفيت نرمافزار، افزايش بهرهوري، و كاهش زمان چرخه طراحي و ساخت محصول • مديريت تغيير فناوري • شناسايي منافع فناوريهاي جديد و انتقال آنها به داخل سازمان • پيشگيري از نقص • شناسايي علل نواقص و پيشگيري از وقوع مجدد آنها
روشهاي ارزيابي در CMM • CBA IPI (Capability Maturity Model Based Appraisal for Internal Process Improvement) • Mini-Assessment • PQLA ( Project Quick Look Assessment)
روش CBA IPI ارزيابي براساس CMM براي بهبود فرآيند داخلي CMM Based Appraisal Internal Process Improvement (CBA IPI) • روشي علمي براي ارزيابي يك سازمان جهت تعيين نقاط قوت و ضعف مرتبط با هر يك از زمينه فرآيندهاي كليدي در سطح تعيين شده براي ارزيابي، توسط يك گروه آموزش ديده • انجام از طريق تكميل و بررسي پرسشنامهها، مرور مستندات، ارائه سمينارها و مصاحبه با مديران مياني و مسئولان پروژهها و مجريان كارهاي نرم افزاري • جمع آوري و آموزش يك گروه ارزياب تحت رهبري يك سر ارزياب و انجام يك سري فعاليتهاي منظم جهت مستند نمودن نظرات افراد كليدي سازمان در مورد بهبود فرآيندها و مشكلات موجود
روش CBA IPI اهداف روش ارزيابي CBA IPI • پشتيباني، توانا ساختن و پيش بردن يك سازمان براي بهبود فرآيند نرم افزار آن • تهيه يك تصوير دقيق از نقاط قوت و ضعف فرآيند نرم افزار موجود در يك سازمان با استفاده از CMM به عنوان يك الگوي مرجع، و شناسايي زمينه فرآيندهاي كليدي نيازمند بهبود در سازمان
روش CBA IPI مراحل روش IPI CBA • ارائه نتايج نهايي به حمايتكننده • برپايي جلسات اجرايي به منظور ارائه راهنمايي در زمينه زمانبندي, اولويتها و توصيهها و اقدامات پيشگيرانه آماده سازي • تاريخ و محل ارزيابي • دامنه ارزيابي • الگوي CMM مرجع ارزيابي • سطح CMM مورد ارزيابي • روشهاي ارزيابي استفادهشده • انجامدهنده ارزيابي • تعيين دامنه ارزيابي • ايجاد برنامه ارزيابي • آمادهسازي و آموزش تيم • توضيح به شركتكنندگان در ارزيابي • تهيه پرسشنامههاي اجرايي • آمادهسازي فعاليتهاي ارزيابي در محل مورد نظر انجام ارزيابي • نشست افتتاحيه • انجام مصاحبه • تأييد اطلاعات • آمادهكردنيافتههايپيشنويس گزارش • ارائه يافتهها • تأييد,درجهبندي و آمادهسازي يافتههاي نهايي گزارش دهي نتايج به حمايت كننده و سازمان مورد ارزيابي گزارش دهي نتايج به SEI اتمام ارزيابي
روش CBA IPI الزامهاي روشCBA IPI براي اينكه يك ارزيابي با روش CBA IPI نجام شود الزامهايي براي تيم، برنامه ارزيابي، جمع آوري داده، صحه گذاري داده، درجه بندي و گزارش نتايج وجود دارد. • الزامهاي برنامه ارزيابي • الزامهاي تيم ارزيابي • الزامهاي صحه گذاري دادهها • الزامهاي جمع آوري داده • الزامهاي گزارش دهي • الزامهاي درجه بندي