Project Management Triangle
Time Management:
→ Dependencies
→ Charts and Diagrams
Cost Management
→ Estimation Techniques
→ Budgeting in SCRUM
The quality of a project is dictated by three factors: scope, budget, and time
The combination of these factors is called: Project Management Triangle
Up to the manager to to achieve a proper trade-off
"Good, cheap, and fast. Pick two!"
Las class we discussed scope
This class will discuss time and cost
The first 90% of the code accounts for the first 90% of the development time.
The other 10% of the code accounts for the other 90% of the development time.
Tom Cargill, Bell Labs
Time is often the variable that has the least amount of flexibility
Many projects have hard due dates: Christmas, Tax season, Competition, Contracts, etc.
Poor time management can also lead to extra costs
After a scope has been determined, focus switches to the order in which activities are carried out
A number of tools have been developed over the years such as Gantt Charts and PERT Charts (Network Diagrams)
These tools help determine the order, dependencies, and how long a project will take
Dependencies (or relationships) dictate the logical sequencing of project activities
A clear understanding of dependencies is requried to build proper charts and diagrams
“Begin at the beginning," the King said, very gravely, "and go on till you come to the end: then stop.”
Wireframing depends on Requirement Gathering
Front-end Development depends on Wireframing
Back-end Development depends on server setup*
Testing and Deployment depends on CI
There are three types of dependencies:
→ Mandatory dependencies hard logic
→ Discretionary dependencies are agreed upon
→ External dependencies regards non-project activities
List project activities vs their start and finish dates
The Critical Path determines the earliest completion of a project
The more activities are in this path, the harder it is to make a proper prediction
Network diagrams can show dependency relationships
The Program Evaluation and Review Technique, PERT, is the most popular network diagram
Each milestone is represented as a node
Tasks connecting milestones are shown as arrows
Following arrows allow one to follow dependencies
Each arrow has up to three timestamps: optimistic time, most likely time, and pessimistic time
“Resource sacrificed or foregone to achieve a specific objective ”
“simply put: money”
After estimating scope and timeline, a cost analysis is required to start up a project
Costs come from multiple sources: personnel, equipment, real state, licenses, etc.
In what follows we will cover Cost Estimation Techniques and Budgeting in Scrum
Top-down Uses similar projects as basis
Bottom-Up Uses the WBS as a basis
Parametric Uses metrics such as cost of line of code
Quick Estimation Rushed to meet deadlines
Lack of Experience Most devs are not accountants
Biases Leading to underestimation
Profit revenue - expenditures
ROI ratio by which revenue exceeds investment
Cost Overrun how much actual costs exceed estimates
The Product Owner is reponsible for budgeting
Two main components:
Personnel costs: team
Fixed costs: hardware, software, infrastructure
For personel costs, it is best to get the cost per sprint
Each member has a daily rate and an allocation rate
daily rate × allocation rate = daily burn rate
daily burn rate × number of days = sprint burn rate
Total sprint cost: sum of the cost of all members
Let's assume that we have three developers
Each developer has a daily rate (for weekdays), which can be calculated as annual salary/260
Each developer has its own allocation rate between different projects
Each sprint takes two weeks (10 weekdays)
Role | Rate | Allocation | Burn Rate |
---|---|---|---|
Product owner | $600 | 50% | $3,000 |
Dev Team | $400 | 100% | $4,000 |
Dev Team | $300 | 100% | $3,000 |
Total | $10,000 |
If the project is expected to last for a total of 6 sprints:
Total Personnel cost: 10,000 * 6 = 60,000
If fixed costs are 20,000...
Total Cost: 80,000
It is always good to have a 10% - 15% contingency
For the example, this would result in: 80,000 * 10/100 = 8,000 in contigency
Total Cost (including contigency): 88,000
Budget overruns should be reported early
Project Management (Chapter 10 - Blackboard)
Project Management (Chapter 12 - Blackboard - until Managing the Budget)