2017년 1월 28일 토요일

Software Quality

1. What do we mean by "high quality"?
 - Nobody would argue with an assertion that we should build high-quality software
  => But, what does that mean? What is "high-quality software"?
 - Some suggestions: Software which
  * Complies with the specification
  * Does "clever things" quickly and easily
  * Doesn't "fail"

2. Evaluation of S/W Development processes 
  "Good processes produce good results"
  => Trying to use or having a good software development process is a desirable if you want to produce good software

 1) The Capability Maturity Model (CMM): Outlines a series of stages in the development of a software developer
  - the Maturity Level: Initial-> Managed -> Defined -> Quantitative managed -> Optimising

https://www.tutorialspoint.com/software_testing_dictionary/capability_maturity_model.htm

 2) The Capability ImMaturity Model (CIMM)
  - the Immaturity Level: Negligent -> Obstructive -> Contemptuous -> undermining

 3) The Capability Maturity Model Integration (CMMI)
  - more recently, CMM has been enlarged, refined and redefined as CMMI

3. Project Quality Management
 1) Quality Planning 
   - identifying which quality standards are relevant to the project and setting out to satisfy them
    => It is about deciding what you want to do

 2) Quality Assurance
  - evaluating (overall) project performance to ensure that the project will satisfy relevant quality standards
   => It is about evidence such as documenting and recording what you've done
  - Tools used in Quality Assurance: Design
   * Design of experiments: to identify which variables affect quality most
   * Benchmarking: generate ideas by comparing specific project practices
   * Quality audit: structured review of specific quality management activities

 3) Quality Control
  - monitoring specific project results to ensure that they comply with relevant (quality) standards and how to improve an overall quality
  - in order to improve quality by correcting the causes of errors
  - Outcomes: Acceptance decisions / Rework / Process adjustments
  - Tools and techniques
   * Causes and effect diagram (= fishbone diagram, Ishikawa diagram): help to decide the cause of a problem
   * Pareto Analysis: help to identify and prioritise problem areas
   * Control charts: help to find if process is out of control
   * Testing

http://www.project-management-skills.com/project-quality-management.html

4. ISO 9000
 - ISO: International Standard Organisation
 - ISO 9000: effective and efficient Quality Management Systems
 - By implementing:
  * Avoid repetitions of past mistakes
  * Provide continuity
  * Useful when trading internationally

http://www.iso.org/iso/iso_9000

5. TickIT
 : IT and Software Industry specific standards
 : Now there's TickITplus
 => improve market confidence in third party quality management system certification

http://www.tickitplus.org/

댓글 없음:

댓글 쓰기