Project Management: Chapters 3-4
Project Management: Chapters 3-4
Chapters 3-4
Components of a Project
Project
Work Product
Schedule
Task
Participant
Activity
Task
Project Deliverable
Project Function
Department
Team
States of a Project
Conception do/FormulateIdea do/Cost-BenefitAnalysis do/FeasibilityStudy do/Review Termination do/Client Acceptance do/Delivery do/Post Mortem GoAhead ScopeDefined Start do/Infrastructure Setup do/Skill Identification do/Team Formation do/Project Kickoff
Definition do/Problem Statement do/Software Architecture do/Software Plan New Need New Technology
System Done
Infrastructure Setup Steady State Completed do/Develop System && Teams do/Controlling Assembled do/Risk Management do/Replanning
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
Basic Measures
Budgeted Cost of Work (BCW)
The estimated effort for each work task
Today is 4/1 BAC = sum of estimations = 5 + 25 + 120 + = 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)
Planned cost
Earned value
Actual cost
Postmortem Reviews
Assemble key people to discuss quality, schedule, software process. Results should not be sanitized.
Work Packages
Work packages are assignment to participants to do the work
Small work package: an action item Larger work packages:
Create the object model Class diagram Etc.
Any work product delivered to the customer is a deliverable; All other work products are internal work products
Task
Activity
Finding these activities is a brainstorming activity. It requires similar activities used during requirements analysis
Are there any critical actitivites, that can slow down the project significantly?
Install Flooring
START
Survey ing
Excava tion
Buy Material
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.
A tA=0
Event(Milestone orDeliverable)
tB=2
C tC=0
Event(Milestone orDeliverable)
Milestoneboxesareoftenhighlightedbydoublelines
t=2weeks
SystemDesign
t1=5
Activity2
t2=1
Start t=0
End t=0
Activity3
Activity4
t3=1
t4=3
Activity5
5=2
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.
t1=5
Activity2
t2=1
Start t=0
End t=0
Activity3
Activity4
t3=1
t4=3
Activity5
5 t5=2
Criticalpathinboldface
Activity1
t1=5
Activity2
t2=1
Start t=0
End t=0
Activity4 Activity5
Activity3
tA=1 3
tA=3 4
t5=2
Activity A1 A2 A3 A4 A5
Earliest Start(ES) Start of week 1 Start of week 6 Start of week 1 Start of week 2 Start of week 6
Earliest Finish(EF) End of week 5 End of week 6 End of week 1 End of week 4 End of week 7
Activity1
t1=5
Activity2
t2=1
Start t=0
End t=0
Activity4 Activity5
Activity3
tA=1 3
tA=3 4
t5=2
Activity
A1 A2 A3 A4 A5
Latest Start(LS)
Start of week 1 Start of week 7 Start of week 2 Start of week 3 Start of week 6
Latest Finish(LF)
End of week 5 End of week 7 End of week 2 End of week 5 End of week 7
Activity A1 A2 A3 A4 A5
Slacktime 0 1 1 1 0
t1=5
Activity2
Start t=0
t2=1
s1= 0
s2= 1
Activity4 Activity5
End t=0
Activity3
tA=1
tA=3 4
t5=2
s3= 1
s4= 1
s5= 0
Determination of total project time Determination of the critical path Determination of slack times
8/27/05 8/27/05 START 0 0 8/27/05 Request Permits 0 15 12/3/05 Start Time 8/29/05 Legend Duration Slack Time 0 0 12 10 12/17/05 12/31/05 9/17/05 Survey ing 12 3 10/1/05 Excava tion 0 10 10/15/05 11/5/05 Lay Founda tion 0 15 Build Outside Wall 0 20 Buy Material 0 10
1/22/06
Install Flooring 0 18 Install Roofing 12 9 1/12/06 Paint Exterior 12 5 Install Exterior Plumbing Install Exterior Electrical 12 10 Install Exterior Siding 12 8
2/16/06 FINISH
1/19/06
1/19/06
Gantt Chart
Activity1 Activity2 Activity3 Activity4 Activity5
Easy to read
Time(inweeksafterstart)
Time(inweeksafterstart)
Activity-Centered View
To identify teams working together on the same tasks
Identifying Skills
Skills for a software development project
Application domain skills Communication skills Technical skills Quality skills Management skills
Assign management, technical roles 3-5 team members the best size for a group
Kick-off Meeting
Project manager, team leaders, and the client officially start the project in a kick-off meeting with all developers present Purpose: Share information about the scope of the project, communication infrastructure, and responsibilities of each team Presentation split between client and project manager
Client: Requirements and scope of the project Project manager: Project infrastructure, top-level design, and team responsibilities
Project Agreement
Document that formally defines the scope, duration, cost, and deliverables
Contract or statement of work, business plan, or charter Typically finalized after the analysis model is stabilized
Should contain
List of deliverables Criteria for demonstrations of functional requirements Criteria for demonstration of nonfunctional requirements Criteria for acceptance
Represents the baseline of the client acceptance test Changes in the functionality, deadlines, or budget requires renegotiation of the project agreement
Metrics
Lines of code, branching points, modularity Defects, mean time between failures
LOC Estimation
Estimate number of lines of code in the finished project
Use prior experience, similar products, etc.
Standard approach:
For each piece i, estimate the max size, min size, and best guess. The estimate for the each piece is 1/6*(max + 4*guess + min)
Part 1 2 3 Min 20 10 25 Guess 30 15 30 Max 50 25 45 Whole = (20+4*30+50)/6 + (10+4*15+25)/6 + (25+4*30+45)/6 = 79 LOC
COCOMO
COCOMO = Constructive Cost Model, developed by Boehm in the 70s
Used thousands of delivered lines of code to determine a relationship between size and cost in Programmer Months (PM) App Programs: PM = 2.4*(KLOC)1.05 Utility Programs: PM = 3.0*(KLOC)1.12 Systems Programs: PM = 3.6*(KLOC)1.20
Outputs
Displays of application dtaa
Inquiries
Request/response pairs
Internal files
Number of logical files
External interfaces
Data shared with other programs
Interfaces 5
Correlate total with PM; can capture effort for hidden items (e.g. one output, lots of internal work)
Conclusion
Software Project Managers have a lot of challenging work that shouldnt be ignored
Unlike the Pointy Haired Boss Must deal with project outcomes, schedules, work products, work breakdown schedule, and resources Development of a Software Project Management Plan
Project managers can deal with project complexity the same way developers deal with system complexity
Modeling of the domain Communication Analysis Planning