Software Project Planning Flashcards
What are the 9 deadly sins of project planning?
- Not planning
- Failing to account for all project activities
- Failure to plan for risk
- Using the same plan for every project
- Applying pre-packaged plans indiscriminately
- Allowing a plan to diverge from project reality
- Planning in too much detail too soon
- Planning ot catch up later
- Not learning from past sins.
What is a work breakdown structure?
- Description of the work to be performed.
- Partitioning the project into manageable pieces
- Each component can be (better) sized and estiamted.
What is Effort?
- A scheduling concept.
- Represents the work required to perform a task.
- Measured in person-hours, days, etc.
- Represents the total number of hours each person spend working on the task.
- Ongoing estimation effort.
What is Duration?
- A scheduling concept.
- Is amount of time that elapses between the time the task is started and the time th task is completed.
- Measured in hours, days, etc.
- Scheduling of tasks is a very complex endeavor for larger projects. (Computer support is needed
- Make-span minimizaion.
What is a project schedule?
- The project schedule is a plan that links the tasks to be done with the resoources that will do them.
- Before a project schedule can be created, the project manager must have a work breakdown structure (WBS) and estimates.
- Project schedules are represented by Gantt charts.
Building the project schedule
- Once resources are allocated to each task, a final date can be calculated
- If this date is unacceptable, the projec tplan must change.
- Either additional resources must eb allocated or the scope must be cut down.
- Brook’s Law: 9 women cannot have a baby in one month.
Task Dependencies
- A task has a dependency if it involves an activity, resource or work product which is subsequently required by another task.
- Assume a set F = {f(1) … F(N)} of features to be developed
- Assume different types of tasks (related to the different methods, tools, techniques)
- Task (n,q) means a task of type q related to feature f(n)
Begin_task(n,q) - Start date for task(n, q) related to feature f(n)
End_task(n,q) - End date for task (n,q) related to feature f(n)
Duration_task(n,q) - Duration of task (n,q) related to feature f(n)
What is the critical path?
The sequence of tasks that represent the minimum time required to complete the project.
- If a task is only on the critical path when delaying that task will delay the project.
- Allocating resources to tasks on the critical path will reduce the project schedule; allocating them to other tasks will have less effect.
What is an over-allocated resource?
A resource is over-allocated if more than 100% allocated to multiple tasks simultaneously
- If any resource is over-allocated, it measnt that there is a dependency between two tasks which was not discovered.
- When this happens, this schedule is guaranteed to be inaccurate. Find and fix over-allocated resources.
What is slack?
The amount of time which any of the tasks can be delayed without causing the due date of the final task in the sequence to be delayed as well.
- A tight schedule has very little slack; a delay in any task will cause a delay in the due date.
- Parkinson’s Law: Work expands so as to fill the time available for its completion.
What is overhead?
Any effort that does not go to the core activities of the task but is still required in order for the people to perform it - a sort of ‘real world’ cost of actually doing the work.
- Two people performing a task will require more effort than one person doing the same task.
- Assigning two people to the task requires more effort, but the task has a shorter duration.
The critical path in an activity network
For ech activity we need to estimate:
- Earliest start time
- Earliest finish time
- Latest start time
- Latest finish time
The length of each path is calcualted by adding up the optimistic, expected and pessimistic durations of each activity on the path.
- The critical path determined by the longest path in the network.