Title: Tonights Topic: Moving Toward Quality
1Tonights TopicMoving Toward Quality
2Where Are We?
- Three aspects to this course
Design
Assessment
Improvement
3Quality Through Design
- Quality software always requires a quality design
- We have already explored some key design issues
- We will return to design at times
- But well move on to
4What Is Assessment?
- Measurement to
- Gauge degree of quality
- Spot weak points
- Target improvements
- Track changes
- Can be quantitative or qualitative
5What Is Improvement?
- Plans/strategies/techniques to increase quality
- Should target specific ilities that are
important for project - Rely on assessment to gauge effectiveness of
changes
6Assessment and ImprovementAre Intertwined
- Improvement requires measurement for tracking
success - Measurement identifies weaknesses, leading to
improvements
7Main Assessment Techniques
- Reviews
- Standards
- Metrics
- Testing
8Recall the Definition of Quality
- A set of attributes software should have
- ilities
- Most ilities are not directly measurable in
practical terms
9Robert Glass Defines Quality
- Good quality software has
10Three Recurring Quality Lessons
- Requirements are the foundation
- Dev. standards guide process deviation decreases
quality - There are implicit requirements that often go
unstated
11Difficulties With Requirements
- Spec is often oriented to customer needs, but
developer may have requirements too - Some characteristics cant be specified
unambiguously - Specs are usually incomplete
12Difficulties With Process Conformance
- Process quality is very important, but
- Changing the process doesnt necessarily improve
product - External factors also affect quality
- Individual skills/talents are critical
13A Word About ISO 9000
- International standard for quality management
across industries - ISO 9000 is a set of standards applicable across
large range - ISO 9001 is most general of these, applicable to
software orgs
14ISO 9001
- A generic model of a quality process
- Defines process, as well as necessary standards
and procedures that should exist - Specifics arent defined in detail
- Defined and documented in org.
15ISO 9000 and Quality Planning
ISO 9000 quality models
Organizational quality process
instantiated as
documents
instantiated as
Organization quality manual
Project quality management
used to develop
Project 1 quality plan
Project 3 quality plan
Project 2 quality plan
supports
16Organizational Quality Manual
- Documents quality plan for that organizations
products - Selects those organizational standards
appropriate to projects and processes at hand - Typically, quality group is separate from
development team
17McCalls Quality Factors
Maintainability Flexibility Testability
Portability Reusability Interoperability
Product Revision
Product Transition
Product Operation
Correctness Reliability Usability Integrity
Efficiency
18Choosing Quality Factors
- McCalls diagram helps organize them
- But for any project, one needs to choose which
are important - Checklist for software quality
19Most Guidelines Are General
- Many quality standards and checklists of quality
factors - Most are very generic
- Any can be debated endlessly
- Only agreement it should be tailorable to
individual projects
20Quantifying Quality
- Goal precise, reliable measures
- Many ilities are difficult to measure directly
- Instead, we indirectly measure using indicators
- The hope many independent indicators provide
confidence
21Criteria For Effective Metrics
- 6 simple criteria for good measures
- Simple and computable
- Empirically and intuitively persuasive
- Consistent and objective
22Criteria for Effective Metrics (cont.)
- Consistent in use of units and dimensions
- Progamming language independent
- Effective mechanism for quality feedback
23A Scenario About Measurement
- You cant just collect data
- You have to know how to interpret it
- Here is a scenario to avoid
24Scenario The Hypothesis
- A manager wants to improve quality
- Decides to monitor of change requests submitted
by customers - Assumes change requests are related to
usability/suitability - More requests less quality
25Scenario The Improvement
- Handling change requests is expensive, so
- Company decides to modify process to increase
customer satisfaction - Intent better quality, fewer change requests
26Scenario Process Changes
- Process change more customer involvement in
design - Customer beta testing of all products
- Fast incorporation of customer-requested changes
27Scenario The Results
- New products using this process are delivered
- Some trigger fewer change requests, some trigger
more - Manager doesnt know what to conclude about
change in quality why?
28Scenario Possible Causes
- Many causes for change requests
- Doesnt meet customer needs
- Very good, widely used, so customer needs
change/expand - Responsivens of co. leads to customer confidence
- More thorough testing
29Scenario Conclusions
- We cant conclude much from the measurements
- Too many causes intertwined in one measurement,
so we cant tell which one(s) are the source