Wednesday 15 February 2017

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