SlideShare a Scribd company logo
1 of 54
Download to read offline
Project management
McGill ECSE 428
Software Engineering Practice
Radu Negulescu
Winter 2004
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 2
About this module
A typical software project involves a great number of tasks and artifacts
handled by different people over an extended period of time. Keeping
this under control requires specific techniques and skills.
Here we discuss:
ā€¢ The software project management plan
ā€¢ Task scheduling
ā€¢ Risk management
ā€¢ Project monitoring and control
ā€¢ Project closure
We defer for other lectures:
ā€¢ Team structure / organization
ā€¢ Team communication / status reporting
ā€¢ Core workflows
ā€¢ Configuration management
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 3
About this module
Recommended:
ā€¢ Rapid development ch. 5
ā€¢ Jalote 5.1.2, 5.2.1-5.2.3, 5.3.1, 5.3.2, 6.4, 9, 13.3.1, 13.3.2
ā€¢ Survival guide ch. 7, 12, 18
Extras:
ā€¢ Rapid development ch. 9 ā€œSchedulingā€
ā€¢ Survival guide ch. 17 ā€œSchedulingā€
ā€¢ Bruegge & Dutoit ch. 11 ā€œProject managementā€
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 4
Some buzzwords
Do not confuse the following similar-sounding notions:
ā€¢ Project = the set of tasks, resources, and artifacts used to produce a
product
ā€¢ Product = valuable outcome of a project
ā€¢ Process = sequence of steps to produce a product, execute a task,
perform an activity
ā€¢ Project management = the activities of planning, budgeting,
monitoring, controlling, and closing projects
ā€¢ Project management plan = a detailed account of the foreseen
evolution of the project
ā€¢ Project management process = the generic steps taken to plan,
execute, close projects
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 5
Challenges
ā€œProject managementā€ is a technical job
As a project manager, you will need to:
ā€¢ Estimate and schedule well
Do your homework
Defend and negotiate your schedule
ā€¢ Foresee and prepare for all mishaps
The target is not reached
External risks
ā€¢ Be informed on how things go and react on the fly
Project monitoring
Project control
ā€¢ Draw lessons from your projects
Both successful and unsuccessful
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 6
Challenges
ā€œLawsā€ of project management [Source: Bruegge & Dutoit]
ā€¢ Projects progress quickly until they are 90% complete. Then they
remain at 90% complete forever.
ā€¢ When things are going well, something will go wrong. When things
just canā€™t get worse, they will. When things appear to be going better,
you have overlooked something.
ā€¢ If project content is allowed to change freely, the rate of change will
exceed the rate of progress.
ā€¢ Project teams detest progress reporting because it manifests their
lack of progress.
A metaphor: managing a bull ride
ā€¢ Plan the bull ride
ā€¢ Execute the bull ride
ā€¢ Assess the damage and learn some lessons
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 7
A metaphor
Roping ā€“ Australian rodeo events
ā€œSuccess depends on roper and
horse working together...ā€
ā€œWhile the experts make the
team roping look easy, nothing
is simple. The first roper, the
header, rides after the steer and
ropes the horns, takes the dally
(wraps the rope) around his
saddle horn and turns the horse
away, leading the steer. A
second roper, the heeler, rides
in, ropes the hind legs and takes
the dally. In an instant, the
horses face the steer, the rope
becomes snug, and the judge
signals time. But if one hind leg
is caught, a five second penalty
is added.ā€
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 8
Project management ā€“ whatā€™s involved?
Project management involves three main groups of activities
ā€¢ Project planning: major decisions, coordinate team and resources
Determine task breakdown & task definition
Schedule tasks
Support go/no-go decisions
ā€¢ Risk management
Assess importance of each risk
Set a strategy to deal with the risk
ā€¢ Project execution: carry out the plan
Monitor and control project parameters
Optimize efficiency
Resolve risks
Replan
ā€¢ Closure: extract useful information from the project
Prepare project data for future use
Prompt process improvements
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 9
Project management ā€“ whatā€™s involved?
Example: car trip from Montreal to Toronto.
ā€¢ Planning:
Check car, road conditions
Go/no-go decision
Check fuel
Fill tank before leave, or fill tank at Cornwall
Drive
Stop at Kingston
Arrive safely 5-6 hours later
ā€¢ Risk management:
Risk: Traffic jam. Contingency: Plan alternate route and carry a map.
Risk: System failure. Contingency: Carry CAA card and a cell phone.
Risk: Car crash. Prevention: Stop midway and get some refreshments.
ā€¢ (Continued on next slide)
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 10
Project management ā€“ whatā€™s involved?
Example: car trip from Montreal to Toronto (continued from last slide)
ā€¢ Execution:
Steer on lane
Keep distance from car in front
Keep to highway speed or legal limit
If drowsy open window
ā€¢ Closure:
Note actual arrival time
Note fuel consumption
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 11
Part 1: Planning
How the plan will be used
ā€¢ Clarify to everyone what to do during the project; get consensus
Minimize the need for revisiting issues later on
ā€¢ Determine and resolve in advance any conflicts
Demands on the resources, staff, etc.
ā€¢ Optimize, explore options
Outcome, chances of success, cost-efficiency, long-term goals
ā€¢ Provide basis for assessing progress on-the-fly
Visualize complex issues
How the plan can NOT be used / pitfalls of project planning
ā€¢ Goad the team into working harder by artificial goals
This usually achieves the adverse effect
Goals should be realistic and supported by rational estimates
ā€¢ Wishful thinking to get buy-in from management & stakeholders
Very short-term and iffy strategy
Will divert a lot efforts and project resources to bad purposes
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 12
The software project management plan
Aim
ā€¢ Vision
ā€¢ Goals
Tasks
ā€¢ Breakdown
ā€¢ Definition / focus
ā€¢ Entry criteria (dependencies)
ā€¢ Exit criteria (sign-off)
Schedule
ā€¢ Task allocation
ā€¢ Resource allocation
People
ā€¢ Decision making authority
ā€¢ Roles, responsibilities, competencies
ā€¢ Escalation
Resources
ā€¢ Tools, technology, training schedule
Risks
ā€¢ Identification
ā€¢ Exposure
ā€¢ Mitigation
ā€¢ Monitoring and resolution
Artifacts
ā€¢ Deliverables
ā€¢ Formats
ā€¢ Change control
Publicizing and monitoring
ā€¢ Timing and content of status reports
ā€¢ Time accounting
Policies, workflows
ā€¢ Requirements
ā€¢ Faults
ā€¢ Issues
ā€¢ Whitepapers
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 13
Example software project plan
After [Jalote, 9.1]
ā€¢ Contract-based development
ā€¢ Example
Project summary
ā€¢ High-level information about project setup
ā€¢ ā€œExternalā€ milestones
Project planning
ā€¢ Assumptions
ā€¢ Process & tailoring, estimates, schedule milestones, deviation limits
ā€¢ Change control, quality plan, project infrastructure: technology, tools, training
ā€¢ Risk management
Project tracking
ā€¢ Monitoring, status reporting, responsibilities
ā€¢ Policies for intervention
Team structure, responsibilities
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 14
Vision
What is the project vision statement?
ā€¢ A short statement that defines the project
E.g. ā€œcreate the first competitive power-aware handheld word processorā€
E.g. ā€œcreate the worldā€™s most memory-efficient digital simulatorā€
ā€¢ Motivate team ā€“ a prerequisite for efficiency
ā€¢ Provide top-level guidance
Will resolve squabbling, avoid side trips, avoid side-issues
What is a good vision statement?
ā€¢ Needs to be challenging, but achievable. Focus on positive aspects.
Example: create a handheld browser that will get 15% market share
Anti-example: create a third-best browser
ā€¢ Define what is unimportant along with what is important
E.g.: a high-speed OS for low-capacity use
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 15
Goals
Resolve priority conflicts
Examples
ā€¢ Sell on the market
ā€¢ Develop for a contract
ā€¢ Develop tools for internal use
ā€¢ Advertise capabilities
ā€¢ Train developers
ā€¢ Assess capability maturity
ā€¢ Improve the organizational process
ā€¢ ...
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 16
Task definition
Task granularity
ā€¢ One person-week
ā€¢ One person-month (rarer)
ā€¢ More recently, may go down to one person-day
Examples of tasks [Bruegge & Dutoit]
ā€¢ Unit test class ā€œFooā€
ā€¢ Test subsystem ā€œBlaā€
ā€¢ Write user manual
ā€¢ Write meeting minutes and post them
ā€¢ Write a memo on NT vs Unix
ā€¢ Schedule a code review
ā€¢ Develop the project plan
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 17
Exit and entry conditions
Exit conditions: define when the task is complete
ā€¢ Tell staff to do it well, report accurately, but not overdo it
ā€¢ Meet the needs of downstream tasks
Sample exit conditions
ā€¢ Inspection/testing
ā€¢ Statistical criteria
Example
ā€¢ Bad task definition
Inspect this item to find as many defects as you can
ā€¢ Good task definition
Find 100-200 defects in this item using this checklist
Sample entry conditions
ā€¢ Task dependencies
ā€¢ Resources/staff availability
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 18
Schedules
Work breakdown structure
ā€¢ Expected task duration
ā€¢ Constraints and task dependencies
Project milestones
ā€¢ Stage release
ā€¢ Completion of major artifacts
ā€¢ QA steps
Allocation of time slots to tasks
ā€¢ Start date
ā€¢ End date
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 19
Schedule charts
Gantt
ā€¢ Task bars
ā€¢ Example on next slide
PERT
ā€¢ ā€œProgram Evaluation and Review Techniqueā€
ā€¢ Task boxes
ā€¢ Example on next slide
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 20
Schedule charts
Storage subsystem
system analysis
1
Nov 13
5d
Nov 19
Storage subsystem
object design
2
Nov 20
5d
Nov 26
Storage subsystem
test plan
5
Nov 27
10d
Dec 10
Storage subsystem
implementation
3
Nov 27
15d
Dec 17
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 21
Scheduling strategies
Directed acyclic graph of task dependencies
Critical path method (CPM)
ā€¢ Critical path
Defined by highest duration from start to finish
ā€¢ Slack time
= latest start time ā€“ earliest start time
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 22
Scheduling strategies
Scheduling non-critical activities
ā€¢ ASAP
Lower probability of schedule overruns
Almost ASAP: Whenever resources become available
ā€¢ ALAP (JIT)
Better use of resources
Almost ALAP: Build in some slack time
ā€¢ Value-based prioritization
ā€¢ Risk-based prioritization
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 23
Team build-up
Recall rules of thumb
ā€¢ Peak team size
ā€¢ Effort vs. schedule
Evolution of staff involved in the project
ā€¢ Approach 1: Rayleigh distribution
Matches the work needs during the project
Start project with a few senior staff [Survival guide]
Some junior staff can review documents, investigate tools, etc.
Appropriate for a larger project
ā€¢ Approach 2: assign all staff together at the beginning
Use the initial work gap for training, getting up to speed
Use the slack in the end for documentation and closure
Applicable for small projects [Jalote]
Big no-no in [Survival guide], after [NASA SEL]
ā€¢ Staged delivery helps smooth out the staff curve
Pipeline principle
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 24
Stage planning
Iterative and incremental model, evolutionary model, XP, etc.
ā€¢ Turn one large project into several sub-projects
ā€¢ Deliver in stages
Minimize risks and overheads
Maximize value to customer
Stage definition
ā€¢ Stage themes
ā€¢ High-risk first
ā€¢ Low-priority last (if ever)
Stage plan
ā€¢ Map out detailed activities
ā€¢ Miniature milestones
Laborious activity
Help track progress and reduce risks
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 25
Stage planning
Activities [Survival guide p. 178]
ā€¢ Requirements updates
Increasing at later stages ā€“ more change request accumulated
ā€¢ Detailed design
May include revision of the architecture
ā€¢ Construction
Goes with detailed design
Daily build and test
ā€¢ Test case creation
In parallel with coding
Based on spec and UI prototype
ā€¢ User documentation updates
ā€¢ Technical reviews
Done by developers
ā€¢ (continued on next slide)
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 26
Stage planning
Activities
ā€¢ (continued from previous slide)
ā€¢ Defect corrections
Done by developers
ā€¢ Technical coordination
Brief team on designs, specifications, etc.
ā€¢ Risk management
Reassess the risks on the list
The list itself might grow
ā€¢ Project tracking
Track miniature milestones
ā€¢ Integration and release
Fit & finish: install program, context-sensitive help, etc.
Ready to release depending on business decisions
ā€¢ End-of-stage wrap-up
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 27
Miniature milestones
Binary: done/not done
Granularity: daily/weekly
Example:
ā€¢ Fixing a set of reported failures
ā€¢ Integration of several sources
ā€¢ Cleaning up quick-and-dirty fixes
Two sets
ā€¢ Get through to detailed design
ā€¢ Get through to release-quality product
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 28
Risk management
Risk management
ā€¢ ā€œAssessmentā€
Identification
Analysis
Prioritization
ā€¢ ā€œControlā€
Resolution
Monitoring
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 29
Risk identification
What is your greatest fear?
ā€¢ Including those you donā€™t know about yet
Risk identification approaches
ā€¢ Maintain a list of top-10 risks
ā€¢ Brainstorming
ā€¢ Surveying
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 30
Top risks
Top schedule risks, adapted from [McConnell, table 5-2]
ā€¢ Feature creep
ā€¢ Gold-plating
ā€¢ Shortchanged early quality
ā€¢ Overly optimistic schedules
ā€¢ Inadequate design
ā€¢ Silver-bullet syndrome (overoptimism on a technology or process)
ā€¢ Research-oriented development
ā€¢ Weak personnel
ā€¢ Contractor failure
ā€¢ Friction between developers and customers (business)
Other top risks
ā€¢ Staff turnover / unavailability
ā€¢ Low motivation
ā€¢ Changes in business environment
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 31
Risk analysis
Risk: ā€œunexpected lossā€
Estimating consequences of loss
ā€¢ Direct estimates: e.g. how long it takes to ā€œfixā€ bad risk outcome
ā€¢ Averaged estimates
ā€¢ Combined estimates
ā€¢ Scale estimates
Estimating probability of loss
ā€¢ More subjective than the size estimate
ā€¢ Aggregate estimates from different persons
ā€¢ Delphi method
A panel of experts converge to group-consensus by eliciting and discussing
anonymous evaluations
ā€¢ Mock betting
ā€¢ Scale, adjective calibration
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 32
Risk prioritization
Risk exposure
RE = probability * consequences
Risks are prioritized in decreasing order of exposure
Example: Jalote
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 33
Risk resolution
Some specific strategies for dealing with a risk
ā€¢ Assume the risk
ā€¢ Avoid the risk
ā€¢ Buy information about the risk
ā€¢ Eliminate the root cause of the risk
ā€¢ Publicize the risk
ā€¢ Transfer the risk from one part of the system to another
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 34
Risk resolution
Levels of risk resolution
ā€¢ Crisis
Do nothing to avoid or react to the risk
Address damage only after risk materializes
ā€¢ Fix on failure
Identify risk
Plan and allocate resources only if risk materializes
ā€¢ Mitigation
Plan resources ahead of time
Minimize risk consequences ahead of time
Execute contingency plan only if risk materializes
ā€¢ Prevention
Resolve risks before undertaking a risky activity
ā€¢ Elimination of root causes
Eradicate the conditions that made risks possible
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 35
Examples
Based on [Beck ā€“ XP]
ā€¢ Schedule slips / project cancelled
Short release cycles (few months); 1-4 week iterations; 1-3 day tasks
Schedule high-risk features first
First release is the smallest release that makes most business sense
ā€¢ System goes sour / defect rate
Regression tests
Refactoring ā€“ prime condition
Tests from programmer and customer perspective
ā€¢ Business misunderstood / business changes
Continuous refinement of specification with customer involvement
Short release cycles
ā€¢ False feature rich
Allow business to prioritize tasks; address only highest-priority tasks
ā€¢ Staff turnover
Empowerment in estimation helps keep staff in project
Collective code ownership reduces exposure if one developer leaves
Explicit models for communication and inclusion of new staff
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 36
Examples
Source: adapted from [Bruegge & Dutoit]
ā€¢ Risk: Members in key roles drop the course.
Contingency: Roles are assigned to somebody else. Functionality of the
system is renegotiated.
ā€¢ Risk: The project is falling behind schedule.
Contingency: Extra project meetings are scheduled.
ā€¢ Risk: One subsystem does not provide the functionality needed by
another subsystem.
Contingency: ?
ā€¢ Risk: The latest version of JDK is not installed in the lab.
Mitigation: ?
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 37
Risk monitoring
Look for warning signs before damage occurs
ā€¢ E.g. schedule slips instead of missing deadline
How to monitor warning signs?
ā€¢ Continuous monitoring by everyone
Too much distraction, responsibility overlap
ā€¢ Reassess risk exposure at discrete times
On milestones
On events such as completion of a task
ā€¢ Continuous monitoring by risk officer
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 38
Project monitoring and control
Between projects
ā€¢ Data collection
Capability baseline
Process baseline
ā€¢ Interventions
Go/no-go decisions using baseline-aware estimates
Project planning (schedule, quality, etc)
Within a project
ā€¢ Data collection
ā€¢ Triggers
Milestones
SPC
ā€¢ Interventions
Corrective action, preventive action
E.g. rescheduling, scope reallocation
E.g. review data interpretation from Jalote
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 39
Data collection
Data collection considerations
ā€¢ Support good decisions
ā€¢ Support good estimates
ā€¢ Hawthorne effect
ā€¢ Avoid too much overhead
Both on producers and on consumers
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 40
Data collection
What data to collect?
ā€¢ Data for progress assessment
Key parameters
Scope
Effort
Schedule
Defects
Other parameters
Size
Classes, functions, dialogs
ā€¢ Data for process improvement
Time accounting
Efficiency of various techniques
E.g. review outcomes vs. test outcomes
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 41
Data collection
Progress assessment
ā€¢ Project indicators (include on status report)
List of tasks completed
Defect statistics
Top 10 risks list
Percent of schedule used
Percent of resources used
ā€¢ Percents: to date, out of total planned
ā€¢ All indicators (including percents): actual vs. planned
Publicizing project indicators
ā€¢ Intranet web site
Example [Survival guide p. 93]
Can be based on revision control system
May include an ā€œanonymous feedbackā€ upload form
ā€¢ Access: all staff, project manager, upper management
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 42
Data collection
Time accounting
ā€¢ Track how teams spend their time
Why?
ā€¢ Organization: basis for process improvements, better estimates
ā€¢ Project: monitor progress, enable project control decisions
How?
ā€¢ Time-accounting programs: enter time data from desks
ā€¢ Time-accounting categories [Survival guide, pp. 108-109]
Management
Administration
Process
Requirements
UI prototyping
Architecture
Detailed design
Implementation
Component acquisition
Integration
System testing
Software release
Metrics
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 43
Interim post-mortems
A good time to reassess is between stages
Data from past iteration to be used for:
ā€¢ Planning the next iteration
ā€¢ Revising the project plan
ā€¢ Enabling project decisions
Interim post-mortems
ā€¢ Compare against baseline
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 44
Intervention triggers
Environment-dependent
ā€¢ Examples
External factors, such as requirements change requests
Business context, such as subcontractor missing deadlines
Risk outcomes, such as technology incompatibility
Project-dependent
ā€¢ Milestone-based
Milestone missed
Several milestones missed
ā€¢ Statistics-based
Variation limits
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 45
Data interpretation
SPC charts
ā€¢ X-bar chart:
Subgroup mean values
Control limits: LCL, UCL
3 sigma
ā€¢ R-chart:
Subgroup ranges
ā€¢ XMR chart:
Individual values
Moving ranges
Control limit: 2.66 moving range average
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 46
Data interpretation
Background
ā€¢ Standard deviation
Measure of spread
Ļƒ = sqrt(Sum (x ā€“ Āµ)2)
ā€¢ Normal distribution
A.k.a. bell curve, Gaussian
Āµ +/āˆ’ Ļƒ : 68%
Āµ +/āˆ’ 2Ļƒ : 95%
Āµ +/āˆ’ 3Ļƒ : 99.7%
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 47
The Gaussian
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 48
Data interpretation
Reading trends
ā€¢ Interpolation/regression
ā€¢ Reconciling estimates
What to do about ā€œbadā€ points
ā€¢ None
ā€¢ Eliminate and re-estimate
ā€¢ Take corrective action: eliminate the cause of deviation
ā€¢ Take preventive action: eliminate causes of other potential problems
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 49
Data interpretation
Examples
ā€¢ Policies for out-of-control review parameters
ā€¢ Policies for project indicators exceeding limit of variation
ā€¢ Determine release quality on the basis of regression curve
QA week #
(normalized)1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Faults found
(log scale)
interpolated
101
102
103
100
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 50
Intervention
Project-level intervention
ā€¢ Release product version
ā€¢ Negotiate deadline
ā€¢ Kill project
ā€¢ Reduce scope
ā€¢ Hire temporary staff
ā€¢ Change policy for responding to events
E.g. freeze any further requirements changes
E.g. do overtime instead of recalibration
ā€¢ Replan
E.g. add/remove risk mitigation steps
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 51
Intervention
Stage-level intervention: what to do when miniature milestones are not
met
ā€¢ Recalibrate the developerā€™s schedule
Keep to optimal 8-hour days
ā€¢ Trim down feature set
ā€¢ Clear away some distractions
ā€¢ Reassign parts of the project to other staff
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 52
Project closure
Extract useful information about the project
ā€¢ Update all project plan information as it actually turned out
ā€¢ Collect metrics, hard data from status reports
ā€¢ Collect subjective impressions about what worked and what not
ā€¢ Collect lessons learned: what worked, what not
About each activity in the project: planning, requirements, dev, testing
About new technology
About new techniques and processes
Update project-planning checklist and top 10 risk list
Why?
ā€¢ Add to the baseline for future estimates
ā€¢ Improve process
ā€¢ Build foundation for future success
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 53
Debriefing team members
Project review meeting [Survival guide, ch. 18]
ā€¢ Moderator: all sides of the issue are discussed, avoid getting mired in
a single issue
Questionnaire
ā€¢ Generic rating questions
Change control policy: too restrictive, just right, too lax
ā€¢ Targeted rating questions
ā€œActive design reviewsā€ compared to our usual technical reviews were:
effective, about the same, ineffective
ā€¢ Open-ended questions
ā€¢ Free-form comments
McGill University ECSE 428 Ā© 2004 Radu Negulescu
Software Engineering Practice Project managementā€”Slide 54
Discussion
Thank you!
Any questions?

More Related Content

What's hot

Lecture-3: Traditional Approaches to System Development and Enterprise Engine...
Lecture-3: Traditional Approaches to System Development and Enterprise Engine...Lecture-3: Traditional Approaches to System Development and Enterprise Engine...
Lecture-3: Traditional Approaches to System Development and Enterprise Engine...Mubashir Ali
Ā 
Paradigm Shift for Project Managers in Agile Projects
Paradigm Shift for Project Managers in Agile ProjectsParadigm Shift for Project Managers in Agile Projects
Paradigm Shift for Project Managers in Agile ProjectsBharani M
Ā 
A Beginner's Guide to IT Project Management
A Beginner's Guide to IT Project ManagementA Beginner's Guide to IT Project Management
A Beginner's Guide to IT Project ManagementWorkfront
Ā 
Introduction of software project management
Introduction of software project managementIntroduction of software project management
Introduction of software project managementREHMAT ULLAH
Ā 
Project management and information technology context
Project management and information technology contextProject management and information technology context
Project management and information technology contextDhani Ahmad
Ā 
The project management and information technology context
The project management and information technology contextThe project management and information technology context
The project management and information technology contextAfdalArifAmandaPutra
Ā 
Ieee sw small_projects
Ieee sw small_projectsIeee sw small_projects
Ieee sw small_projectsmanoharbalu
Ā 
Project management IT Project Management
Project management IT Project Management Project management IT Project Management
Project management IT Project Management Amanda Haddad
Ā 
Agile methodologies in_project_management
Agile methodologies in_project_managementAgile methodologies in_project_management
Agile methodologies in_project_managementPravin Asar
Ā 
Project management (A Basic Approach)
Project management (A Basic Approach)Project management (A Basic Approach)
Project management (A Basic Approach)Jed Concepcion
Ā 
Spm lecture-2
Spm lecture-2Spm lecture-2
Spm lecture-2Sulman Ahmed
Ā 
Software engg. pressman_ch-21
Software engg. pressman_ch-21Software engg. pressman_ch-21
Software engg. pressman_ch-21Dhairya Joshi
Ā 
Project Management case analysis
Project Management case analysisProject Management case analysis
Project Management case analysisWakas Khalid
Ā 
Specialized estimation tech
Specialized estimation techSpecialized estimation tech
Specialized estimation techsavitamhaske
Ā 
JAD - Joint Applications Development
JAD - Joint Applications DevelopmentJAD - Joint Applications Development
JAD - Joint Applications DevelopmentJohn Crosby
Ā 
PM Chapter on Agile IT Project Management Methods
PM Chapter on Agile IT Project Management MethodsPM Chapter on Agile IT Project Management Methods
PM Chapter on Agile IT Project Management MethodsGlen Alleman
Ā 
software management, project management,
software management, project management,software management, project management,
software management, project management,Lisa Elisa
Ā 
Program Management Office Lean Software Development and Six Sigma
Program Management Office Lean Software Development and Six SigmaProgram Management Office Lean Software Development and Six Sigma
Program Management Office Lean Software Development and Six SigmaGlen Alleman
Ā 

What's hot (20)

Lecture-3: Traditional Approaches to System Development and Enterprise Engine...
Lecture-3: Traditional Approaches to System Development and Enterprise Engine...Lecture-3: Traditional Approaches to System Development and Enterprise Engine...
Lecture-3: Traditional Approaches to System Development and Enterprise Engine...
Ā 
Paradigm Shift for Project Managers in Agile Projects
Paradigm Shift for Project Managers in Agile ProjectsParadigm Shift for Project Managers in Agile Projects
Paradigm Shift for Project Managers in Agile Projects
Ā 
A Beginner's Guide to IT Project Management
A Beginner's Guide to IT Project ManagementA Beginner's Guide to IT Project Management
A Beginner's Guide to IT Project Management
Ā 
Introduction of software project management
Introduction of software project managementIntroduction of software project management
Introduction of software project management
Ā 
Project management and information technology context
Project management and information technology contextProject management and information technology context
Project management and information technology context
Ā 
The project management and information technology context
The project management and information technology contextThe project management and information technology context
The project management and information technology context
Ā 
Ieee sw small_projects
Ieee sw small_projectsIeee sw small_projects
Ieee sw small_projects
Ā 
Project management IT Project Management
Project management IT Project Management Project management IT Project Management
Project management IT Project Management
Ā 
Agile methodologies in_project_management
Agile methodologies in_project_managementAgile methodologies in_project_management
Agile methodologies in_project_management
Ā 
Project management (A Basic Approach)
Project management (A Basic Approach)Project management (A Basic Approach)
Project management (A Basic Approach)
Ā 
Spm lecture-2
Spm lecture-2Spm lecture-2
Spm lecture-2
Ā 
CRISC Course Preview
CRISC Course PreviewCRISC Course Preview
CRISC Course Preview
Ā 
Pm Student Ho
Pm Student HoPm Student Ho
Pm Student Ho
Ā 
Software engg. pressman_ch-21
Software engg. pressman_ch-21Software engg. pressman_ch-21
Software engg. pressman_ch-21
Ā 
Project Management case analysis
Project Management case analysisProject Management case analysis
Project Management case analysis
Ā 
Specialized estimation tech
Specialized estimation techSpecialized estimation tech
Specialized estimation tech
Ā 
JAD - Joint Applications Development
JAD - Joint Applications DevelopmentJAD - Joint Applications Development
JAD - Joint Applications Development
Ā 
PM Chapter on Agile IT Project Management Methods
PM Chapter on Agile IT Project Management MethodsPM Chapter on Agile IT Project Management Methods
PM Chapter on Agile IT Project Management Methods
Ā 
software management, project management,
software management, project management,software management, project management,
software management, project management,
Ā 
Program Management Office Lean Software Development and Six Sigma
Program Management Office Lean Software Development and Six SigmaProgram Management Office Lean Software Development and Six Sigma
Program Management Office Lean Software Development and Six Sigma
Ā 

Similar to Software Engineering Practice - Project management

Intro to Software Engineering - Life Cycle Models
Intro to Software Engineering - Life Cycle ModelsIntro to Software Engineering - Life Cycle Models
Intro to Software Engineering - Life Cycle ModelsRadu_Negulescu
Ā 
Project management part 1
Project management part 1Project management part 1
Project management part 1hkbhadraa
Ā 
Software Engineering Practice - Advanced Development Methodologies
Software Engineering Practice - Advanced Development MethodologiesSoftware Engineering Practice - Advanced Development Methodologies
Software Engineering Practice - Advanced Development MethodologiesRadu_Negulescu
Ā 
You have a project manager yay
You have a project manager   yayYou have a project manager   yay
You have a project manager yayMartin Bailey
Ā 
Computer current applications
Computer current applicationsComputer current applications
Computer current applicationsMohamad Eldehemy
Ā 
Project Management in Information Technologies
Project Management in Information TechnologiesProject Management in Information Technologies
Project Management in Information TechnologiesC.T.Co
Ā 
Introduction to Software Project Management
Introduction to Software Project ManagementIntroduction to Software Project Management
Introduction to Software Project ManagementReetesh Gupta
Ā 
Student feedback system
Student feedback systemStudent feedback system
Student feedback systemmsandbhor
Ā 
Introduction to ict project management
Introduction to ict project managementIntroduction to ict project management
Introduction to ict project managementmanproy
Ā 
software project management
software project managementsoftware project management
software project managementAnkit Gupta
Ā 
PrincĆ­pios da GestĆ£o Ɓgil
PrincĆ­pios da GestĆ£o ƁgilPrincĆ­pios da GestĆ£o Ɓgil
PrincĆ­pios da GestĆ£o ƁgilClaudia Melo
Ā 
Software Development Methodologies
Software Development Methodologies Software Development Methodologies
Software Development Methodologies Frances Coronel
Ā 
Scaling Agile - Multiple Team Dynamics
Scaling Agile - Multiple Team DynamicsScaling Agile - Multiple Team Dynamics
Scaling Agile - Multiple Team DynamicsVersionOne
Ā 
Seminar on development based project
Seminar on development based projectSeminar on development based project
Seminar on development based projectMd. Mahfujur Rahman
Ā 

Similar to Software Engineering Practice - Project management (20)

Intro to Software Engineering - Life Cycle Models
Intro to Software Engineering - Life Cycle ModelsIntro to Software Engineering - Life Cycle Models
Intro to Software Engineering - Life Cycle Models
Ā 
Project management part 1
Project management part 1Project management part 1
Project management part 1
Ā 
Software Engineering Practice - Advanced Development Methodologies
Software Engineering Practice - Advanced Development MethodologiesSoftware Engineering Practice - Advanced Development Methodologies
Software Engineering Practice - Advanced Development Methodologies
Ā 
You have a project manager yay
You have a project manager   yayYou have a project manager   yay
You have a project manager yay
Ā 
Lec1
Lec1Lec1
Lec1
Ā 
Computer current applications
Computer current applicationsComputer current applications
Computer current applications
Ā 
Cs414 lec1 f2014
Cs414 lec1 f2014Cs414 lec1 f2014
Cs414 lec1 f2014
Ā 
Unit 1 spm
Unit 1  spmUnit 1  spm
Unit 1 spm
Ā 
Unit 1 spm
Unit 1  spmUnit 1  spm
Unit 1 spm
Ā 
Project Management in Information Technologies
Project Management in Information TechnologiesProject Management in Information Technologies
Project Management in Information Technologies
Ā 
Introduction to Software Project Management
Introduction to Software Project ManagementIntroduction to Software Project Management
Introduction to Software Project Management
Ā 
Sysdev
SysdevSysdev
Sysdev
Ā 
Project Management
Project ManagementProject Management
Project Management
Ā 
Student feedback system
Student feedback systemStudent feedback system
Student feedback system
Ā 
Introduction to ict project management
Introduction to ict project managementIntroduction to ict project management
Introduction to ict project management
Ā 
software project management
software project managementsoftware project management
software project management
Ā 
PrincĆ­pios da GestĆ£o Ɓgil
PrincĆ­pios da GestĆ£o ƁgilPrincĆ­pios da GestĆ£o Ɓgil
PrincĆ­pios da GestĆ£o Ɓgil
Ā 
Software Development Methodologies
Software Development Methodologies Software Development Methodologies
Software Development Methodologies
Ā 
Scaling Agile - Multiple Team Dynamics
Scaling Agile - Multiple Team DynamicsScaling Agile - Multiple Team Dynamics
Scaling Agile - Multiple Team Dynamics
Ā 
Seminar on development based project
Seminar on development based projectSeminar on development based project
Seminar on development based project
Ā 

More from Radu_Negulescu

Intro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality AssuranceIntro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality AssuranceRadu_Negulescu
Ā 
Final Exam Solutions Fall02
Final Exam Solutions Fall02Final Exam Solutions Fall02
Final Exam Solutions Fall02Radu_Negulescu
Ā 
Final Exam Questions Fall03
Final Exam Questions Fall03Final Exam Questions Fall03
Final Exam Questions Fall03Radu_Negulescu
Ā 
Midterm Exam Solutions Fall03
Midterm Exam Solutions Fall03Midterm Exam Solutions Fall03
Midterm Exam Solutions Fall03Radu_Negulescu
Ā 
Midterm Exam Solutions Fall02
Midterm Exam Solutions Fall02Midterm Exam Solutions Fall02
Midterm Exam Solutions Fall02Radu_Negulescu
Ā 
Intro to Software Engineering - Software Testing
Intro to Software Engineering - Software TestingIntro to Software Engineering - Software Testing
Intro to Software Engineering - Software TestingRadu_Negulescu
Ā 
Intro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality AssuranceIntro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality AssuranceRadu_Negulescu
Ā 
Intro to Software Engineering - Software Design
Intro to Software Engineering - Software DesignIntro to Software Engineering - Software Design
Intro to Software Engineering - Software DesignRadu_Negulescu
Ā 
Intro to Software Engineering - Module Design
Intro to Software Engineering - Module DesignIntro to Software Engineering - Module Design
Intro to Software Engineering - Module DesignRadu_Negulescu
Ā 
Intro to Software Engineering - Requirements Analysis
Intro to Software Engineering - Requirements AnalysisIntro to Software Engineering - Requirements Analysis
Intro to Software Engineering - Requirements AnalysisRadu_Negulescu
Ā 
Intro to Software Engineering - Coding Standards
Intro to Software Engineering - Coding StandardsIntro to Software Engineering - Coding Standards
Intro to Software Engineering - Coding StandardsRadu_Negulescu
Ā 
Software Engineering Practice - Software Quality Management
Software Engineering Practice - Software Quality ManagementSoftware Engineering Practice - Software Quality Management
Software Engineering Practice - Software Quality ManagementRadu_Negulescu
Ā 
Software Engineering Practice - Software Metrics and Estimation
Software Engineering Practice - Software Metrics and EstimationSoftware Engineering Practice - Software Metrics and Estimation
Software Engineering Practice - Software Metrics and EstimationRadu_Negulescu
Ā 
Software Engineering Practice - Software Business Basics
Software Engineering Practice - Software Business BasicsSoftware Engineering Practice - Software Business Basics
Software Engineering Practice - Software Business BasicsRadu_Negulescu
Ā 
Software Engineering Practice - Configuration management
Software Engineering Practice - Configuration managementSoftware Engineering Practice - Configuration management
Software Engineering Practice - Configuration managementRadu_Negulescu
Ā 

More from Radu_Negulescu (15)

Intro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality AssuranceIntro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality Assurance
Ā 
Final Exam Solutions Fall02
Final Exam Solutions Fall02Final Exam Solutions Fall02
Final Exam Solutions Fall02
Ā 
Final Exam Questions Fall03
Final Exam Questions Fall03Final Exam Questions Fall03
Final Exam Questions Fall03
Ā 
Midterm Exam Solutions Fall03
Midterm Exam Solutions Fall03Midterm Exam Solutions Fall03
Midterm Exam Solutions Fall03
Ā 
Midterm Exam Solutions Fall02
Midterm Exam Solutions Fall02Midterm Exam Solutions Fall02
Midterm Exam Solutions Fall02
Ā 
Intro to Software Engineering - Software Testing
Intro to Software Engineering - Software TestingIntro to Software Engineering - Software Testing
Intro to Software Engineering - Software Testing
Ā 
Intro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality AssuranceIntro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality Assurance
Ā 
Intro to Software Engineering - Software Design
Intro to Software Engineering - Software DesignIntro to Software Engineering - Software Design
Intro to Software Engineering - Software Design
Ā 
Intro to Software Engineering - Module Design
Intro to Software Engineering - Module DesignIntro to Software Engineering - Module Design
Intro to Software Engineering - Module Design
Ā 
Intro to Software Engineering - Requirements Analysis
Intro to Software Engineering - Requirements AnalysisIntro to Software Engineering - Requirements Analysis
Intro to Software Engineering - Requirements Analysis
Ā 
Intro to Software Engineering - Coding Standards
Intro to Software Engineering - Coding StandardsIntro to Software Engineering - Coding Standards
Intro to Software Engineering - Coding Standards
Ā 
Software Engineering Practice - Software Quality Management
Software Engineering Practice - Software Quality ManagementSoftware Engineering Practice - Software Quality Management
Software Engineering Practice - Software Quality Management
Ā 
Software Engineering Practice - Software Metrics and Estimation
Software Engineering Practice - Software Metrics and EstimationSoftware Engineering Practice - Software Metrics and Estimation
Software Engineering Practice - Software Metrics and Estimation
Ā 
Software Engineering Practice - Software Business Basics
Software Engineering Practice - Software Business BasicsSoftware Engineering Practice - Software Business Basics
Software Engineering Practice - Software Business Basics
Ā 
Software Engineering Practice - Configuration management
Software Engineering Practice - Configuration managementSoftware Engineering Practice - Configuration management
Software Engineering Practice - Configuration management
Ā 

Recently uploaded

Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deckPitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deckHajeJanKamps
Ā 
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
8447779800, Low rate Call girls in Uttam Nagar Delhi NCRashishs7044
Ā 
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu MenzaYouth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu Menzaictsugar
Ā 
Call Us šŸ“²8800102216šŸ“ž Call Girls In DLF City Gurgaon
Call Us šŸ“²8800102216šŸ“ž Call Girls In DLF City GurgaonCall Us šŸ“²8800102216šŸ“ž Call Girls In DLF City Gurgaon
Call Us šŸ“²8800102216šŸ“ž Call Girls In DLF City Gurgaoncallgirls2057
Ā 
APRIL2024_UKRAINE_xml_0000000000000 .pdf
APRIL2024_UKRAINE_xml_0000000000000 .pdfAPRIL2024_UKRAINE_xml_0000000000000 .pdf
APRIL2024_UKRAINE_xml_0000000000000 .pdfRbc Rbcua
Ā 
Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024Kirill Klimov
Ā 
Global Scenario On Sustainable and Resilient Coconut Industry by Dr. Jelfina...
Global Scenario On Sustainable  and Resilient Coconut Industry by Dr. Jelfina...Global Scenario On Sustainable  and Resilient Coconut Industry by Dr. Jelfina...
Global Scenario On Sustainable and Resilient Coconut Industry by Dr. Jelfina...ictsugar
Ā 
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptxContemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptxMarkAnthonyAurellano
Ā 
Market Sizes Sample Report - 2024 Edition
Market Sizes Sample Report - 2024 EditionMarket Sizes Sample Report - 2024 Edition
Market Sizes Sample Report - 2024 EditionMintel Group
Ā 
Intro to BCG's Carbon Emissions Benchmark_vF.pdf
Intro to BCG's Carbon Emissions Benchmark_vF.pdfIntro to BCG's Carbon Emissions Benchmark_vF.pdf
Intro to BCG's Carbon Emissions Benchmark_vF.pdfpollardmorgan
Ā 
Islamabad Escorts | Call 03070433345 | Escort Service in Islamabad
Islamabad Escorts | Call 03070433345 | Escort Service in IslamabadIslamabad Escorts | Call 03070433345 | Escort Service in Islamabad
Islamabad Escorts | Call 03070433345 | Escort Service in IslamabadAyesha Khan
Ā 
Call Girls Miyapur 7001305949 all area service COD available Any Time
Call Girls Miyapur 7001305949 all area service COD available Any TimeCall Girls Miyapur 7001305949 all area service COD available Any Time
Call Girls Miyapur 7001305949 all area service COD available Any Timedelhimodelshub1
Ā 
Investment in The Coconut Industry by Nancy Cheruiyot
Investment in The Coconut Industry by Nancy CheruiyotInvestment in The Coconut Industry by Nancy Cheruiyot
Investment in The Coconut Industry by Nancy Cheruiyotictsugar
Ā 
8447779800, Low rate Call girls in Saket Delhi NCR
8447779800, Low rate Call girls in Saket Delhi NCR8447779800, Low rate Call girls in Saket Delhi NCR
8447779800, Low rate Call girls in Saket Delhi NCRashishs7044
Ā 
Digital Transformation in the PLM domain - distrib.pdf
Digital Transformation in the PLM domain - distrib.pdfDigital Transformation in the PLM domain - distrib.pdf
Digital Transformation in the PLM domain - distrib.pdfJos Voskuil
Ā 
8447779800, Low rate Call girls in Tughlakabad Delhi NCR
8447779800, Low rate Call girls in Tughlakabad Delhi NCR8447779800, Low rate Call girls in Tughlakabad Delhi NCR
8447779800, Low rate Call girls in Tughlakabad Delhi NCRashishs7044
Ā 
BEST Call Girls In Greater Noida āœØ 9773824855 āœØ Escorts Service In Delhi Ncr,
BEST Call Girls In Greater Noida āœØ 9773824855 āœØ Escorts Service In Delhi Ncr,BEST Call Girls In Greater Noida āœØ 9773824855 āœØ Escorts Service In Delhi Ncr,
BEST Call Girls In Greater Noida āœØ 9773824855 āœØ Escorts Service In Delhi Ncr,noida100girls
Ā 
Call US-88OO1O2216 Call Girls In Mahipalpur Female Escort Service
Call US-88OO1O2216 Call Girls In Mahipalpur Female Escort ServiceCall US-88OO1O2216 Call Girls In Mahipalpur Female Escort Service
Call US-88OO1O2216 Call Girls In Mahipalpur Female Escort Servicecallgirls2057
Ā 
Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03DallasHaselhorst
Ā 

Recently uploaded (20)

Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deckPitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Ā 
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
Ā 
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu MenzaYouth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
Ā 
Call Us šŸ“²8800102216šŸ“ž Call Girls In DLF City Gurgaon
Call Us šŸ“²8800102216šŸ“ž Call Girls In DLF City GurgaonCall Us šŸ“²8800102216šŸ“ž Call Girls In DLF City Gurgaon
Call Us šŸ“²8800102216šŸ“ž Call Girls In DLF City Gurgaon
Ā 
APRIL2024_UKRAINE_xml_0000000000000 .pdf
APRIL2024_UKRAINE_xml_0000000000000 .pdfAPRIL2024_UKRAINE_xml_0000000000000 .pdf
APRIL2024_UKRAINE_xml_0000000000000 .pdf
Ā 
Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024
Ā 
Global Scenario On Sustainable and Resilient Coconut Industry by Dr. Jelfina...
Global Scenario On Sustainable  and Resilient Coconut Industry by Dr. Jelfina...Global Scenario On Sustainable  and Resilient Coconut Industry by Dr. Jelfina...
Global Scenario On Sustainable and Resilient Coconut Industry by Dr. Jelfina...
Ā 
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptxContemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
Ā 
Market Sizes Sample Report - 2024 Edition
Market Sizes Sample Report - 2024 EditionMarket Sizes Sample Report - 2024 Edition
Market Sizes Sample Report - 2024 Edition
Ā 
Intro to BCG's Carbon Emissions Benchmark_vF.pdf
Intro to BCG's Carbon Emissions Benchmark_vF.pdfIntro to BCG's Carbon Emissions Benchmark_vF.pdf
Intro to BCG's Carbon Emissions Benchmark_vF.pdf
Ā 
Islamabad Escorts | Call 03070433345 | Escort Service in Islamabad
Islamabad Escorts | Call 03070433345 | Escort Service in IslamabadIslamabad Escorts | Call 03070433345 | Escort Service in Islamabad
Islamabad Escorts | Call 03070433345 | Escort Service in Islamabad
Ā 
Call Girls Miyapur 7001305949 all area service COD available Any Time
Call Girls Miyapur 7001305949 all area service COD available Any TimeCall Girls Miyapur 7001305949 all area service COD available Any Time
Call Girls Miyapur 7001305949 all area service COD available Any Time
Ā 
Investment in The Coconut Industry by Nancy Cheruiyot
Investment in The Coconut Industry by Nancy CheruiyotInvestment in The Coconut Industry by Nancy Cheruiyot
Investment in The Coconut Industry by Nancy Cheruiyot
Ā 
8447779800, Low rate Call girls in Saket Delhi NCR
8447779800, Low rate Call girls in Saket Delhi NCR8447779800, Low rate Call girls in Saket Delhi NCR
8447779800, Low rate Call girls in Saket Delhi NCR
Ā 
Digital Transformation in the PLM domain - distrib.pdf
Digital Transformation in the PLM domain - distrib.pdfDigital Transformation in the PLM domain - distrib.pdf
Digital Transformation in the PLM domain - distrib.pdf
Ā 
8447779800, Low rate Call girls in Tughlakabad Delhi NCR
8447779800, Low rate Call girls in Tughlakabad Delhi NCR8447779800, Low rate Call girls in Tughlakabad Delhi NCR
8447779800, Low rate Call girls in Tughlakabad Delhi NCR
Ā 
BEST Call Girls In Greater Noida āœØ 9773824855 āœØ Escorts Service In Delhi Ncr,
BEST Call Girls In Greater Noida āœØ 9773824855 āœØ Escorts Service In Delhi Ncr,BEST Call Girls In Greater Noida āœØ 9773824855 āœØ Escorts Service In Delhi Ncr,
BEST Call Girls In Greater Noida āœØ 9773824855 āœØ Escorts Service In Delhi Ncr,
Ā 
Japan IT Week 2024 Brochure by 47Billion (English)
Japan IT Week 2024 Brochure by 47Billion (English)Japan IT Week 2024 Brochure by 47Billion (English)
Japan IT Week 2024 Brochure by 47Billion (English)
Ā 
Call US-88OO1O2216 Call Girls In Mahipalpur Female Escort Service
Call US-88OO1O2216 Call Girls In Mahipalpur Female Escort ServiceCall US-88OO1O2216 Call Girls In Mahipalpur Female Escort Service
Call US-88OO1O2216 Call Girls In Mahipalpur Female Escort Service
Ā 
Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03
Ā 

Software Engineering Practice - Project management

  • 1. Project management McGill ECSE 428 Software Engineering Practice Radu Negulescu Winter 2004
  • 2. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 2 About this module A typical software project involves a great number of tasks and artifacts handled by different people over an extended period of time. Keeping this under control requires specific techniques and skills. Here we discuss: ā€¢ The software project management plan ā€¢ Task scheduling ā€¢ Risk management ā€¢ Project monitoring and control ā€¢ Project closure We defer for other lectures: ā€¢ Team structure / organization ā€¢ Team communication / status reporting ā€¢ Core workflows ā€¢ Configuration management
  • 3. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 3 About this module Recommended: ā€¢ Rapid development ch. 5 ā€¢ Jalote 5.1.2, 5.2.1-5.2.3, 5.3.1, 5.3.2, 6.4, 9, 13.3.1, 13.3.2 ā€¢ Survival guide ch. 7, 12, 18 Extras: ā€¢ Rapid development ch. 9 ā€œSchedulingā€ ā€¢ Survival guide ch. 17 ā€œSchedulingā€ ā€¢ Bruegge & Dutoit ch. 11 ā€œProject managementā€
  • 4. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 4 Some buzzwords Do not confuse the following similar-sounding notions: ā€¢ Project = the set of tasks, resources, and artifacts used to produce a product ā€¢ Product = valuable outcome of a project ā€¢ Process = sequence of steps to produce a product, execute a task, perform an activity ā€¢ Project management = the activities of planning, budgeting, monitoring, controlling, and closing projects ā€¢ Project management plan = a detailed account of the foreseen evolution of the project ā€¢ Project management process = the generic steps taken to plan, execute, close projects
  • 5. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 5 Challenges ā€œProject managementā€ is a technical job As a project manager, you will need to: ā€¢ Estimate and schedule well Do your homework Defend and negotiate your schedule ā€¢ Foresee and prepare for all mishaps The target is not reached External risks ā€¢ Be informed on how things go and react on the fly Project monitoring Project control ā€¢ Draw lessons from your projects Both successful and unsuccessful
  • 6. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 6 Challenges ā€œLawsā€ of project management [Source: Bruegge & Dutoit] ā€¢ Projects progress quickly until they are 90% complete. Then they remain at 90% complete forever. ā€¢ When things are going well, something will go wrong. When things just canā€™t get worse, they will. When things appear to be going better, you have overlooked something. ā€¢ If project content is allowed to change freely, the rate of change will exceed the rate of progress. ā€¢ Project teams detest progress reporting because it manifests their lack of progress. A metaphor: managing a bull ride ā€¢ Plan the bull ride ā€¢ Execute the bull ride ā€¢ Assess the damage and learn some lessons
  • 7. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 7 A metaphor Roping ā€“ Australian rodeo events ā€œSuccess depends on roper and horse working together...ā€ ā€œWhile the experts make the team roping look easy, nothing is simple. The first roper, the header, rides after the steer and ropes the horns, takes the dally (wraps the rope) around his saddle horn and turns the horse away, leading the steer. A second roper, the heeler, rides in, ropes the hind legs and takes the dally. In an instant, the horses face the steer, the rope becomes snug, and the judge signals time. But if one hind leg is caught, a five second penalty is added.ā€
  • 8. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 8 Project management ā€“ whatā€™s involved? Project management involves three main groups of activities ā€¢ Project planning: major decisions, coordinate team and resources Determine task breakdown & task definition Schedule tasks Support go/no-go decisions ā€¢ Risk management Assess importance of each risk Set a strategy to deal with the risk ā€¢ Project execution: carry out the plan Monitor and control project parameters Optimize efficiency Resolve risks Replan ā€¢ Closure: extract useful information from the project Prepare project data for future use Prompt process improvements
  • 9. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 9 Project management ā€“ whatā€™s involved? Example: car trip from Montreal to Toronto. ā€¢ Planning: Check car, road conditions Go/no-go decision Check fuel Fill tank before leave, or fill tank at Cornwall Drive Stop at Kingston Arrive safely 5-6 hours later ā€¢ Risk management: Risk: Traffic jam. Contingency: Plan alternate route and carry a map. Risk: System failure. Contingency: Carry CAA card and a cell phone. Risk: Car crash. Prevention: Stop midway and get some refreshments. ā€¢ (Continued on next slide)
  • 10. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 10 Project management ā€“ whatā€™s involved? Example: car trip from Montreal to Toronto (continued from last slide) ā€¢ Execution: Steer on lane Keep distance from car in front Keep to highway speed or legal limit If drowsy open window ā€¢ Closure: Note actual arrival time Note fuel consumption
  • 11. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 11 Part 1: Planning How the plan will be used ā€¢ Clarify to everyone what to do during the project; get consensus Minimize the need for revisiting issues later on ā€¢ Determine and resolve in advance any conflicts Demands on the resources, staff, etc. ā€¢ Optimize, explore options Outcome, chances of success, cost-efficiency, long-term goals ā€¢ Provide basis for assessing progress on-the-fly Visualize complex issues How the plan can NOT be used / pitfalls of project planning ā€¢ Goad the team into working harder by artificial goals This usually achieves the adverse effect Goals should be realistic and supported by rational estimates ā€¢ Wishful thinking to get buy-in from management & stakeholders Very short-term and iffy strategy Will divert a lot efforts and project resources to bad purposes
  • 12. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 12 The software project management plan Aim ā€¢ Vision ā€¢ Goals Tasks ā€¢ Breakdown ā€¢ Definition / focus ā€¢ Entry criteria (dependencies) ā€¢ Exit criteria (sign-off) Schedule ā€¢ Task allocation ā€¢ Resource allocation People ā€¢ Decision making authority ā€¢ Roles, responsibilities, competencies ā€¢ Escalation Resources ā€¢ Tools, technology, training schedule Risks ā€¢ Identification ā€¢ Exposure ā€¢ Mitigation ā€¢ Monitoring and resolution Artifacts ā€¢ Deliverables ā€¢ Formats ā€¢ Change control Publicizing and monitoring ā€¢ Timing and content of status reports ā€¢ Time accounting Policies, workflows ā€¢ Requirements ā€¢ Faults ā€¢ Issues ā€¢ Whitepapers
  • 13. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 13 Example software project plan After [Jalote, 9.1] ā€¢ Contract-based development ā€¢ Example Project summary ā€¢ High-level information about project setup ā€¢ ā€œExternalā€ milestones Project planning ā€¢ Assumptions ā€¢ Process & tailoring, estimates, schedule milestones, deviation limits ā€¢ Change control, quality plan, project infrastructure: technology, tools, training ā€¢ Risk management Project tracking ā€¢ Monitoring, status reporting, responsibilities ā€¢ Policies for intervention Team structure, responsibilities
  • 14. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 14 Vision What is the project vision statement? ā€¢ A short statement that defines the project E.g. ā€œcreate the first competitive power-aware handheld word processorā€ E.g. ā€œcreate the worldā€™s most memory-efficient digital simulatorā€ ā€¢ Motivate team ā€“ a prerequisite for efficiency ā€¢ Provide top-level guidance Will resolve squabbling, avoid side trips, avoid side-issues What is a good vision statement? ā€¢ Needs to be challenging, but achievable. Focus on positive aspects. Example: create a handheld browser that will get 15% market share Anti-example: create a third-best browser ā€¢ Define what is unimportant along with what is important E.g.: a high-speed OS for low-capacity use
  • 15. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 15 Goals Resolve priority conflicts Examples ā€¢ Sell on the market ā€¢ Develop for a contract ā€¢ Develop tools for internal use ā€¢ Advertise capabilities ā€¢ Train developers ā€¢ Assess capability maturity ā€¢ Improve the organizational process ā€¢ ...
  • 16. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 16 Task definition Task granularity ā€¢ One person-week ā€¢ One person-month (rarer) ā€¢ More recently, may go down to one person-day Examples of tasks [Bruegge & Dutoit] ā€¢ Unit test class ā€œFooā€ ā€¢ Test subsystem ā€œBlaā€ ā€¢ Write user manual ā€¢ Write meeting minutes and post them ā€¢ Write a memo on NT vs Unix ā€¢ Schedule a code review ā€¢ Develop the project plan
  • 17. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 17 Exit and entry conditions Exit conditions: define when the task is complete ā€¢ Tell staff to do it well, report accurately, but not overdo it ā€¢ Meet the needs of downstream tasks Sample exit conditions ā€¢ Inspection/testing ā€¢ Statistical criteria Example ā€¢ Bad task definition Inspect this item to find as many defects as you can ā€¢ Good task definition Find 100-200 defects in this item using this checklist Sample entry conditions ā€¢ Task dependencies ā€¢ Resources/staff availability
  • 18. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 18 Schedules Work breakdown structure ā€¢ Expected task duration ā€¢ Constraints and task dependencies Project milestones ā€¢ Stage release ā€¢ Completion of major artifacts ā€¢ QA steps Allocation of time slots to tasks ā€¢ Start date ā€¢ End date
  • 19. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 19 Schedule charts Gantt ā€¢ Task bars ā€¢ Example on next slide PERT ā€¢ ā€œProgram Evaluation and Review Techniqueā€ ā€¢ Task boxes ā€¢ Example on next slide
  • 20. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 20 Schedule charts Storage subsystem system analysis 1 Nov 13 5d Nov 19 Storage subsystem object design 2 Nov 20 5d Nov 26 Storage subsystem test plan 5 Nov 27 10d Dec 10 Storage subsystem implementation 3 Nov 27 15d Dec 17
  • 21. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 21 Scheduling strategies Directed acyclic graph of task dependencies Critical path method (CPM) ā€¢ Critical path Defined by highest duration from start to finish ā€¢ Slack time = latest start time ā€“ earliest start time
  • 22. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 22 Scheduling strategies Scheduling non-critical activities ā€¢ ASAP Lower probability of schedule overruns Almost ASAP: Whenever resources become available ā€¢ ALAP (JIT) Better use of resources Almost ALAP: Build in some slack time ā€¢ Value-based prioritization ā€¢ Risk-based prioritization
  • 23. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 23 Team build-up Recall rules of thumb ā€¢ Peak team size ā€¢ Effort vs. schedule Evolution of staff involved in the project ā€¢ Approach 1: Rayleigh distribution Matches the work needs during the project Start project with a few senior staff [Survival guide] Some junior staff can review documents, investigate tools, etc. Appropriate for a larger project ā€¢ Approach 2: assign all staff together at the beginning Use the initial work gap for training, getting up to speed Use the slack in the end for documentation and closure Applicable for small projects [Jalote] Big no-no in [Survival guide], after [NASA SEL] ā€¢ Staged delivery helps smooth out the staff curve Pipeline principle
  • 24. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 24 Stage planning Iterative and incremental model, evolutionary model, XP, etc. ā€¢ Turn one large project into several sub-projects ā€¢ Deliver in stages Minimize risks and overheads Maximize value to customer Stage definition ā€¢ Stage themes ā€¢ High-risk first ā€¢ Low-priority last (if ever) Stage plan ā€¢ Map out detailed activities ā€¢ Miniature milestones Laborious activity Help track progress and reduce risks
  • 25. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 25 Stage planning Activities [Survival guide p. 178] ā€¢ Requirements updates Increasing at later stages ā€“ more change request accumulated ā€¢ Detailed design May include revision of the architecture ā€¢ Construction Goes with detailed design Daily build and test ā€¢ Test case creation In parallel with coding Based on spec and UI prototype ā€¢ User documentation updates ā€¢ Technical reviews Done by developers ā€¢ (continued on next slide)
  • 26. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 26 Stage planning Activities ā€¢ (continued from previous slide) ā€¢ Defect corrections Done by developers ā€¢ Technical coordination Brief team on designs, specifications, etc. ā€¢ Risk management Reassess the risks on the list The list itself might grow ā€¢ Project tracking Track miniature milestones ā€¢ Integration and release Fit & finish: install program, context-sensitive help, etc. Ready to release depending on business decisions ā€¢ End-of-stage wrap-up
  • 27. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 27 Miniature milestones Binary: done/not done Granularity: daily/weekly Example: ā€¢ Fixing a set of reported failures ā€¢ Integration of several sources ā€¢ Cleaning up quick-and-dirty fixes Two sets ā€¢ Get through to detailed design ā€¢ Get through to release-quality product
  • 28. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 28 Risk management Risk management ā€¢ ā€œAssessmentā€ Identification Analysis Prioritization ā€¢ ā€œControlā€ Resolution Monitoring
  • 29. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 29 Risk identification What is your greatest fear? ā€¢ Including those you donā€™t know about yet Risk identification approaches ā€¢ Maintain a list of top-10 risks ā€¢ Brainstorming ā€¢ Surveying
  • 30. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 30 Top risks Top schedule risks, adapted from [McConnell, table 5-2] ā€¢ Feature creep ā€¢ Gold-plating ā€¢ Shortchanged early quality ā€¢ Overly optimistic schedules ā€¢ Inadequate design ā€¢ Silver-bullet syndrome (overoptimism on a technology or process) ā€¢ Research-oriented development ā€¢ Weak personnel ā€¢ Contractor failure ā€¢ Friction between developers and customers (business) Other top risks ā€¢ Staff turnover / unavailability ā€¢ Low motivation ā€¢ Changes in business environment
  • 31. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 31 Risk analysis Risk: ā€œunexpected lossā€ Estimating consequences of loss ā€¢ Direct estimates: e.g. how long it takes to ā€œfixā€ bad risk outcome ā€¢ Averaged estimates ā€¢ Combined estimates ā€¢ Scale estimates Estimating probability of loss ā€¢ More subjective than the size estimate ā€¢ Aggregate estimates from different persons ā€¢ Delphi method A panel of experts converge to group-consensus by eliciting and discussing anonymous evaluations ā€¢ Mock betting ā€¢ Scale, adjective calibration
  • 32. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 32 Risk prioritization Risk exposure RE = probability * consequences Risks are prioritized in decreasing order of exposure Example: Jalote
  • 33. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 33 Risk resolution Some specific strategies for dealing with a risk ā€¢ Assume the risk ā€¢ Avoid the risk ā€¢ Buy information about the risk ā€¢ Eliminate the root cause of the risk ā€¢ Publicize the risk ā€¢ Transfer the risk from one part of the system to another
  • 34. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 34 Risk resolution Levels of risk resolution ā€¢ Crisis Do nothing to avoid or react to the risk Address damage only after risk materializes ā€¢ Fix on failure Identify risk Plan and allocate resources only if risk materializes ā€¢ Mitigation Plan resources ahead of time Minimize risk consequences ahead of time Execute contingency plan only if risk materializes ā€¢ Prevention Resolve risks before undertaking a risky activity ā€¢ Elimination of root causes Eradicate the conditions that made risks possible
  • 35. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 35 Examples Based on [Beck ā€“ XP] ā€¢ Schedule slips / project cancelled Short release cycles (few months); 1-4 week iterations; 1-3 day tasks Schedule high-risk features first First release is the smallest release that makes most business sense ā€¢ System goes sour / defect rate Regression tests Refactoring ā€“ prime condition Tests from programmer and customer perspective ā€¢ Business misunderstood / business changes Continuous refinement of specification with customer involvement Short release cycles ā€¢ False feature rich Allow business to prioritize tasks; address only highest-priority tasks ā€¢ Staff turnover Empowerment in estimation helps keep staff in project Collective code ownership reduces exposure if one developer leaves Explicit models for communication and inclusion of new staff
  • 36. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 36 Examples Source: adapted from [Bruegge & Dutoit] ā€¢ Risk: Members in key roles drop the course. Contingency: Roles are assigned to somebody else. Functionality of the system is renegotiated. ā€¢ Risk: The project is falling behind schedule. Contingency: Extra project meetings are scheduled. ā€¢ Risk: One subsystem does not provide the functionality needed by another subsystem. Contingency: ? ā€¢ Risk: The latest version of JDK is not installed in the lab. Mitigation: ?
  • 37. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 37 Risk monitoring Look for warning signs before damage occurs ā€¢ E.g. schedule slips instead of missing deadline How to monitor warning signs? ā€¢ Continuous monitoring by everyone Too much distraction, responsibility overlap ā€¢ Reassess risk exposure at discrete times On milestones On events such as completion of a task ā€¢ Continuous monitoring by risk officer
  • 38. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 38 Project monitoring and control Between projects ā€¢ Data collection Capability baseline Process baseline ā€¢ Interventions Go/no-go decisions using baseline-aware estimates Project planning (schedule, quality, etc) Within a project ā€¢ Data collection ā€¢ Triggers Milestones SPC ā€¢ Interventions Corrective action, preventive action E.g. rescheduling, scope reallocation E.g. review data interpretation from Jalote
  • 39. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 39 Data collection Data collection considerations ā€¢ Support good decisions ā€¢ Support good estimates ā€¢ Hawthorne effect ā€¢ Avoid too much overhead Both on producers and on consumers
  • 40. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 40 Data collection What data to collect? ā€¢ Data for progress assessment Key parameters Scope Effort Schedule Defects Other parameters Size Classes, functions, dialogs ā€¢ Data for process improvement Time accounting Efficiency of various techniques E.g. review outcomes vs. test outcomes
  • 41. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 41 Data collection Progress assessment ā€¢ Project indicators (include on status report) List of tasks completed Defect statistics Top 10 risks list Percent of schedule used Percent of resources used ā€¢ Percents: to date, out of total planned ā€¢ All indicators (including percents): actual vs. planned Publicizing project indicators ā€¢ Intranet web site Example [Survival guide p. 93] Can be based on revision control system May include an ā€œanonymous feedbackā€ upload form ā€¢ Access: all staff, project manager, upper management
  • 42. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 42 Data collection Time accounting ā€¢ Track how teams spend their time Why? ā€¢ Organization: basis for process improvements, better estimates ā€¢ Project: monitor progress, enable project control decisions How? ā€¢ Time-accounting programs: enter time data from desks ā€¢ Time-accounting categories [Survival guide, pp. 108-109] Management Administration Process Requirements UI prototyping Architecture Detailed design Implementation Component acquisition Integration System testing Software release Metrics
  • 43. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 43 Interim post-mortems A good time to reassess is between stages Data from past iteration to be used for: ā€¢ Planning the next iteration ā€¢ Revising the project plan ā€¢ Enabling project decisions Interim post-mortems ā€¢ Compare against baseline
  • 44. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 44 Intervention triggers Environment-dependent ā€¢ Examples External factors, such as requirements change requests Business context, such as subcontractor missing deadlines Risk outcomes, such as technology incompatibility Project-dependent ā€¢ Milestone-based Milestone missed Several milestones missed ā€¢ Statistics-based Variation limits
  • 45. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 45 Data interpretation SPC charts ā€¢ X-bar chart: Subgroup mean values Control limits: LCL, UCL 3 sigma ā€¢ R-chart: Subgroup ranges ā€¢ XMR chart: Individual values Moving ranges Control limit: 2.66 moving range average
  • 46. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 46 Data interpretation Background ā€¢ Standard deviation Measure of spread Ļƒ = sqrt(Sum (x ā€“ Āµ)2) ā€¢ Normal distribution A.k.a. bell curve, Gaussian Āµ +/āˆ’ Ļƒ : 68% Āµ +/āˆ’ 2Ļƒ : 95% Āµ +/āˆ’ 3Ļƒ : 99.7%
  • 47. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 47 The Gaussian
  • 48. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 48 Data interpretation Reading trends ā€¢ Interpolation/regression ā€¢ Reconciling estimates What to do about ā€œbadā€ points ā€¢ None ā€¢ Eliminate and re-estimate ā€¢ Take corrective action: eliminate the cause of deviation ā€¢ Take preventive action: eliminate causes of other potential problems
  • 49. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 49 Data interpretation Examples ā€¢ Policies for out-of-control review parameters ā€¢ Policies for project indicators exceeding limit of variation ā€¢ Determine release quality on the basis of regression curve QA week # (normalized)1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Faults found (log scale) interpolated 101 102 103 100
  • 50. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 50 Intervention Project-level intervention ā€¢ Release product version ā€¢ Negotiate deadline ā€¢ Kill project ā€¢ Reduce scope ā€¢ Hire temporary staff ā€¢ Change policy for responding to events E.g. freeze any further requirements changes E.g. do overtime instead of recalibration ā€¢ Replan E.g. add/remove risk mitigation steps
  • 51. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 51 Intervention Stage-level intervention: what to do when miniature milestones are not met ā€¢ Recalibrate the developerā€™s schedule Keep to optimal 8-hour days ā€¢ Trim down feature set ā€¢ Clear away some distractions ā€¢ Reassign parts of the project to other staff
  • 52. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 52 Project closure Extract useful information about the project ā€¢ Update all project plan information as it actually turned out ā€¢ Collect metrics, hard data from status reports ā€¢ Collect subjective impressions about what worked and what not ā€¢ Collect lessons learned: what worked, what not About each activity in the project: planning, requirements, dev, testing About new technology About new techniques and processes Update project-planning checklist and top 10 risk list Why? ā€¢ Add to the baseline for future estimates ā€¢ Improve process ā€¢ Build foundation for future success
  • 53. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 53 Debriefing team members Project review meeting [Survival guide, ch. 18] ā€¢ Moderator: all sides of the issue are discussed, avoid getting mired in a single issue Questionnaire ā€¢ Generic rating questions Change control policy: too restrictive, just right, too lax ā€¢ Targeted rating questions ā€œActive design reviewsā€ compared to our usual technical reviews were: effective, about the same, ineffective ā€¢ Open-ended questions ā€¢ Free-form comments
  • 54. McGill University ECSE 428 Ā© 2004 Radu Negulescu Software Engineering Practice Project managementā€”Slide 54 Discussion Thank you! Any questions?