Download Lecture Slides on Project Management | CS A351 and more Study notes Computer Science in PDF only on Docsity!
Project Management
Chapters 3-
Can you develop this?
Basic Definitions: Project and
Project Plan
- Software Project:
- All technical and managerial activities required to deliver the
deliverables to the client.
- A software project has a specific duration, consumes resources
and produces work products.
- Management categories to complete a software project:
- Tasks, Activities, Functions
- Software Project Management Plan:
- The controlling document for a software project.
- Specifies the technical and managerial approaches to develop the
software product.
- Companion document to requirements analysis document:
- Changes in either document may imply changes in the other document.
- The SPMP may be part of the project agreement.
Components of a Project
Project
Work Product Schedule Task Participant
Capability Maturity Model
- Model produced by the Software Engineering Institute to rate
an organization’s software development process
- Level 1: Initial - Lowest level, chaotic
- Level 2: Repeatable – Project tracking of costs, schedule, and
functionality. Able to repeat earlier successes.
- Level 3: Defined – A documented and standardized software
process. All development accomplished using the standard
processes.
- Level 4: Managed – Quantitatively manages the process and
products.
- Level 5: Optimizing – Uses the quantitative information to
continuously improve and manage the software process.
Personal Software Process
- Can use the CMM idea and apply it to an
individual software developer. Watts Humphrey developed PSP in 1997.
- Use personal time logs to measure productivity; errors timed and recorded
Date Start Stop Delta Interrupt Task 1/1 09:00 15:30 360 30 lunch 50 LOC 1/3 09:00 14:00 270 30 lunch 60 LOC 1/4 09:00 11:30 150 50 LOC 1/5 12:00 02:00 120 Testing
900 minutes to write/test a program of 160 LOC. Assuming 5 hrs/day this is 3 days to write/test 160 LOC. Productivity = 53 LOC/day
Earned Value Analysis
- Basic measures to calculate how much has
been accomplished
- Percent of the estimated time that has been completed
- Basic Measures
- Budgeted Cost of Work (BCW)
- The estimated effort for each work task
- Budgeted Cost of Work Scheduled (BCWS)
- The sum of the estimated effort for each work task that was
scheduled to be completed by the specified time
- Budget at Completion (BAC)
- The total of the BCWS and thus the estimate of the total
effort of the project
Earned Value Analysis
- Basic Measures
- Planned Value (PV)
- PV = BCW/BAC
- The percentage of the total estimated effort assigned to a
particular work task
- Budgeted Cost of Work Performed (BCWP)
- The sum of the estimated efforts for the work tasks
completed by the specified time
- Actual Cost of Work Performed (ACWP)
- Sum of the actual efforts for the work tasks that have been
computed
Earned Value Analysis Example
Task Estimated Effort (days)
Actual Effort To Date
Estimated Completion
Actual Completion 1 5 10 1/25 2/ 2 25 20 2/15 2/ 3 120 80 5/ 4 40 50 4/15 4/ 5 60 50 7/ 6 80 70 9/
BAC = sum of estimations = 5 + 25 + 120 + H = 330 days BCWP = estimate of completed work = 5 + 25 + 40 = 70 days EV or PC = 70/330 = 21.2% BCWS = sum of estimates scheduled to be done = 5+25 = 30 SPI = BCWP/BCWS = 70/30 = 233% SV = 70 – 30 = 40 days (ahead) ACWP = sum of actual work done = 10+20+50 = 80 CPI = BCWP / ACWP = 70/80 = 87.5% CV = BCWP – ACWP = 70-80 = -10 programmer days (behind)
Today is 4/
Track Status Over Time
- Comparison of planned costs against actual costs allows the
manager to assess the health of the project
- Earned value adds the planned costs of the tasks that have been
completed
Current
Actual cost
Earned value
Planned cost
time
Time
Other Measurement Tools
- Error Tracking
- Previously discussed, would expect error
rates to go down over time
- Postmortem Reviews
- Assemble key people to discuss quality,
schedule, software process. Results should
not be sanitized.
Project Management Concepts
- Follow critical / best practices
- Divide and conquer approach generally taken to
decompose work into smaller, more manageable
pieces
- Key Tasks
- Hierarchical representation of all the tasks in a project called the Work Breakdown Structure (WBS)
- Task model or Network model
- Mapping of the task model to the project schedule
- Development of a Software Project Management Plan (SPMP)
Creating Work Breakdown Structures
- Two major philosophies
- Activity-oriented decomposition ("Functional decomposition")
- Write the book
- Get it reviewed
- Do the suggested changes
- Get it published
- Result-oriented ("Object-oriented decomposition")
- Chapter 1
- Chapter 2
- Chapter 3
- Which one is best for managing? Depends on project type:
- Development of a prototype
- Development of a product
- Project team consist of many unexperienced beginners
- Project team has many experienced developers
Estimates for establishing WBS
- Establishing an WBS in terms of percentage of
total effort:
- Small project (7 person-month): at least 7% or 0.5 PM
- Medium project (300 person-month): at least 1% or 3 PMs
- Large project (7000 person-month): at least 0.2 % or 15 PMs
- (From Barry Boehm, Software Economics)
Example: Let‘s Build a House
- What are the activities that
are needed to build a
house?
Typical activities when building a house
- Surveying
- Excavation
- Request Permits
- Buy Material
- Lay foundation
- Build Outside Wall
- Install Exterior Plumbing
- Install Exterior Electrical
- Install Interior Plumbing
- Install Interior Electrical
- Install Wallboard
- Paint Interior
- Install Interior Doors
- Install Floor
- Install Roof
- Install Exterior Doors
- Paint Exterior
- Install Exterior Siding
- Buy Pizza
Finding these activities is a brainstorming activity. It requires similar activities used during requirements analysis
From the WBS to the Dependency Graph
- The work breakdown structure does not show any temporal
dependence among the activities/tasks
- Can we excavate before getting the permit?
- How much time does the whole project need if I know the individual times? - What can be done in parallel?
- Are there any critical actitivites, that can slow down the project significantly?
- Temporal dependencies are shown in the dependency graph
- Nodes are activities
- Lines represent temporal dependencies
Building a House (Dependency Graph)
START
Request
Surveying^ Excavation Material^ Buy Founda tion Outside^ Build Wall
Install ExteriorPlumbing
Interior^ Install Plumbing
Install Exterior Electrical
Interior^ Install Electrical
Exterior^ Install Siding
Wallboard^ Install
Paint Exterior
Roofing^ Install
Install Flooring
Paint Interior
Install Interior Doors
Install Exterior Doors
FINISH
The activity "Buy Material" must Precede the activity "Lay foundation"
Lay
Map tasks onto time
- Estimate starting times and durations for each of the activities
in the dependency graph
- Compute the longest path through the graph: This is the
estimated duration of your project
PERT
- PERT = Program Evaluation and Review
Technique
- Developed in the 50s to plan the Polaris weapon
system in the USA.
- PERT allows the manager to assign optimistic,
pessimistic and most likely estimates for the span times of each activity.
- You can then compute the probability to
determine the likelihood that overall project duration will fall within specified limits.
What do we do with these diagrams?
- Compute the project duration
- Determine activities that are critical to ensure a
timely delivery
- Analyze the diagrams
- to find ways to shorten the project duration
- To find ways to do activities in parallel
- 2 techniques are used
- Forward pass (determine critical paths)
- Backward pass (determine slack time)
Definitions: Critical Path and Slack Time
- Critical path:
- A sequence of activities that take the longest time to complete
- The length of the critical path(s) defines how long your project will take to complete.
- Noncritical path:
- A sequence of activities that you can delay and still finish the project in the shortest time possible.
- Slack time:
- The maximum amount of time that you can delay an activity and still finish your project in the shortest time possible.
Example of a critical path
Activity 3 t 3 = 1
Activity 4 t 4 = 3
Activity 2 t 2 = 1
Start
t = 0
Activity 1 t 1 = 5
End
t = 0
Activity 5 = 2
Start
t = 0
Activity 1 t 1 = 5
End
t = 0
Activity t 5 = 2
Critical path in bold face
Definitions: Start and Finish Dates
- Earliest start date:
- The earliest date you can start an activity
- Earliest finish date:
- The earliest date you can finish an activity
- Latest start date:
- The latest date you can start an activity and still finish the project in the shortest time.
- Latest finish date:
- The latest date you can finish an activity and still finish the project in the shortest time.
Backward Path
Example
Activity Latest Start(LS) Latest Finish(LF)
Activity 3 tA = 1
Activity 4 tA = 3
Activity 2 t 2 = 1 Start t = 0
Activity 1 t 1 = 5
End t = 0
Activity t 5 = 2
A2 End of week 7 A3 End of week 2
A5 End of week 7
A1 End of week 5
A4 End of week 5
Activity 3 t 3 = 1
Activity 4 t 4 = 3
Activity 2 t 2 = 1
Start of week 6
Project Duration = 7
Start of week 3
Start of week 1 Start of week 7 Start of week 2
Computation of slack times
- Slack time ST of an activity A:
- STA = LSA - ESA
- Subtract the earliest start date from the latest start date for each
activity
Activity 3 tA = 1
Activity 4 tA = 3
Start t = 0
Activity 1 t 1 = 5 End t = 0
Activity t 5 = 2
Activity 4 t 4 = 3
Activity 2 Activity^ t 2 = 1 A A A A A
Slack time 0 1 1 1 0
Slack times on the same path influence each other.
Example: When Activity 3 is delayed by one week, activity 4 slack time
becomes zero weeks.
Example: STA4 = 3 - 2 = 1
s 1 = 0 (^) s 2 = 1
s 3 = 1 s 4 = 1 s 5 = 0
Building a House (PERT Chart)
Duration
Start Time
Slack Time
Each Activity has a start time and
an estimated duration
- Determination of total project time
- Determination of the critical path
- Determination of slack times
START
8/27/
0
0
Request Permits
8/27/
15
0
Surveying
8/27/
(^123)
Excavation
9/17/
100
Legend
8/29/
0
Buy Material
10/1/
10
0
Lay Foundation
10/15/
150
Outside^ Build Wall
11/5/
200
Install ExteriorPlumbing
12/3/
(^1210)
Interior^ Install Plumbing
12/3/
12
0
Install Exterior Electrical
12/17/
1012
Interior^ Install Electrical
12/21/
15
0
Exterior^ Install Siding
12/31/
8
12
Wallboard^ Install
1/11/
9
0
Paint Exterior
1/12/
(^125)
Roofing^ Install
1/19/
9
12
Install Flooring
1/22/
180
Paint Interior
1/22/
11
0 Install Interior Doors
2/8/
70
Install Exterior Doors
1/19/
6
15
FINISH
2/16/
0
0
0
Gantt Chart
Time (in weeks after start)
Activity 1
Activity 2
Activity 3
Activity 4
Activity 5
Easy to read