SOFTWARE PROJECT
MANAGEMENT
SOFTWARE QUALITY MANAGEMENT
1
Overview
• No single universally accepted quality definition
• Differing expectations about software quality
o Client-meet specifications within the contract
terms
o End-user-do job better, faster, easier
o Developer-few defects at delivery, faster
development, higher productivity
o Maintainer-understandable, testable, modifiable
2
Overview
• Quality is:
o What customers look for in any product
o What customers think it is; perceive it to be or
experience it to be
o What is perceived as high or low depending
upon the usefulness and utility of the product
o Conformance to requirement
3
Overview
• Quality is customer driven:
o Begins with customer(specification)
o Ends with customer(judgment)
• Quality Involves delivering more than
expectations and delighting the customer
4
Overview
• Quality characteristics/attributes:
o Product operations
-usability
-security
-efficiency
-reliability
5
Overview
o Product revision
- maintainability
- Adaptability
- Expandability
o Product transition
-reusability
-portability
-interoperability
6
Overview
• Quality can’t be assured unless it can be well defined,
planned for and measured
• To assure quality SQM is needed.
• SQM is aimed at
o Ensuring the required level of quality is achieved
o giving the confidence to developers and the customers that
the requirements will be met
o Producing the final product of satisfactory quality
o Outlining the different standards, procedures and
methodologies and metrics to be used and ensuring that
they are followed.
7
Quality Management Activities
• Three activities:
o Quality Assurance
o Quality Planning
o Quality Control
8
Quality Assurance
• Establishes organizational procedures and
standards for quality.
- Standards are key to effective quality
management
- Standards are encapsulation of best practices-
avoids repetition of past mistakes
- Standards may be international, national,
organizational, or project
- Standards can be product and process
9
Process and Product standards
• Quality of product is influenced by quality of
process
• Process and product standards should be
defined
• Product standards define characteristics that
all components should exhibit
• Process standards define how the software
process should be enacted
10
Product and Process Standards
• Product standards Process standards
- Review report form - review process
- Docs structure -docs process
- Plan format -plan approval
process
- Change request form -change control process
- Etc -etc
11
Documentation Standards
• Documentations are the tangible manifestation of the
software
• Documentation process standards
- concerned with how documents should be developed,
validated and maintained
• Document standards
- Concerned with document contents, structure and
appearance
• Document interchange standards
- Concerned with the compatibility of electronics documents
12
Documentation Process
• Stage 1- Creation
- Create initial draft
- Review draft
- Incorporate review comments re-draft document
• Stage 2- Polishing
- Proof read
- Produce final draft check final draft
• Stage 3: Production
- Layout
- Review layout
- Produce camera ready
- Print
13
Documentation Standards
• Document identification standards
- How documents are uniquely identified
• Document structure standards
- Define Standard structure for project documents
• Document presentation standards
- Define fonts and styles, use of logos, etc
• Document update standards
- Define how changes from previous versions are
reflected in a document
14
Document Interchange Standards
• Allow electronic documents to be exchanged
• Define conventions for different documents
produced on different computers
• Need for archiving
15
Quality Planning
• Selects applicable procedures and standards for a
particular project and how to satisfy those standards
• Should define the quality assessment process
• The main outputs:
o Quality management plan
o Quality metrics
- A metric is a standard of measurement. For instance,
failure rates of a product, availability of product or
services
o Quality checklists
16
Quality Control
• Involves checking the software development process to
ensure that procedures and standards are being followed
- The main outputs:
o Acceptance decision- accepted/rejected
o Rework-action taken to bring rejected items into compliance
with specifications
o Process Adjustments-correct or prevent further quality
problems based on quality control managements
• Two approaches to quality control
- Quality reviews
- testing
17
Quality Reviews
• Principal method of validating the quality of a
process or product
• A team examines part or all of a process or
system and its documentation to find potential
problem
18
Review Process
• Identify what to review
• Plan the review:
- Select review techniques
- Identify the review team
- Select appropriate review checklist
- Decide how much to review
• Perform the review
• Close the review
19
Testing
• Plays a critical role in quality assurance
• Dynamic method for verification and validation
• Two approaches to testing: Functional and
structural
In functional testing/black box testing:
- Internal logic is not considered
- Test cases are decided from the functional
specifications
20
Testing
In structural testing/white box testing:
- Internal logic are considered
- Test cases are decided on the internal structure
• Levels of testing:
- Unit testing -goal is to test module code
- Integration testing -goal is to test system design through
combination of modules
- System testing-goal is to test the entire system against the
requirements
- Acceptance testing- testing-goal is to test the entire system
against the requirements by the client
21
Test plan
• Basic document guiding the entire testing
process
• Specifies the levels of testing and the units
that need to be tested
• For each units:
- Test cases are specified
- test cases are executed and various reports
are produced:
22
Test Plan Template
1. Introduction
2. Features to be tested/not to be tested
3. Pass/fail criteria
4. Approach
5. Test cases with specifications
23
SQAP Template
1. Introduction
1.1 purpose
1.2 scope
2. Roles and responsibilities
3. Documentation
3.1 documents to be produced and their brief descriptions
4. Standards and procedures
4.1 Standards
4.1.1 Documents
4.1.2 Coding
4.1.3 Testing
4.1.4 document and version control
4.1.5 Tools
4.2 Procedures/processes
4.2.1 Reviews
4.2.2 Testing
4.2.3 Documentation
24