Software Estimation/Project Scheduling Flashcards
What is the Chaos Report?
a report by the Standish Group illustrating that most project fail or near fail
4 sources of estimate uncertainty
project size too small
architectural complexity
design complexity
unstable/changing requirements
6 Steps of the Project Planning process
1) establish project scope (what will be done and not done)
2) determine feasibility (can we actually do this)
3) analyze risks
4) define required resources (SW and people)
5) estimate cost and effort
6) develop project schedule
3 ways of estimating cost and effort for a SW project
- history (compare to similar projects in the past)
- top-down decomposition
- empirical models
Give an example of an empirical model for SW estimation
Cocomo II by Barry Boehm
How to do estimation for Agile
decompose user stories into tasks
estimate task effort by assigning story points
sum the points for each user story
add user stories to the sprint backlog in order of priority until the all available effort is allocated
8 primary reasons for schedule overrun
- unrealistic deadline
- customer changes requirements but schedule not allowed to change
- honestly underestimated effort
- unpredictable and/or unconsidered risks
- technical difficulties that were not forseeable
- human difficulties
- miscommunication among staff
- unmonitored schedule breakage (the project has gone off schedule)
7 project scheduling activities given a WBS
compartmentalize - group similar tasks together
determine interdependency of tasks
allocate time to tasks
parallelism clamped by teams size
defined assignments/responsibilities -assign tasks to people
defined outcomes - what proves a task is completed
defined milestones
What is the 40-20-40 rule?
40% of the time = front-end analysis
20% of time = coding in unit tests
40% of time = I&T, V&V, package, shipping
2 methods for task scheduling
PERT chart
CPM (critical path method)
In regards to scheduling, what is optimistic time?
time a task takes in which there are no delays (i.e. better than normal)
In regards to scheduling, what is normal time
the time you would expect a task to take with a typical amount of delays
In regards to scheduling, what is pessimistic time
more delays than normal but not catastrophes
In regards to scheduling, what is slack time
the maximum time you can delay the start of a task without delaying the delivery of the product
In regards to scheduling, critical path time
the total time it takes to complete the tasks in the UC main scenario (no slack time here)