Sie sind auf Seite 1von 10

Managing Quality in Software Engineering

Quality Problem in Software Engineering

Classical definitions:

Failure free operation Meeting its specifications Different concerns about quality customer (e.g. user friendliness, performance) v/s developer (e.g. reliability, reusability) Ambiguity of requirements specifications Changing requirements Customer not satisfied with software process Component used might not be of good quality

Resulting Problems:

Quality Solution

No miracle solution IEEE definition:

The degree to which a system, component, or process meets specified requirements The degree to which a system, component, or process meets customer or users needs or expectations

Need to put in place procedures to improve quality continuously/ look at various aspects of quality

Quality Management Framework

Quality assurance

Establish organisational procedures and standards for quality Select applicable procedures and standards for a particular project and modify these as required

Quality planning

Quality control

Ensure that procedures and standards are followed by the software development team

Quality management v/s Project Management do not compromise on quality due to pressure on deadlines - only good quality will ensure business from returning customers

Standards

Importance:

Encapsulate best practice Provide a framework for quality assurance Helpful for new entrants in project to be operational Not relevant Involve too much paperwork Develop the culture of just complying with

Dangers

Standards

Recommendations:

Involve practitioners Ensure standards are relevant and uptodate Provide software tools to minimise paperwork Try to develop quality culture which is more focused on real quality improvement as opposed to pure compliance with procedures

Process and Product Quality

Quality always involves both the process and the product Product is the result of a process => a good process will result in good product In software engineering, this link is not as straightforward other factors to be considered:

Impact of individual skills and experience Novelty/maturity of technology being used Pressures on deadlines

Process / Product Quality


Define process Develop product Assess product quality

Improve process

No

Quality OK

Yes

Standardize process

Quality Plan

Quality Goals focus on a wide variety of desired quality attributes (use taxonomies) be as explicit and avoid being vague Planned review activities different activities which will ensure quality is built into the product Software Testing Process describe how testing is going to be done when test plans will be developed

Reviews

Main technique for validating quality in product and process Different types with different objectives:

Inspections for defect removal (product) used with a checklist of possible errors Progress Reviews for progress assessment (product and process) project monitoring Quality reviews (product and standards) check against specifications or more broad quality attributes [peer review, expert opinion, formal technical review]