Software Quality Standards
- Software Quality Standards
- Quality standards are a way to ensure that the product being developed is a well-engineered product.
- ISO: International Organization for Standards
- CMMI: Capability Maturity Model Integration
- IEEE: Institute of Electrical and Electronics Engineers
- ANSI: American National Standards Institute
- ASQ: American Society for Quality
- SEI: Software Engineering Institute
- Why software Quality Standards are required?
- To ensure the quality
- To have the transparency
- To have the discipline
- To satisfy the customer
- Key Selling Point (KSP)
- Reducing the Rework
- Quality Standards – ISO
- ISO 9000 - General guidelines for procedures and processes
- ISO 9001 - Covers Documentation, Design, Development, Production, Testing, Installation, Servicing and Marketing etc.
- ISO 9002 - Except Design all other aspects
- ISO 9003 - Only for Inspection and Testing
- A companies’ quality system and operations are scrutinized by third-party auditors for compliance with the standard and for effective operation
- Upon successful registration, a company is issued a certificate from a registration body represented by auditors
- Semi-Annual surveillance audits ensure continued compliance with the standard
- For a quality system to be ISO compliant, these processes must address the areas identified in the standard and must be documented and practiced as described
- ISO 9001 is most comprehensive and this is the one most often used by software development organizations
- As ISO 9001 standard is applicable to all engineering disciplines, a special set of ISO guidelines (ISO 9000-3) have been developed to help interpret the standard for use in the software process
- Quality Standards – CMMI
- Capability Maturity Model Integration
- It is developed by the SEI. It is a model of 5 levels of organizational maturity that determine effectiveness in delivering quality software.
- Organizations can receive CMM ratings by undergoing assessments by qualified auditors
- There are 5 maturity levels, each level is composed of “Key Process Areas”
- A Key Process Area (KPA) is a cluster of related activities that when performed together collectively achieve a set of goals important for establishing process capability at that maturity level
- CMMI Level 1:
- Initial, the software process is characterized as ad hoc. Few processes are defined, and success depends on individual effort
- CMM Level 2:
- Basic Project Management to track cost, schedule, and functionality
- This level involves five KPAs
- Software Configuration Management
- Quality Assurance
- Subcontract Management
- Project Tracking
- Project Planning & Requirements
- Management
- CMMI Level 3:
- Standard software development and maintenance processes are integrated throughout an organization
- Software engineering process group is in place to oversee software process and training programs are used to ensure compliance. KPAs are...
- Inter group co-ordination
- Software Project Engineering
- Integrated Software Management
- Peer to Peer Reviews of Reports
- Organization Process Definition
- Organization Process Focus
- CMMI Level 4:
- Detailed measures of the software process and product quality are measured. This level has 2 KPA’s
- Software Quality Management
- Quantitative Process Management
- CMMI Level 5:
- Enable quality process improvement by quantitative feedback from the process and from testing innovative ideas and technologies. 3 KPAs at this level are:
- Process Change Management
- Technology Change Management
- Defect Prevention
No comments:
Post a Comment