250 likes | 408 Views
CIF301 Project Quality Unit 6. Project Quality. Introduction “Quality” is generally agreed to be a good thing Often the use of procedures that will help ensure a systems quality will be lacking Quality systems must be defined Metrics should be used to check quality systems.
E N D
Project Quality • Introduction • “Quality” is generally agreed to be a good thing • Often the use of procedures that will help ensure a systems quality will be lacking • Quality systems must be defined • Metrics should be used to check quality systems
The importance of software quality • Increasing criticality of software • The intangibility of software • Accumulating errors during software development
Defining software quality • Should be three specification for software quality • a functional specification describing what the system does • a quality specification concerned with how the system operates • a resources specification concerned with how much will be spent on the system
ISO 9126 • Published in 1991 • Provides a definition for software quality • Is seen as the base on which more detailed standards can be built
ISO 9126 • ISO 9126 defines six software quality characteristics • Functionality • which covers the functions that a software product provides to satisfy a user needs • Reliability • which relates to the capability of the software to maintain its level of performance
ISO 9126 • Usability • which relates to the effort needed to use the software • Efficiency • which relates to the physical resources used when the software is executed • Maintainability • which relates to the effort needed to make changes to the software • Portability • which relates to the ability of the software to be transferred to a different environment
Software quality measures • Reliability • Could measure • availability • mean time between failures • failure at time of operation • number of faults dealt with
Software quality measures • Maintainability • Closely related flexibility • Extendibility • Ease with which new features can be added to the software
Product versus process quality management • What is the difference? • Why is this important? • Often one or the other is looked at • Both should always be considered
BS EN ISO 9001 • This is the standard for quality management systems • Current standard BS EN ISO 9001:2000 • This is a family of standards. • 2000 series superseded 1994 series • Standard grew out of DEF STAN 05-21 and BS5750 • There are other related quality standards
BS EN ISO 9001 • BS EN ISO 9000 is a group of standards: • 9000, fundamentals and vocabulary 9001, Quality Management Systems requirements • 9004, guidelines for performance improvement • 9001 is the standard that applicants are assessed against. • It is a general standard that can be applied to any business or organisation
TickIT • The BS EN ISO 9000 series of standards refers to quality management systems in general • In the UK, the Department of Trade and Industry (DTI) have formulated the TickIT standards. • The TickIT standards give an interpretation of the BS EN ISO 9001 standard as it specifically applies to software development.
TickIT • The main requirements of Tick IT are: • A detailed development plan is required before development is embarked upon. • Change control procedures should be used at all stages of development • Design reviews must take place • The suitability of the design methodology must be reviewed
TickIT • main requirements of Tick IT (cont.) • Progress must be reviewed on a systematic basis • It must be possible to trace back the features of software design to specifications and requirements • Designs must be properly documented
TickIT • main requirements of Tick IT (cont.) • Suitable test plans, specifications and records must be produced • A code of practice must be in place that governs the way the software is developed
TickIT • The code of practice must include the following: • The design must be broken down into levels, each with identifiable inputs and outputs. • Software must be organised into modules. • A module must normally perform a single function or a set of related functions. • A plain language description must exist for each module.
TickIT • A TickIT auditor will certify that a particular organisation conforms to the standard • The process is referred to as certification • The TickIT scheme is now administered by a division of the British Standards Institute on behalf of the DTI
Capability Maturity Model • Developed in US by The Software Engineering Institute, Carnegie Mellon University. • The Capability Maturity Model attempts to place an organisation producing software at one of five levels.
Capability Maturity Model • Level 1: Initial • Level 2: Repeatable • Level 3: Defined • Level 4: Managed • Level 5: Optimizing
Capability Maturity Model • Level 1: Initial • The procedures followed tend to be haphazard. • Some projects will be successful, but this tends to be because of the skills of particular individuals including project managers. • There is no level 0 and so any organization would be at this level by default.
Capability Maturity Model • Level 2: Repeatable • Organizations at this level will have basic project management procedures in place. • The way an individual task is carried out will depend largely on the person doing it • Level 3: Defined • The organization has defined the way in which each task in the software development cycle is to be done.
Capability Maturity Model • Level 4: Managed • The products and processes involved in software development are subject to measurement and control. • Level 5: Optimizing • Improvement in procedures are designed and implemented using the data gathered from the measurement process
Ways to help enhance software quality • Increasing visibility • checking each others code • proposed by Weinberg in 1971in what he termed “egoless programming” • Procedural Structure • Checking intermediate stages
Conclusion • IT Project Quality • Quality definitions • ISO 9126 • BS EN ISO 9001 • TickIT • The capability maturity model • Enhancing software quality