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/
댓글 없음:
댓글 쓰기