Lecture 3: Project Management, Part 2 - University of...

17
1 Prof. Shervin Shirmohammadi ELG 4912 3-1 Lecture 3: Project Management, Part 2: Verification and Validation, Project Tracking, and Post Performance Analysis Prof. Shervin Shirmohammadi SITE, University of Ottawa Prof. Shervin Shirmohammadi ELG 4912 3-2 V & V Objective: to find problems before the customer does. • Verification: verifies whether the product of a given phase satisfies the requirements set at the beginning of that phase – Reviews & walkthroughs of many things: plans, design, specifications, … • Validation: actual testing of the system module testing, user acceptance testing, regression testing ….

Transcript of Lecture 3: Project Management, Part 2 - University of...

1

Prof. Shervin Shirmohammadi ELG 4912 3-1

Lecture 3:

Project Management, Part 2:Verification and Validation, Project Tracking,

and Post Performance Analysis

Prof. Shervin Shirmohammadi

SITE, University of Ottawa

Prof. Shervin Shirmohammadi ELG 4912 3-2

V & V

• Objective: to find problems before the customer does.

• Verification: verifies whether the product of a given phase satisfies the requirements set at the beginning of that phase

– Reviews & walkthroughs of many things: plans, design, specifications, …

• Validation: actual testing of the system

– module testing, user acceptance testing, regression testing ….

2

Prof. Shervin Shirmohammadi ELG 4912 3-3

Reviews

• It is estimated that 30 to 50% of all project costs are consumed by rework.

– Rework is caused by either change or problems/mistakes.

– We need to catch these problems as early as possible.

• Reviews are one way to catch problems up front.

• Requires substantial initial investment, but returns very well at the end.

• A.k.a static testing

Prof. Shervin Shirmohammadi ELG 4912 3-4

Why Review?• Some figures (different

studies):

– Finds 60 – 90% of all

defects

– Between 2 to 10 times

more efficient than

actual testing

– Catches errors in 1/4th of

the time it takes to catch

them with dynamic

testing

– ROI = Savings/Costs =

4.48 (1997 data of 112

projects)

3

Prof. Shervin Shirmohammadi ELG 4912 3-6

The Ripple Effect• Ripple: affects multiple artifacts

Scenario:

no

Reviews.

Imp

Module

Test

SRS

SDD

Prof. Shervin Shirmohammadi ELG 4912 3-7

The Ripple Effect (…)

Scenario:

with

Reviews.

Imp

Module

Test

SRS

SDD

4

Prof. Shervin Shirmohammadi ELG 4912 3-8

What to Review?

• Everything:

– Proposal

– Contract

– Schedule

– Budget

– SPMP

– SRS

– SDD

– Test Plan

– Component Specs

– Compatibility

– …

Prof. Shervin Shirmohammadi ELG 4912 3-9

The Review Process

• Conduct reviews before exiting each phase, and

also after completion of deliverables

(milestone).

• Gather stakeholders: customer, architects,

analysts, modelers, designers, …

• Assign roles:

– Author

– Moderator

– Presenter

– Scriber

– Inspector (reviewer)

5

Prof. Shervin Shirmohammadi ELG 4912 3-10

Roles• Author: must update the work product, usually

the person who originally constructed it

• Moderator: ensures others perform their roles to the best of their abilities; should have no vested interest in the outcome

• Presenter: explains the functionality of each section of the work product

• Scriber: records all found problems, including suggestions, and assigns severity. Completes the report.

• Reviewer: each member of the team, including the above

• Why have both author and presenter?

Prof. Shervin Shirmohammadi ELG 4912 3-11

Review Attitude

• Review the product, not the person!

• Find problems, don’t solve them.

• Concentrate on finding deviations from the requirements.

• Don’t review more than 1-2 hours straight.

• Limit debate.

• Take responsibility for your review (also credit).

• Prepare at least a day in advance.

• Occasionally, review the review process itself.

6

Prof. Shervin Shirmohammadi ELG 4912 3-12

Dynamic Testing• Dynamic as opposed to static testing (review),

does actual hardware/software testing.

• Purpose: to fix as many errors/problems as possible.– Can we test everything?

– It is important to have a test plan.

• Testing not to be confused with debugging– Debugging: the activity of finding and fixing the

error which is discovered by the test.

• Acceptance testing should not be done by developers– Cognitive Dissonance: subconscious resistance to

admitting one’s own mistake

Prof. Shervin Shirmohammadi ELG 4912 3-13

Types of Tests

• Acceptance: is the final (not always) test based on the customer’s specification.

• Alpha: when development is nearing completion.

• Beta: when development and testing are nearing completion.

• Black-box: based on requirements and functionality, not on internal knowledge of the design and code.

• White-box: based on internal logic (conditions, branches, …).

• Integration: combining all components.

• Regression: retesting after fixes and patches.

• Stress: to test load and performance.

7

Prof. Shervin Shirmohammadi ELG 4912 3-14

Test Plan• A document describing the testing activities and

approach.

• Describes:– Objective

– Scope

– Approach

– Focus

• Identifies:– items to be tested

– the actual test to be done (test cases)

– schedules

– personnel

– the level of acceptable risk

• Can start right away, by specifying how each requirement can be tested.

Prof. Shervin Shirmohammadi ELG 4912 3-15

Test Plan (…)

• PM’s responsibility is to ensure:

– validation criteria has been set correctly (with

traceability)

– Major test phases have been identified correctly

– Main functions (specially the riskier ones) are

tested first

– Test plan maps well to the project plan

– Resources are identified and available

– All required types of tests are included (stress,

regression, integration, …)

8

Example Test Case Table

Prof. Shervin Shirmohammadi ELG 4912 3-16

Test

Case ID

Test Case

Description

Setup Instructions Execution

Instruc-

tions

Expected

Results

Observed

Results

Pass/Fail/

Conditional

Pass

HW-1 Sensor Powers Up

HW-n

SW-1 Sensor Initializes

SW-2 Sensor Sends Data

SW-100 Mainline Program

Initializes

SW-101 Interrupt Received

And Processed

SW-200 Executable Loaded to the Target

SW-250 Blue-Tooth module is

Tx/Rx -ing

Sys-1 GUI comes up

Sys-2 Data I/O is correct

Sys-3 Command accepted, Actuator 1 moves

Sys-20 Aircraft Sends GPS Position

SW-30 Heart Rate waveform is displayed

Prof. Shervin Shirmohammadi ELG 4912 3-17

When to Stop Testing?• We already saw that we can’t afford to test everything. So when to

stop?

• Defect detection follows an S curve (also called Logistic Curve)

• as 1/DefectDensity approaches

C, there is diminishing return:

large number of tests are need

to find smaller number of

remaining defects

• Stop testing when:

• 1/DefectDensity reaches a

certain value we can live with;

or

• set up a testing budget and stop

testing when that budget is

exhausted

9

Prof. Shervin Shirmohammadi ELG 4912 3-18

Project Tracking

• Project management doesn’t finish when the plan is ready

– it has just begun!

• PM must monitor the progress of the project, and control it.

• At any given point in time, PM must have an estimation of two sets of numbers:1. how much time, cost (effort + others)

and how what functions have been done up till now;

2. how much time and cost (effort + others) are needed and what fnctions are left to finish the project.

SCOPE

COST

TIME

Prof. Shervin Shirmohammadi ELG 4912 3-19

PM Process: Typical Iteration

10

Prof. Shervin Shirmohammadi ELG 4912 3-20

Main Control Components

• Throughout the project, PM should monitor and

control:

– Scope and functions

– Quality

– Risks

– Cost

– Schedule

Prof. Shervin Shirmohammadi ELG 4912 3-21

Scope Control

• Mainly controlled through Change Management

• Change is not free!

• Proposed changes are first reviewed!

• Impact of the change is analyzed: function, budget, duration.– New test cases according to new changes

– Verification & validation of new changes

• A decision is made on whether or not to proceed with the change.

Specially important during release time!

• After approval (by who?) the changes are applied.

• This avoids changes to affect the system in an unaccountable

manner.

• If you’re not managing changes, you’re not managing at all!

11

Prof. Shervin Shirmohammadi ELG 4912 3-22

Change Request

Change the look and feel of the user interface according to

attached design.

The current UI has given a bad score on the usability test.

Prof. Shervin Shirmohammadi ELG 4912 3-23

Risk Monitoring

• Maintain and update the top 10 list of risks, at least on a

weekly basis. Take appropriate action accordingly.

12

Prof. Shervin Shirmohammadi ELG 4912 3-24

Cost Monitoring• Budget is determined from the WBS, and the estimates.

• Using accounting data, PM can create a Cost Baseline.

– This is not just salaries; it also includes equipment, material,

supplies, software, hardware, …

• Incorporate change into the Cost.

time

cost

Budget At

Completion

(BAC)Cost

Baseline

Prof. Shervin Shirmohammadi ELG 4912 3-25

Schedule Monitoring

• Update estimates periodically.

– Developers give the PM new estimates periodically.

– Estimates should be in the form of time spent, time remaining. “% complete” is not a useful monitoring metric!

• Why?

• Incorporate changes into the schedule.

• Can use Earned Value Managementtechniques for forecasting and controlling the schedule and the cost.

13

Prof. Shervin Shirmohammadi ELG 4912 3-26

Earned Value Management

• A technique to measure real progress, not

just the effort spent.

• Given the effort spent, it calculates what

was accomplished with that effort, and

how that translates into progress for the

project as a whole.

• Dates back to the 1800s in industrial

engineering.

Prof. Shervin Shirmohammadi ELG 4912 3-27

EVM Components

• 3 major components:

– BCWS - Budgeted Cost of Work Scheduled

• Yearned value: it is the cost baseline.

– BCWP – Budgeted Cost of Work performed

• Earned value: what the project really earned at a given point

in time (how much work is done?)

– ACWP – Actual Cost of Work Performed

• Burned value: what the project actually burned to get to this

point (how much did the work done cost?)

• In the above, typically considers milestones that

are 100% done, partial work is not counted.

14

Prof. Shervin Shirmohammadi ELG 4912 3-28

Measures

• CV: Cost Variance = BCWP – ACWP

• SV: Schedule Variance = BCWP – BCWS

• CPI: Cost Performance Index = BCWP/ACWP

– What does it mean?

• SPI: Schedule Performance Index = BCWP/BCWS

– What does it mean?

• CR: Critical Ratio = SPI × CPI

• ECAC: Estimated Cost At Completion = BAC/CPI

• ETAC: Estimated Time At Completion =

Original Time /SPI

Prof. Shervin Shirmohammadi ELG 4912 3-29

CR Controlling

15

Prof. Shervin Shirmohammadi ELG 4912 3-30

Example

Assume today is May 1st.

Prof. Shervin Shirmohammadi ELG 4912 3-31

Example (…)

• Assume all cost figures in $K

BCWS = 15+20+25+20 = 80

BCWP = 15 + 20 + 25 = 60

ACWP = 10 + 15 + 25 = 50

CV = BCWP – ACWP = 60 – 50 = 10 good

SV = BCWP – BCWS = 60 – 80 = -20 bad

CPI = BCWP / ACWP = 60/50 = 1.2 good

SPI = BCWP / BCWS = 60/80 = 0.75 bad

CR = CPI × SPI = 1.2 × 0.75 = 0.9 OK

• Analysis?

16

Prof. Shervin Shirmohammadi ELG 4912 3-32

Post Performance Analysis• One of the most important indications of maturity is “Continuous

Process Improvement”.

• After a project is finished, we need to:– measure the process, collecting process metrics

– analyze them

– devise strategies for improving the process

– feed them back into the next project

• These activities are known as Post-Performance Analysis (PPA), a.k.a. post-project analysis, or postmortem analysis.

• Note that this is can be done both during the project (iteration PPA) and/or at the end of the project (project PPA)– In fact, the interim observations are the main metrics used in the project PPA

as well.

– Why not wait until the very end?

• PPA activities will lead to a PPA Report, containing metrics summary and process improvement recommendations.

Prof. Shervin Shirmohammadi ELG 4912 3-33

Process• Indicate, at the beginning of the project, what data should

be collected, such as:– Work products data: how many components, size, usage

frequency, power consumption, …

– Risks, their impact, how they were resolved, lessons learned

– Number and frequency of Changes to specs, plan, estimates, …

– Original estimates vs. actual time for various components

• These should be gathered by individuals during the project, while memories are still fresh and reasons for decisions can be clearly remembered.

• At the end, assemble a team for the PPA meeting.

• Do the analysis and recommendations during the meeting– In some cases more than one meeting might be required

• Publish the PPA Report.

17

Prof. Shervin Shirmohammadi ELG 4912 3-34

PPA Meeting• Give people enough advanced notice to prepare.

• For the project PPA (final one), send out questionnaires for people to fill in.

• Keep the meeting short.

• Start off by mentioning the purpose.– Very important for everyone to understand that this is not a

finger-pointing session, but a process analysis and improvement session.

• Go over everyone’s collected data, metrics, and suggestions.– Categorize the data as needed

• Watch out for and avoid finger-pointing!– It is not a personnel review meeting.

• Analyze and recommend improvements

• Publish the PPA report.

Prof. Shervin Shirmohammadi ELG 4912 3-35

PPA Questionnaire• In addition to project specific questions, the following

questions can be very valuable when asked from the individual’s perspective:– Identify things that were done right.

– Identify things that were done wrong.

– Identify any exceptional situations.

– How would you do things differently, if you were to do it all over again?

– Describe the most important 3 things that you could personallyhave done to improve the process.

• Other questions:– Are you proud of the accomplishments of this project?

– Was the communication level effective?

– Was the project well-managed?

– Did we do the best that we can?