Top Banner
1 U08784 U08784 Software Project Software Project Management Management lecturer: Timothy Au lecturer: Timothy Au email: [email protected] email: [email protected] url: url: www.geocities www.geocities .com .com /timothykfau/2007/u087 /timothykfau/2007/u087 84 84
26

U08784 Software Project Management

Dec 31, 2015

Download

Documents

todd-riggs

U08784 Software Project Management. lecturer: Timothy Au email: [email protected] url: www.geocities .com /timothykfau/2007/u08784. What have we learnt last week. In the last week lecture, we have learnt: Risk Analysis Report Risk Management (the lecture presentation slides) - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: U08784  Software Project Management

11

U08784 U08784 Software Project ManagementSoftware Project Management

lecturer: Timothy Aulecturer: Timothy Auemail: [email protected]: [email protected]

url: www.geocitiesurl: www.geocities.com.com/timothykfau/2007/u08784/timothykfau/2007/u08784

Page 2: U08784  Software Project Management

22

What have we learnt last weekWhat have we learnt last week

In the last week lecture, we have learnt:In the last week lecture, we have learnt:• Risk Analysis ReportRisk Analysis Report• Risk Management (the lecture presentation slides)Risk Management (the lecture presentation slides)• The RMMM PlanThe RMMM Plan

Page 3: U08784  Software Project Management

33

Lecture 6Lecture 6

In this lecture, you will learn:In this lecture, you will learn:• Software Quality Assurance Software Quality Assurance 77 • Software Quality ConceptsSoftware Quality Concepts• The SQA PlanThe SQA Plan• ISO 9126ISO 9126• Technical ReviewTechnical Review• Quality RequirementsQuality Requirements• Quality Plan (QP)Quality Plan (QP)• Quality Assurance Review (QAR)Quality Assurance Review (QAR)

Page 4: U08784  Software Project Management

44

Lecture OutcomesLecture Outcomes

You should be able to understand the following upon You should be able to understand the following upon this lecture:this lecture:• Quality requirementQuality requirement

• Quality Plan Quality Plan

• Quality ControlQuality Control

• Quality ReviewQuality Review Project MilestonesProject Milestones

• Refine your project schedule according to your progressRefine your project schedule according to your progress

• Performing your project risk analysis and assessmentPerforming your project risk analysis and assessment

• Preparing Quality PlanPreparing Quality Plan

Page 5: U08784  Software Project Management

55

Software Quality and Project PlanningSoftware Quality and Project Planning

Quality software Quality software • Quality will be of concerns at Quality will be of concerns at all stagesall stages of project of project

planning and execution planning and execution [Hughes Sec.12.2 p.258][Hughes Sec.12.2 p.258]

Page 6: U08784  Software Project Management

66

The Importance of Software Quality The Importance of Software Quality

The importance of software quality The importance of software quality [Hughes Sec.12.3 p.260][Hughes Sec.12.3 p.260]

• Criticality of softwareCriticality of software – especially reliability – – especially reliability – organizations become more dependent on their computer organizations become more dependent on their computer systems and hence software reliability becomes critical.systems and hence software reliability becomes critical.

• Intangibility of softwareIntangibility of software – how “good” it is when – how “good” it is when developers produce the “deliverables” to be examined for developers produce the “deliverables” to be examined for quality.quality.

• Accumulating errorsAccumulating errors (amplification effect) – during (amplification effect) – during development, the later in the project that an error is found, development, the later in the project that an error is found, the more expensive to recover from the error.the more expensive to recover from the error.

Page 7: U08784  Software Project Management

77

Software QualitySoftware Quality

In the context of software engineering, In the context of software engineering, software quality measures software quality measures • how well software is designed how well software is designed ((quality of designquality of design),),

quality of design measures how valid the design and quality of design measures how valid the design and requirements are in creating a worthwhile product;requirements are in creating a worthwhile product;

• how well the software conforms to that design how well the software conforms to that design (quality of conformance)(quality of conformance)

quality of conformance is concerned with quality of conformance is concerned with implementation (Software Quality Assurance), implementation (Software Quality Assurance),

Page 8: U08784  Software Project Management

88

Software QualitySoftware Quality

DefinitionsDefinitions• Tom DeMarco, "a product's quality is a function of Tom DeMarco, "a product's quality is a function of

how much it changes the world for the better". how much it changes the world for the better". This can be interpreted as meaning that user satisfaction This can be interpreted as meaning that user satisfaction

is more important than anything in determining is more important than anything in determining software quality[1]software quality[1]

• Steve McConnell's Code Complete Steve McConnell's Code Complete divides software into two pieces: internal and external divides software into two pieces: internal and external

quality characteristics. External quality characteristics quality characteristics. External quality characteristics are those parts of a product that face its users, where are those parts of a product that face its users, where internal quality characteristics are those that do not internal quality characteristics are those that do not

Page 9: U08784  Software Project Management

99

What is Software Quality What is Software Quality

What is software quality? What is software quality? [Hughes Sec.12.4 p.261][Hughes Sec.12.4 p.261]

• Quality is a rather vague term, we need to define it Quality is a rather vague term, we need to define it (or quantify) more precisely in terms of software (or quantify) more precisely in terms of software project.project.

• There should be THREE specifications:There should be THREE specifications: functional specification functional specification – describes – describes what what the system is the system is

to do.to do. quality specification quality specification – concerns – concerns how wellhow well the system is the system is

to perform.to perform. resource specificationresource specification – – how muchhow much we can afford to we can afford to

spend on the system.spend on the system.

Page 10: U08784  Software Project Management

1010

Software Quality MeasuresSoftware Quality Measures ReliabilityReliability

• Mean-time-between-failure (MTBF) Mean-time-between-failure (MTBF)

= = ΣΣ (down time – up time)/ number of failures(down time – up time)/ number of failures= mean-time-to-repair (MTTR) + mean-time-to-fail (MTTF)= mean-time-to-repair (MTTR) + mean-time-to-fail (MTTF)

• Availability– the percentage of time intervals that a system is Availability– the percentage of time intervals that a system is usable usable = MTTF / (MTTF + MTTR) * 100%= MTTF / (MTTF + MTTR) * 100%

• Failure on demand – the probability that a systemFailure on demand – the probability that a system• Support – the number of fault reportSupport – the number of fault report

MaintainabilityMaintainability ExtendibilityExtendibility ……

Page 11: U08784  Software Project Management

1111

Software ReliabilitySoftware Reliability Software reliability is an important facet of software quality. Software reliability is an important facet of software quality. It is defined as "the probability of failure-free operation of a It is defined as "the probability of failure-free operation of a

computer program in a specified environment for a specified computer program in a specified environment for a specified time“.time“.

One of reliability's distinguishing characteristics is that it is One of reliability's distinguishing characteristics is that it is objective, measurable, and can be estimated, whereas much of objective, measurable, and can be estimated, whereas much of software quality is subjective criteria. This distinction is software quality is subjective criteria. This distinction is especially important in the discipline of Software Quality especially important in the discipline of Software Quality Assurance. These measured criteria are typically called Assurance. These measured criteria are typically called software metrics.software metrics.

Software reliability in software development:Software reliability in software development:• requirementrequirement• analysisanalysis• designdesign• programmingprogramming• testing testing

Page 12: U08784  Software Project Management

1212

Software TestingSoftware Testing Software testing, should increase overall software quality of Software testing, should increase overall software quality of

conformance by testing (if it is handled appropriately) that the conformance by testing (if it is handled appropriately) that the product conforms to its requirements. product conforms to its requirements.

Testing includes the followings (but is not limited to):Testing includes the followings (but is not limited to):• Unit Testing Unit Testing • Functional Testing Functional Testing • Performance Testing Performance Testing • Failover Testing Failover Testing • Usability Testing Usability Testing

Agile methodologies is being used as early testing in the Agile methodologies is being used as early testing in the development cycle to ensure quality in their productsdevelopment cycle to ensure quality in their products

To ensure quality (development), test-driven development To ensure quality (development), test-driven development practice, tests are written before the code they will test, c.f. practice, tests are written before the code they will test, c.f. Extreme Programming.Extreme Programming.

Page 13: U08784  Software Project Management

1313

Quality PlanQuality Plan

A quality plan can be used as a kind of A quality plan can be used as a kind of checklist that all quality issues have been checklist that all quality issues have been addressed.addressed.

A quality plan is prepared to ensure the quality A quality plan is prepared to ensure the quality management system is understandable and to management system is understandable and to be observed by all project team members.be observed by all project team members.

Quality activities are implemented as Quality activities are implemented as described in the quality plan for each described in the quality plan for each development project phase according to the development project phase according to the quality management system.quality management system.

Page 14: U08784  Software Project Management

1414

Quality PlanQuality Plan

A quality may have the following contents:A quality may have the following contents: Purpose, Scope of PlanPurpose, Scope of Plan List of ReferenceList of Reference Management arrangement, organization, tasks and responsibilitiesManagement arrangement, organization, tasks and responsibilities Documentation to be producedDocumentation to be produced Standards and Practice, ConventionsStandards and Practice, Conventions Reviews and auditsReviews and audits TestingTesting Problem Reporting and Corrective actionProblem Reporting and Corrective action Tools, Techniques and MethodologiesTools, Techniques and Methodologies Code, Media and Supplier ControlCode, Media and Supplier Control Record Collection, Maintenance and RetentionRecord Collection, Maintenance and Retention TrainingTraining Risk ManagementRisk Management

Page 15: U08784  Software Project Management

1515

Quality RequirementsQuality Requirements

Project teams are required to consider the following Project teams are required to consider the following quality requirements:quality requirements:• Project Planning, Project Planning,

• Quality Planning, Quality Planning,

• Requirement Review, Requirement Review,

• Development Planning, Development Planning,

• Design and Implementation, Design and Implementation,

• Testing and Validation, Testing and Validation,

• Acceptance, Acceptance,

• Delivery and Installation, Delivery and Installation,

• Maintenance, Maintenance,

• Configuration Management, Configuration Management,

• Document and Data Control, Document and Data Control,

• TrainingTraining

Page 16: U08784  Software Project Management

1616

Quality RequirementsQuality Requirements Project Planning Project Planning

• Plan, monitor and control project in accordance with "Projects IN Controlled Environments" Plan, monitor and control project in accordance with "Projects IN Controlled Environments" (PRINCE) Methodology (PRINCE) Methodology

• Estimate resources using Function Point Analysis (FPA) and other appropriate methods Estimate resources using Function Point Analysis (FPA) and other appropriate methods Quality Planning Quality Planning

• Follow the Quality Planning (QP) Procedures and Quality Assurance Review (QAR) Procedures in Follow the Quality Planning (QP) Procedures and Quality Assurance Review (QAR) Procedures in ensuring that all products and/or services produced satisfy user requirements ensuring that all products and/or services produced satisfy user requirements

• Maintain accurate and legible quality records Maintain accurate and legible quality records Requirement Review Requirement Review

• Clearly define user requirements and produce user requirement specifications Clearly define user requirements and produce user requirement specifications

• Conduct review of requirements Conduct review of requirements Development Planning Development Planning

• Plan with considerations on development methodologies to be applied such as Structured Systems Plan with considerations on development methodologies to be applied such as Structured Systems Analysis and Design Methodology (SSADM), Rapid Application Development (RAD) and Object Analysis and Design Methodology (SSADM), Rapid Application Development (RAD) and Object Oriented Methodology (OOM) Oriented Methodology (OOM)

Design and Implementation Design and Implementation

• Use methodologies such as SSADM, RAD, OOM and its related tools in transforming user Use methodologies such as SSADM, RAD, OOM and its related tools in transforming user requirements into an application system product requirements into an application system product

Page 17: U08784  Software Project Management

1717

Quality RequirementsQuality Requirements Design with consideration on Interoperability Framework Design with consideration on Interoperability Framework

• Apply and follow work steps, verification processes, standards and procedures; and produce required inputs and outputs Apply and follow work steps, verification processes, standards and procedures; and produce required inputs and outputs according to SSADM, RAD, OOM and PRINCE according to SSADM, RAD, OOM and PRINCE

• Produce implementation documents according to the Documentation Standards Produce implementation documents according to the Documentation Standards Testing and Validation Testing and Validation

• Follow the Guidelines on Application Software Testing Follow the Guidelines on Application Software Testing • Perform test planning and control, produce test documentation, apply test tools and techniques and follow checklists for Perform test planning and control, produce test documentation, apply test tools and techniques and follow checklists for

different levels of testing different levels of testing Acceptance Acceptance

• Organize acceptance test to determine whether the finished system meets the user requirements and is acceptable to the Organize acceptance test to determine whether the finished system meets the user requirements and is acceptable to the user user

• Assist user to prepare acceptance test plan and specification Assist user to prepare acceptance test plan and specification Delivery and Installation Delivery and Installation

• Oversee site preparation, hardware and software installation, and operating environment set-up; produce Oversee site preparation, hardware and software installation, and operating environment set-up; produce documentation; arrange training and hand over of system to operation documentation; arrange training and hand over of system to operation

Maintenance Maintenance • Follow the standard procedures as stated in the Guidelines on System Maintenance Cycle Follow the standard procedures as stated in the Guidelines on System Maintenance Cycle

Configuration Management Configuration Management • Follow the standard procedures as specified in Software Configuration Management Process Guide Follow the standard procedures as specified in Software Configuration Management Process Guide

Document and Data Control Document and Data Control • Produce master lists to properly control all documents and data related to the project and the system Produce master lists to properly control all documents and data related to the project and the system • Produce documents and data as required under PRINCE, FPA, SSADM, RAD, OOM and QM Produce documents and data as required under PRINCE, FPA, SSADM, RAD, OOM and QM • Produce documents according to Document Style Manual if applicable Produce documents according to Document Style Manual if applicable

Training Training • Train staff and users adequately to perform their task. Train staff and users adequately to perform their task.

Page 18: U08784  Software Project Management

1818

Quality ManagementQuality Management

The Quality Manual The Quality Manual • It defines the organization, policies and principles It defines the organization, policies and principles

of the Quality Management System (QMS) that is of the Quality Management System (QMS) that is applied to the software development.applied to the software development.

• It also defines the responsibilities and authorities It also defines the responsibilities and authorities for those manage, perform and verify the quality for those manage, perform and verify the quality work and the effective implementation of such work and the effective implementation of such quality system.quality system.

Page 19: U08784  Software Project Management

1919

Quality ManagementQuality Management

The The Quality Management System (QMS) Quality Management System (QMS) applies to activities in all software applies to activities in all software development project, including the following development project, including the following SDLC phases:SDLC phases:• Project Initiation PhaseProject Initiation Phase• Feasibility PhaseFeasibility Phase• Systems Analysis & Design PhaseSystems Analysis & Design Phase• ImplementationImplementation• Post-implementation PhasePost-implementation Phase

Page 20: U08784  Software Project Management

2020

Quality ManagementQuality Management

The The Quality Management System (QMS) Quality Management System (QMS) Documentation includes:Documentation includes:• Project Initiation PhaseProject Initiation Phase• Feasibility PhaseFeasibility Phase• Systems Analysis & Design PhaseSystems Analysis & Design Phase• ImplementationImplementation• Post-implementation PhasePost-implementation Phase

Page 21: U08784  Software Project Management

2121

Quality PlanningQuality Planning

Quality Planning Procedure Quality Planning Procedure • Project manager defines the quality related requirements including the Project manager defines the quality related requirements including the

tasks, standards, responsibilities and resource requirements at project tasks, standards, responsibilities and resource requirements at project planning throughout the system development life cycle.planning throughout the system development life cycle.

• A standard Quality Plan which makes reference to various procedures, A standard Quality Plan which makes reference to various procedures, standards and practices defined as the standards and practices defined as the Quality System Quality System in the in the Quality Quality Manual Manual for the software project is used as a framework for project for the software project is used as a framework for project quality planning. quality planning.

• Project manager tailors the procedure and standard framework the plan Project manager tailors the procedure and standard framework the plan to fit the project purpose. to fit the project purpose.

• Using the assistance of this tailor-made standards and procedure, the Using the assistance of this tailor-made standards and procedure, the project manager will define the Project Quality Plan specific to his/her project manager will define the Project Quality Plan specific to his/her project and ensure compliance to the Quality System. project and ensure compliance to the Quality System.

• This procedure is also used as a supplement to the quality planning This procedure is also used as a supplement to the quality planning activities of PRINCE. activities of PRINCE.

Page 22: U08784  Software Project Management

2222

Quality AssuranceQuality Assurance Software quality include the following factors:Software quality include the following factors:

• SafetySafety• SecuritySecurity• ReliabilityReliability• ResilienceResilience• RobustnessRobustness• UnderstandabilityUnderstandability• testability testability • AdaptabilityAdaptability• ModularityModularity• portability portability • usability usability • ReusabilityReusability• EfficiencyEfficiency• LearnabilityLearnability• completeness completeness • conciseness conciseness • consistency consistency • maintainability maintainability • Structuredness Structuredness

Page 23: U08784  Software Project Management

2323

Quality Assurance ReviewQuality Assurance Review The Quality Assurance Review Procedure establishes the The Quality Assurance Review Procedure establishes the

minimum requirementsminimum requirements and procedure of formal quality and procedure of formal quality assurance processes for projects assurance processes for projects

The objectives of this document are to establish standards for :The objectives of this document are to establish standards for :• the quality assurance requirements (and the resources required for the the quality assurance requirements (and the resources required for the

quality assurance activities) in the project quality plan; quality assurance activities) in the project quality plan; • Identify the quality assurance Checkpoints and the responsibilities of Identify the quality assurance Checkpoints and the responsibilities of

personnel and parties performing the verification; personnel and parties performing the verification; • procedure to verify quality controls of products against requirements procedure to verify quality controls of products against requirements

and standards; and standards; • document the review results; document the review results; • monitor the processes and products during system development; monitor the processes and products during system development; • provide evidence that the completed product conforms to the provide evidence that the completed product conforms to the

requirements. requirements.

Page 24: U08784  Software Project Management

2424

Quality Assurance ReviewQuality Assurance Review

Quality Assurance Review (QAR) contains the Quality Assurance Review (QAR) contains the following checkpoint reviews:following checkpoint reviews:• Project InitiationProject Initiation• Feasibility Phase End of Phase ReviewFeasibility Phase End of Phase Review• Systems Analysis & Design Phase End of Phase ReviewSystems Analysis & Design Phase End of Phase Review• Implementation End of Phase ReviewImplementation End of Phase Review• Post-implementation Pre-production ReviewPost-implementation Pre-production Review

The objective is to ensure that the requirements are met and The objective is to ensure that the requirements are met and handled; appropriate standards and methodologies are handled; appropriate standards and methodologies are employed effectively throughout the design and employed effectively throughout the design and implementation. implementation.

Page 25: U08784  Software Project Management

2525

Quality ControlQuality Control

Quality Control involvesQuality Control involves• Inspection Inspection • ReviewReview• TestingTesting

Throughout the software development process Throughout the software development process to ensure the work meets or exceeds the to ensure the work meets or exceeds the customer requirement.customer requirement.

Page 26: U08784  Software Project Management

2626

Quality Control and Quality AssuranceQuality Control and Quality Assurance

DefinitionsDefinitions• Quality Control is the process by which product and/or Quality Control is the process by which product and/or

service is compared with applicable standards according to service is compared with applicable standards according to the quality management system.the quality management system.

• Actions will be taken when non-conformances are Actions will be taken when non-conformances are detected. It is the responsibility of the workers.detected. It is the responsibility of the workers.

• Quality Assurance is a planned and systematic set of Quality Assurance is a planned and systematic set of activities necessary to produce sufficient confidence that activities necessary to produce sufficient confidence that the requirements are met and that the products and/or the requirements are met and that the products and/or services conform the specific quality requirements.services conform the specific quality requirements.

• It may be called quality control over quality control It may be called quality control over quality control because it evaluates whether quality control is working. It because it evaluates whether quality control is working. It is the management responsibility is the management responsibility