Title: Quality in Systems Development
1Quality in Systems Development
2- Questions to consider (in small groups)
- What makes good software?
- What makes good systems?
- How does one build high quality systems?
- Does extensive testing improve a systems quality?
- What is 'Quality'?
3Quality Management in Development Projects
- Quality is generally perceived as a technical
issue but has a significant impact on project
management - Projects consist of tasks that add value by
processing the projects product through a series
of dependent tasks - Any defect (human or machine) in one task is
passed on to the next task, where it may be
detected and add unscheduled time and effort
4Defect-Ripple
Task 1 passes input, which contains defects, to
task 2. These defects cause further defects to
occur in task 2. Task 2 passes input, which
contains defects, to task 3. These defects cause
further defects to occur in task 2. The cost of
repair rises at an exponential rate!
5Defect-Ripple
- Each subsequent task is seen to have been under
estimated. - Phased-end reviews will not be able to detect all
the accumulated defects - Without quality assurance, a major cause of the
difference between estimated effort and actual
effort is the defect ripple effect - Accounts for up to 40 of total effort of a
project over its development cycle (Caper Jones)
6- Defect-Ripple
- It is imperative that defects
- be prevented from occurring
- and, if they do, they need to be identified and
corrected as soon as possible.
7Definition of Quality
- The quality of a product acceptable to a client
is highly dependent upon the client themselves. - Quality Conformance to Requirements
- What makes good software?
- What makes good systems?
- What does conformance to requirements mean?
8Conformance to Requirements
- Functionality -What the system must be capable of
doing - Output - What the system must produce.
- Performance - The type of equipment must it
operate on The volumes of data it must handle and
the transaction rate required - Reliability - The consequences of failure, and
how often can failure be accommodated - Maintainability - How easy is it to alter the
system? - Security - How well must its value be protected.
- Operability - How easy is the system to operate.
9Conformance to Requirements
- Cost - What is affordable to the client
- Efficiency - How effectively does it use
resources. - Interoperability - How it interfaces with other
systems. - Portability - How difficult it is to move to a
different environment - Reusability - Ease of reuse of parts of the system
10Quality Criteria
- Each quality attribute has a subset of criteria
- Functionality
- Completeness (is all the data and function
present) - correctness (is the data and function defect
free) - traceability (can the data and function be
tracked from requirements, through design and
into production) - Some attributes are potentially incompatible eg.
security and response time, or usability and
efficiency
11Measuring Quality
- The measure of quality is the cost of
nonconformance - Price of Noncompliance
- It is anything which causes the system not to
perform as required - Loss of income because system does not work
correctly - Time and effort to locate and fix errors
- Damages to a medical client as result of
incorrect data or diagnosis using information
system
12The Future Without Good Quality Management
At some point maintenance uses more of the budget
than is available. Repairs to existing software
introduce problems as quickly as they are
corrected.
13The Future with Good Quality Management
Money spent on quality programs not only reduce
errors in new code, but in the repairs and their
repairs as well!
14Cost of Quality
- Cost of Quality is equal to
- the Price of Conformance plus
- the Price of Non-Conformance
15Cost of Quality
- Price of Conformance
- Inspections
- Setting and Implementing Standards
- Training
- Measuring
- anything done to assure quality
- Price of Non-Conformance
- Cost of repairs and damages
- Loss of time, income
- cost of anything which is a result of non
conformance
16Two Philosophies
- Appraisal Test and repair errors in product
- Prevention Identify root cause of error, fix
error and its cause - Appraisal
- Based on early ideas derived from manufacturing
practice - Same error keeps being repeated, so fault recurs
17Appraisal
18Appraisal
- Assumes that 100 quality is not achievable
because the price of conformance would be too
high - Cost of fixing error small, but the repair is
required many times in the life of the system - Quality improvements come through innovation (but
this is not reliable)
19Prevention
- Assumes prevention is better than repeated cure
- Correct error
- Look for similar problems
- Identify and fix cause
- High initial cost to repair error, but the
problem does not repeat.
20Prevention
21Quality Management
- In the past, poor quality blamed on workers
- Responsibility has shifted to management.
- Components of Total Quality Management
- Quality Environment
- Quality Assurance
- Quality Control
- Necessary to manage these to achieve quality
22Quality Environment
- Culture and Infrastructure proved to achieve high
quality - Commitment must be real
- Responsibility for senior management to create
enable
23Quality Assurance
- Middle management task
- Must do things right the first time
- Set standards
- Provide training
- Define methods and deliverables
- Provide the correct tools
- Assign tasks to those with the skills
- Define prevention procedures
24Quality Control
- Operational level activity
- Final step to catch quality problems
- Includes Inspections, Testing, Fixing problems
25A Process Model of Quality
- The output must conform to requirements but the
inputs must also! - The process is a customer to the supplier.
26Quality Improvement
- Techniques to implement quality improvement
- Use a well defined lifecycle
- Define tasks and deliverables
- Set quality standards for all deliverables
- Encourage informal walkthroughs
- Use formal walkthroughs
- Perform code inspections.
27Quality Improvement
- Techniques to implement quality improvement
- Reviews and audits of deliverables
- Give rewards for quality
- Use defect seeding
- Provide training and mentoring
- Separate duties
28- The system of quality is prevention.
- The quality standard is zero defects.
- Note zero defects means no deviation from
requirements. Eg. No more than one crash per six
months