Beit 381 se lec 14 - 35 - 12 mar21 - sqa - iso and cmm


Published on

Software Engineering, Lectures

Published in: Education, Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Beit 381 se lec 14 - 35 - 12 mar21 - sqa - iso and cmm

  1. 1. SE-381 Software Engineering BEIT-V Lecture no. 14 Software Quality Assurance Models ISO, CMM and TickIT
  2. 2. Software Quality Assurance – Software Development (Product Engineering) and Process Management be so managed that ultimate Product is of high quality and has been developed within time and budget constraints – Both Product Engineering and Process management processes are to be refined and matured so that all products produced are of high quality – SQA processes for Software development ensure that this objective is attained, different organizations, ISO, SEI, ISO/IEC have approved standards that can provide desired Quality.
  3. 3. ISO 9000 & CMM – Are the two widely used standards by the industry – ISO 9000 is a series of standards applicable for the certification of industrial processes, ISO 9000-3 refers to software specifically – CMM is exclusively for Software Industry and is to evaluate and improve the Process, initiated to evaluate US DoD vendors and ensure their processes are mature to yield quality products – CMM is becoming a de-facto standard for measuring the capability and maturity of software companies
  4. 4. Mature and Immature Organization • Mature Organizations Planned & Controlled Activities • Immature Organizations Crisis Management, Chaos, Always Fire fighting
  5. 5. Mature and Immature Organization • Immature Organizations – reactionary – often busy in fire fighting – always late & over budget – unrealistic estimates – product functionality and quality are often compromised to meet the schedule – no basis for • judging product quality • solving product or process problems • Mature Organizations – organization-wide managed software processes – the software process is accurately communicated to both existing staff and new employees – work activities are carried out according to the planned process – objective & quantitative basis • for judging product quality • for analyzing problems with the product and process
  6. 6. • CMM – Capability Maturity Model – Initiated by Software Engineering Institute and in turn funded by US DoD – Initially to identify which of the US DoD Sw vendors have best „mature‟ Sw process – Process improvement emphasized through FIVE Maturity levels – US Centered and getting international de-facto standard • ISO 9000 – Compendium of 4 standards, applicable to wide variety of Industrial systems having stages • Design • Development • Production • Installation and • Servicing – Initiated by International Standards Organization – Document driven – text and Graphical documents maintained to achieve comprehensibility – Europe centered ISO 9000 & CMM
  7. 7. CMM Maturity Levels
  8. 8. 5 Levels of CMM
  9. 9. CMM Maturity Levels
  10. 10. Software CMM Process Maturity Framework
  11. 11. Process, Capability & Maturity – As process matures, it becomes better defined and more consistently implemented – Software process capability • the range of expected results that can be achieved by following a software process • means of predicting the most likely outcomes to be expected from the next software project – Software process performance • actual results achieved by following a software process. – Software process maturity • extent to which a specific process is explicitly defined, managed, measured, controlled, and effective
  12. 12. Process Capability & Maturity – Maturity • a potential for growth in capability • indicates both the richness of an organization's software process and the consistency with which it is applied in projects throughout the organization • the software process is well understood – through documentation and training – continually being monitored and improved • capability of a mature software process is known • productivity and quality resulting can be improved over time through consistent gains in the discipline achieved by using its software process
  13. 13. Process Capability & Maturity – A Mature software organization • institutionalizes its software processes via – policies – standards – and organizational structures – Institutionalization • building an infrastructure and a corporate culture that supports the methods, practices, and procedures of the business so that they endure after those who originally defined them have gone
  14. 14. Objectives for Software CMM® • Provide a model that is – based on actual practices – reflects the best of the state of the practice – reflects the needs of individuals performing software process improvement, software process assessments, or software capability evaluations – Documented and publicly available from
  15. 15. CMMI – CMM Integrated • Is the integration of Capability Maturity Model into the process, and CMMI is now international standard
  16. 16. Use of SW-CMM® • To understand the activities necessary to plan and implement a software process improvement program • To define and improve the software process • To identify strengths and weaknesses in the organization • To identify the risks of selecting among different contractors for awarding business and to monitor contracts
  17. 17. Software Process Maturity (SPM) – Continuous process improvement is based on many small, evolutionary steps rather than revolutionary innovations – The CMM provides a framework for organizing these evolutionary steps into five maturity levels that lay successive foundations for continuous process improvement – These five maturity levels define an ordinal scale for measuring the maturity of an organization's software process and for evaluating its software process capability
  18. 18. Maturity Level – A well-defined evolutionary plateau toward achieving a mature software process – Each maturity level provides a layer in the foundation for continuous process improvement – Each level comprises a set of process goals that, when satisfied, stabilized an important component of the software process – Achieving each level of the maturity framework establishes a different component in the software process, resulting in an increase in the process capability of the organization.
  19. 19. Five Levels of SPM Initial (1) Disciplined Process Repeatable (2) Standard Consistent Process Defined (3) Predictable Process Managed (4) Continuously Improving Process Optimizing (5) Unpredictable Disciplined Consistent Predictable Continuously improving
  20. 20. Five Levels of CMM Initial Level - Level 1 • The software process is characterized as – ad hoc, and occasionally even chaotic – few processes are defined – success depends on individual effort – Every software house starts as a Level-1 CMM company
  21. 21. CMM Levels (cont.) Repeatable Level - Level 2 • Basic project management processes are established to track – cost – schedule – and functionality • The necessary process discipline is in place to repeat earlier successes on projects with similar applications
  22. 22. CMM Levels (cont.) Defined Level - Level 3 • The software process for both management and engineering activities is – documented – standardized – and integrated into a standard software process • All projects use an approved version of the organization's standard software process for developing and maintaining software
  23. 23. CMM Levels (cont.) Managed Level - Level 4 • Detailed measures/metrics are collected and controlled for – software process – product quality • Both the software process and products are quantitatively / statistically controlled and understood by using these detailed measures
  24. 24. CMM Levels (cont.) Optimizing Level - Level 5 • Continuous process improvement is enabled by – quantitative feedback from the process – piloting innovative ideas and – technologies Most of the processes are automated. Change in Process and Technology is managed and Errors prevented
  25. 25. CMM® Structure Maturity Levels Process Capability Indicate Key Process Areas Contain Goals Achieve Common Features Organized by Implementation or Institutionalization Address Key Practices Contain Infrastructure or Activities Describe
  26. 26. Key Process Areas (KPAs) – The areas an organization should focus on to improve its software process – Key process areas identify the issues that must be addressed to achieve a maturity level – Each KPA identifies a cluster of related activities that, when performed collectively, achieve a set of goals considered important for enhancing process capability – When the goals of a key process area are accomplished on a continuing basis across projects, the organization can be said to have institutionalised the process capability characterized by the key process area – 18 KPAs have been defined for different levles and these are additive
  27. 27. Key Process Areas Initial (1) Repeatable (2) Software Configuration Management Software Quality Assurance Software Subcontract Management Software Project Tracking & Oversight Software Project Planning Requirement Management Defined (3) Peer Reviews Inter-group Coordination Software Product Engineering Integrated Software Management Training Program Organization Definition Organization Process Focus Managed (4) Software Quality Management Quantitative Process Management Optimizing (5) Process Change Management Technology Change Management Defect Prevention
  28. 28. Common Features – The key process areas are organized by common features – The common features are attributes that indicate whether the implementation and institutionalization of a key process area is effective, repeatable, and lasting – The five common features are listed below • Commitment to perform • Ability to perform • Activities performed • Measurement & Analysis • Verifying Implementation
  29. 29. Key Practices – Each key process area is described in terms of the key practices that contribute to satisfying its goals – The key practices describe the infrastructure and activities that contribute most to the effective implementation and institutionalization of the key process area.
  30. 30. Building the CMM® Structure Disciplined Process Indicates Goal 1: Software estimates are documented for use in planning & tracking the software project Achieve Implementation Addresses Level 2: Repeatable Maturity Level: Contains Software Project Planning Key Process Area: Organized by Activities Performed Common Feature: Contains Activity 9: Estimates for the size of software work products (or changes to the size of software work products) are derived according to a documented procedure. Key Practice: Activity Describes
  31. 31. Key Process Challenges Level Characteristics Key Problem Areas Productivity & Quality 5 – Optimizing Improvement fed back to process Automation 4 – Managed (Quantitative) Measured Process Changing technology Problem analysis Problem prevention 3 – Defined (Qualitative) Process defined & institutionalized Process measurement Process analysis Quantitative quality plans 2 – Repeatable (Intuitive) Process dependent on individuals Training Technical Practices * reviews, testing Process focus *standards, process groups 1 – Initial (Ad-hoc / Chaotic) Project management Project planning Configuration management Software quality assurance
  32. 32. Visibility into Software Process In Out           5     In Out       4     In Out         3 In Out     2 In Out 1
  33. 33. CMM® Based Appraisals “CMM® Based Appraisals” (CBA) use the CMM® as the basis for appraising software processes They are multi-phased, team-based, site-visit focused appraisal processes
  34. 34. Examples of Appraisal Families Internal Process Improvement (IPI) • Self improvement Acquisition • Selecting supplier Teaming or Joint Improvement • Customer & supplier together Third Party • Certification
  35. 35. Appraisal Process Key Points • Planning the appraisal is based on sponsors business goals & appraisal objectives • Preparing for the appraisal includes training • Collecting the data is focused on the model • Validating the implementation of process is essential • Reporting is done for each process area investigated
  36. 36. Reading Assignment 1. Jalote Pankaje (1997); An Integrated Approach to SE, 2nd Ed, Narosa Publishing House, New Delhi; Ch – 1 Introduction 2. Douglas Bell (2005); Software Engineering for Students; Pearson Education Limited; Ch-1 Problems and Prospects, pp 3-22 3. Rajib Mall (2005); Fundamentals of Software Engineering, 2nd Ed, Printice-Hall of India, New Delhi; Ch – 11 Software Reliability and Quality Management 4. Stephen Schach (2007); software Engineering, 7th Ed, Tata McGraw-Hill Publishing Company, New Delhi; Ch – 4 The Software Process