Software Processes & Project Management
Quality Management
Copyright University of Melbourne 2018-2022
School of Computing and Information Systems
Copyright By PowCoder代写 加微信 powcoder
The University of Melbourne 2022 – Semester 1 Week 7
Learning Outcomes
Quality Management
Understand the fundamentals of quality management
Understand the quality management process
Understand the following quality management activities: – Quality Assurance
– Quality Planning
– Quality Control and Monitoring
SWEN90016 Software Processes and Project Management -2- Quality Management
Project Quality
Today’s lecture
SWEN90016 Software Processes and Project Management -3- Quality Management
SWEN90016 Software Processes and Project Management -4- Quality Management
Learning Outcomes
Understand the fundamentals of quality management
Understand the quality management process
Understand the following quality management activities: – Quality Assurance
– Quality Planning
– Quality Control and Monitoring
SWEN90016 Software Processes and Project Management -5- Quality Management
What is quality?
Quality is not an act, it is a habit — Aristotle
• Evidence shows that we cannot simply fix up our software
post-hoc and add in quality attributes after building the system
• Quality must be built into the software from the beginning
• In this topic you will learn how to built quality into the software through a range of Quality Management activities
SWEN90016 Software Processes and Project Management -6- Quality Management
What is software quality?
• We define quality from two broad perspectives:
– End-user’s Perspective:
Typically, end-users judge the quality of a product by their interaction with it. For users, a system has quality if it is fit for purpose, is reliable, has reasonable performance, is easy to learn and use, and helps the users in achieving their goals. Sometimes, if the functionality is hard to learn but is extremely important and worth the trouble of learning, then users will still judge the system to have high quality. These are termed external quality characteristics, because they are typically associated with the external behaviour of the system.
– Developer’s Perspective:
The developer’s perspective typically also includes the number of faults that the system has, ease of modifying the system, ease of testing the system, the ease of understanding the system design, the re-usability of components, conformance to requirements, resource usage, and performance. These are mainly internal quality characteristics, because they are concerned with the quality of the internal structure of the system.
SWEN90016 Software Processes and Project Management -7- Quality Management
Cost of quality
• Some claim:
Most quality assurance activities are too costly – savings made from not using resources is greater than the cost incurred in fixing the faults
• For example, instead of performing formal reviews of requirements specification documents, it is far better to build the system, ask the client/user for feedback, and to correct any faults from there.
• Alternatively, one can simply release the system and correct faults as users report them.
• Empirical studies refute the above claim:
– There are many studies in the area
SWEN90016 Software Processes and Project Management -8- Quality Management
Cost of quality
SWEN90016 Software Processes and Project Management -9- Quality Management
Learning Outcomes
Understand the fundamentals of quality management
Understand the quality management process
Understand the following quality management activities: – Quality Assurance
– Quality Planning
– Quality Control and Monitoring
SWEN90016 Software Processes and Project Management -10- Quality Management
Learning Outcomes
Understand the fundamentals of quality management Understand the quality management process Understand the following quality management activities:
– Quality Assurance
• VerificationandValidation • Standards
• CapabilityMaturityModel
– Quality Planning
– Quality Control and Monitoring
SWEN90016 Software Processes and Project Management -11- Quality Management
Quality Management Process
Quality assurance:
The establishment of a framework of organizational procedures and standards that lead to high-quality software
Quality planning:
The selection of appropriate procedures and standards from the framework, adopted for the specific project
Quality control:
Ensuring that the software development team has followed the project quality procedures and standards
SWEN90016 Software Processes and Project Management -12- Quality Management
Verification vs Validation
• Verification and Validation (V &V) are important aspects of quality assurance
• Verification:
– Verification is an attempt to ensure that the product is built correctly, in the sense that the output products of an activity meet the specifications imposed on them in previous activities.
– Verification normally involves two (sets of) artifacts: req. spec. vs design, design vs code; this is an internal developer activity.
– Verification is ensuring you are building the system right (the right way). • Validation:
– Validation is an attempt to ensure that the right product is built—that is, the product fulfils it specific intended purpose.
– Validation involves going back to the stakeholders to check if the product meets their requirements; this normally involves something/someone external.
– Validation is ensuring that you are building the right system (to meet stakeholder needs).
SWEN90016 Software Processes and Project Management -13- Quality Management
Verification and validation
SWEN90016 Software Processes and Project Management -14- Quality Management
Quality Assurance
SWEN90016 Software Processes and Project Management -15- Quality Management
Quality Assurance
• Quality assurance process is primarily concerned with defining or selecting the quality standards
– A standard might simply be defined as a set of rules for ensuring quality
– Standards play an important role in the quality management process
• There are two types of standards:
– Product standards:
• These apply to the product being developed
– Process standards:
• These standards define the processes that should be followed during software development
SWEN90016 Software Processes and Project Management -16- Quality Management
Product vs Process Standards
Product Standards
Process Standards
Design review form template
Design review conduct
Requirements document structure
Design validation process
Documentation standards
Version release process
Coding standards to follow
Project plan approval process
Project plan format
Change control process
Change request from template
Test recording process
Product vs process standards
SWEN90016 Software Processes and Project Management -17- Quality Management
Documentation standards
• Why are documentation standards important?
– documents are the tangible manifestation of the software
• Documentation process standards
– How documents should be developed, validated and maintained
• Document standards
– Concerned with document identification, structure, presentation, changes highlighting, etc.
• Document interchange standards
– How documents are stored and interchanged between different documentation systems
– XML is an emerging standard for document interchange which will be widely supported in future
SWEN90016 Software Processes and Project Management Quality Management
Software Standards and Systems
• Advantages of standards
– Provide a framework around which the quality assurance process may be implemented
– Provide encapsulation of best, or at least most appropriate, practice
– Customers sometimes require a particular quality standard/level when choosing a software vendor
• Problems with standards
– Not seen as relevant and up-to-date by software engineers
– Involve too much bureaucratic form filling
– Unsupported by software tools so tedious manual work is involved to maintain standards
Standards should not be avoided, but should be tailored as needed!
SWEN90016 Software Processes and Project Management -19- Quality Management
Software Standards and Systems
• Many standards and systems related to software quality exists today
• Some examples of software standards and systems
– ISO 9000
– Capability Maturity Model
SWEN90016 Software Processes and Project Management -20- Quality Management
Capability Maturity Model
• Developed by the Software Engineering Institute (SEI) at University
• Describes the key elements of an effective software development process
• Describes an approach for software companies to move from an ad-hoc, immature process to a mature developed process
• Organizations are characterised being at a Level from 1-5 based on the processes they follow
SWEN90016 Software Processes and Project Management -21- Quality Management
Capability Maturity Model
SWEN90016 Software Processes and Project Management -22- Quality Management
Capability Maturity Model
O p t i mi zi n g
Process change management Technology change management Defect prevention
Software quality management Quantitative process management
Peer reviews
Intergroup coordination Software product engineering Integrated software management Training programme Organization process definition Organization process focus
Repeatabl e
Software configuration management Software quality assurance
Software subcontract management Software project tracking and oversight Software project planning Requirements management
SWEN90016 Software Processes and Project Management Quality Management
Learning Outcomes
Understand the fundamentals of quality management Understand the quality management process Understand the following quality management activities:
– Quality Assurance
– Quality Planning
• SoftwareQualityPlan
• SoftwareQualityAttributes
– Quality Control and Monitoring
SWEN90016 Software Processes and Project Management -24- Quality Management
Quality Management Process
Quality assurance:
The establishment of a framework of organizational procedures and standards that lead to high-quality software
Quality planning:
The selection of appropriate procedures and standards from the framework, adopted for the specific project
Quality control:
Ensuring that the software development team has followed the project quality procedures and standards
SWEN90016 Software Processes and Project Management -25- Quality Management
Quality Planning
• The process of selecting those standards and systems that are appropriate to a particular organization and project
• The outcome of the planning process is a:
– Software Quality Plan (SQP), sometimes called a Software Quality Assurance Plan (SQAP)
SWEN90016 Software Processes and Project Management -26- Quality Management
SQP – Template
• Software Quality Assurance Plan
– Product Overview
A description of the product, intended market, and quality expectations
– Product Plan
The critical release dates and responsibilities – could point to the schedule
– Quality Goals
The quality goals and plans for the product, including identification and justification of critical product quality attributes
– Process Description
The quality assurance processes that should be used for product development and management (reviews, audits etc)
– Document and Coding Standards
Standards for the documents and coding standards
– Risks and Risk Management
The key risks that might affect product quality and the actions to address these risks (could provide a link to appropriate risks in the Risk Management Plan)
SWEN90016 Software Processes and Project Management -27- Quality Management
SWEN90016 Software Processes and Project Management -28- Quality Management
Software Quality Attributes
Understandability
Portability
Testability
Reliability
Adaptability
Reusability
Resilience
Modularity
Efficiency
Robustness
Complexity
Learnability
Software quality attributes
• Some of the quality attributes matter only matter to developers while others matter to end-users
• It is not possible for any system to be optimised for all attributes – trade-off is necessary to select the most important ones
SWEN90016 Software Processes and Project Management -29- Quality Management
Learning Outcomes
Understand the fundamentals of quality management Understand the quality management process Understand the following quality management activities:
– Quality Assurance
– Quality Planning
– Quality Control and Monitoring • Technical Reviews
• BusinessReviews
• ManagementReviews
SWEN90016 Software Processes and Project Management -30- Quality Management
Quality Control and Monitoring
• Involves monitoring the software development process to ensure that the quality assurance procedures and standards specified in the SQP are being followed
Input Process
Quality Control
SWEN90016 Software Processes and Project Management -31- Quality Management
• Review is a common technique used for verification and validation
• Artefacts produced during the development process are reviewed as a way of identifying problems seeking ways to improve them early
• Three common types of reviews:
– Technical Reviews
– Business Reviews
– Management Reviews
SWEN90016 Software Processes and Project Management -32- Quality Management
Technical Reviews
• Reviews of artefacts is performed by peers in the development team but the author/s are involved
• The aim is uncovering problems in an artefact and seeking ways to improve the artefact
• Is considered a “soft” method for quality assurance – that is, nothing is executed
– Some developers greet reviews with scepticism – however, empirical evidence suggests that such scepticism is unjustified
SWEN90016 Software Processes and Project Management -33- Quality Management
SWEN90016 Software Processes and Project Management -34- Quality Management
Technical Reviews
• Advantages of technical reviews:
– Can be performed on any software artefact, whereas many “hard” methods of quality assurance, such as testing and measurement, can be performed only on executable artefacts.
– Earlier detection of problems in software artefacts leads to lower costs of resolution.
– Studies show that roughly 30-70% of all programming faults found in a project were located using source code reviews, and up to 80% according to studies performed by IBM. Some studies demonstrated that review techniques found
several types of faults that testing failed to find, and vice-versa.
– Reviews find the actual faults in source code, in contrast to testing, which merely indicates that there is a fault somewhere in the program. After a fault is detected with testing, it must then be located.
– Due to internal pressure of getting software releases out the door, programmers make more mistakes when correcting faults that were found during testing than they do correcting faults during the review phase
SWEN90016 Software Processes and Project Management -35- Quality Management
Technical Reviews
• Disadvantages of technical reviews:
– Could be time and resource consuming
– Should be carefully planned and executed to get the desired outcomes
• Types of technical reviews
– Informal Reviews
– Formal Reviews
– Walk throughs
– Code inspections
SWEN90016 Software Processes and Project Management -36- Quality Management
Technical Reviews
• Informal Reviews:
– A simple desk check or casual meeting with a colleague which aims to
improve the quality of a document
– No formal guidelines or procedures that are followed
– The effectiveness of informal reviews is considerably less than formal reviews, because of the lack of diversity found in a group
– Checklists are tools that can help to improve the effectiveness of a review.
– A checklist is a list of questions that the reviewer must answer about an artefact, however, the questions are generic questions about that type of artefact
– Less time and resource consuming than a formal review
SWEN90016 Software Processes and Project Management -37- Quality Management
Technical Reviews
Example checklist for a Requirements Specification
SWEN90016 Software Processes and Project Management -38- Quality Management
Technical Reviews
• Formal Reviews:
– A meeting with multiple stakeholders such as
developers, testers, client
• Thegroupapproachhasbenefitsofbringingoutdifferentperspectives
– Meeting should adhere to the following constraints
• Thereviewteamshouldbe3-5memberscarefullychosen • Themeetingshouldlastnolongerthan90minutes
• Followingarethecriticalroles
– Review Leader: responsible for organizing the review
– Author: at least one author should be present
– Reviewers: at least two or three non-author stakeholders
– Recorder: responsible for recording all important review comments
– The review meeting could recommend one of the following:
• Acceptwithoutfurtherchanges
• Acceptwithproposedchanges
• Rejecttheartefact–thisrequiresare-reviewaftermodifications
SWEN90016 Software Processes and Project Management -39- Quality Management
Technical Reviews
• Walkthroughs
– Walkthrough could be for code or a document
– This is a review process where the author (the programmer or designer) leads a group of reviewers
– Following are the main differences from a formal review:
• Moderator,thatleadsthereviewistheauthoroftheartefactbeingreviewed
• Reviewersdonotneedpreparation
• Whendefectsorinconsistenciesarefound,possiblesolutionsare discussed
• Code Inspections
– These are very similar to formal reviews, expect that the focus is on the code
SWEN90016 Software Processes and Project Management -40- Quality Management
Technical Reviews
– Reviews of processes and products to determine if a particular product
or process conforms to standards
– It is a type of technical review where the authors of the artefact being audited are not involved in the audit process at all – all the other roles are similar to a formal review
– Audits are typically performed by a team that is completely external to an organisation
– Two types of audits:
• Product audits: to confirm that the product meets the standards • Process audits: to ensure that the team follows processes
SWEN90016 Software Processes and Project Management -41- Quality Management
Business Reviews
• The goal of a business review is to ensure that the IT solution provides the functionality specified in the project scope and requirements document
• A business review can include all project deliverables to ensure that:
– It is complete
– Provides the information needed to move to the next phase or process
– Meets the standards
SWEN90016 Software Processes and Project Management -42- Quality Management
Management Reviews
• Compares the project’s actual progress against a baseline project plan
• Project Manager is responsible for presenting the project progress and providing a clear picture of the current status
• Issues need to be resolved – e.g. resources reallocated as needed, change to the project course if needed
• May involve reviewing if the project meets the scope, schedule, budget and quality objectives
SWEN90016 Software Processes and Project Management -43- Quality Management
Learning Outcomes
Understand the fundamentals of quality management
Understand the quality management process
Understand the following quality management activities: – Quality Assurance
– Quality Planning
– Quality Control and Monitoring
SWEN90016 Software Processes and Project Management -44- Qu
程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com