Upload
shon-johns
View
244
Download
0
Tags:
Embed Size (px)
Citation preview
S/W Project Management
Software Project Planning (POMA) Task Analysis
Agenda
Software Project Planning (POMA) Task Analysis
Work Breakdown Structure (WBS) Task Scheduling
Task Analysis & Scheduling
2
Work Breakdown Structure
Is a depiction of the project (model) in terms of the discrete pieces of work needed to complete the project and the ordering of those pieces of work.
Performed by software project team.
Focuses on the tasks required to produce the artifacts that are to be delivered.
Task Analysis & Scheduling
3
Work Breakdown Structure
As the details of the software development and support process are realized subtasks are identified.
There are a number of tools used to support the WBS activity: Graphical – MS Visio, Smartdraw, ArgoUML.
Scheduling – MS Project, Primavera TeamPlay
Task Analysis & Scheduling
4
Work Breakdown Structure
Steps in the WBS:1. Examine the set of required external
deliverables.
2. Identify and list the steps and tasks needed to produce the required deliverables, including intermediate deliverables.
3. Sequence the identified tasks required to produce the deliverable.
4. Estimate the effort required to perform each task.
5. Estimate the productivity of the resources that will be applied to the tasks.
Task Analysis & Scheduling
5
Work Breakdown Structure
Steps in the WBS:6. Compute the time needed for each task by
dividing the task effort estimates by the resource productivity estimates.
7. Lay out the time needed for each task and “label” each task with its task name and the assigned resources; this layout forms the initial schedule
Task Analysis & Scheduling
6
Identify and list all
deliverables
For each deliverable:Identify and list thenecessary tasks forcompleting the deliverable
For each task:Compute the timelinerequired by dividingeffort by productivity
For each task:Estimate the productivity of the assigned resources
For each task:Estimate the effort needed
Sequence the tasks
Lay out the timeline for allthe ordered tasks need for each deliverable
Perform task
After the timelinesfor all tasks for all deliverable are computed
Flow of WBS to schedule
Task Analysis & Scheduling
7
WBS - Example
Deliverable 1: Executable code that is installable from a CD.
Deliverable 2: Help text, usage, and reference information that is installable from CD.
Deliverable 1 activities: To develop code: requirements specification, and
analysis (which are already completed), design, coding, and testing.
To make code installable: requirements specification (already completed), design, coding and testingTask Analysis & Scheduling
8
WBS - Example
Deliverable 2 activities: Creating help text: requirements specification
and analysis (already completed), design, writing, and testing.
Developing usage and reference information: requirements specification and analysis (already completed), design, writing, and testing.
Task Analysis & Scheduling
9
WBS - Example
Choice of activities and sequence depends on:1. The size and complexity of both the problem and
the solution,
2. The process and methodology that the software organization has defined and trained its people to follow, and agreed with its client to use.
Sequencing the activities needed for the development of the artifacts can be a large problem for new software organizations.
Task Analysis & Scheduling
10
WBS Task Refinement
List of activities for Deliverable 1: Activity A: Designing and documenting the design
using an agreed upon notation Activity B: Coding (in language agreed upon) Activity C: Defining test cases and generating test
scripts Activity D: Executing test scripts Activity E: Correcting and fixing problems found
during testing Activity F: Collecting the tested executable
modules and handing them to the packaging group
Task Analysis & Scheduling
11
WBS Task Refinement
Tasks Description
Task A-1 Overall application, user interface (UI), and message architecture
Task A-2 Database and relational tables design
Task A-3 Application function 1 design
Task A-4 Application function 2 design
Task A-5 Application function 3 design
Refinement of activity A:
Table 2.1. Subtasks within the Design activity
Task Analysis & Scheduling
12
WBS - Task Sequencing
After the tasks refinement then comes the sequencing of the tasks.
There are usually dependencies between tasks i.e., Task A-1 needs to be completed before Tasks A-2, A-3, A-4 and A-5 commence.
There may also be overlap between tasks, i.e., Task A-2 maybe or may not be started before Task A-1 is completed.
Task Analysis & Scheduling
13
WBS - Task Sequencing
Sequence diagrams depict the start-stop relationships among the various subtasks.
Sequence diagram – shows all the tasks required to complete an activity and the order in which those tasks must be performed, including the depiction of the tasks that may be performed in parallel.
Task Analysis & Scheduling
14
WBS - Task Sequencing
TaskA-1
TaskA-2
TaskA-3
TaskA-4
TaskA-5
Fig. 2.2 Sequence diagram
• Tasks A-3, A-4, and A-5 maybe performed in parallel.• Note there is no indication how task may overlap.
Task Analysis & Scheduling
15
WBS - Task Sequencing
Steps for the construction of the software project:1. List the deliverables.
2. For each deliverable, list the activities that are required.
3. For each activity, list the set of subtasks that are required.
4. Further refine any of the subtasks by creating the next level of subtasks, if necessary.
5. Construct the sequence relationship of the subtasks
6. Depict the sequence relationship with a sequence diagram
Task Analysis & Scheduling
16
WBS – Time and Resource Assignments
What is a “satisfactory” level of refinement?
Guidelines: Each task may be assigned to one person.
The estimate of the task cost, stated not in terms of money but rather in terms of time required to complete it, does not extend beyond more than two or three project status meeting.
Ensuring single person accountability makes the management and tracking of the task much easier.
Task Analysis & Scheduling
17
WBS – Time and Resource Assignments
Assume that project management meetings are conducted very often, daily, for a small project (range of weeks) and weekly if the s/w project is large (range of months < 1 year).
Units of tasks management: Project team must decide on a unit of
measurement, usually range from 1 hour units to a several days (< week).
It is important to state hours in a day and days in a week (5 or 7)
Task Analysis & Scheduling
18
WBS - Time and Resource Assignments
Units of tasks management: Time must be allocated for non-direct-task-
related activities e.g., departmental meetings, telephone interruptions etc.
How to estimate time required to complete a task.
Ask experienced s/w engineers (bottom-up estimating).
Assemble a team and ask them to estimate each task in terms of some common work volume unit e.g., lines of code (LOC) per hour per day
Task Analysis & Scheduling
19
WBS - Time and Resource Assignments
Tasks Possible rates
Requirements elicitation 2 interviews/person-day
Message design 15 messages/person-day
Code implementation 2 functions points/person-day; 40 lines of Java/person-day
Test generation 5 test scenarios/person-day
Units of tasks management:
Example of Historical Information
Task Analysis & Scheduling
20
WBS - Time and Resource Assignments
TaskA-1
TaskA-2
TaskA-3
TaskA-4
TaskA-5
End
5 days
3 days
3 days
3 days
7 days
5 days
2 days
Fig2.3 Subtasks with estimated times.
• Longest path includes A-1, A-2, and A-3 (critical path)• There is no slippage along the critical path.
Task Analysis & Scheduling
21
WBS - Time and Resource Assignments
Estimates and assignments: Need to assign people to tasks.
1. Spmr need to consider skills required to perform each task, then seek people capable of performing these tasks.
2. Must consider the availability of the identified skilled people.
3. Must consider the timing of and the requirement of the identified person for another aspect of the project or another project.
The above must be made in conjunction with the schedule in the time-estimated WBS.
Task Analysis & Scheduling
22
WBS - Time and Resource Assignments
Estimates and assignments cont:
The dependencies of the tasks in the WBS restrict assignment of resources, it also allows for the use of additional resources.
The skill of the team members may also restrict assignment.
Task Analysis & Scheduling
23
WBS - Time and Resource Assignments
Subtask Person Sequence time-estimate
A-1 P1
A-2 P2
A-3 P3
A-4 P4
A-5 P5
Estimates and assignments:Subtasks with time Estimates and People Assignments
5 days
3 days
7 days
2 days
5 days
Task Analysis & Scheduling
24
WBS - Time and Resource Assignments
Subtask Person Sequence time-estimate
A-1 P1
A-2 P2
A-3 P3
A-4 P4
A-5 P5
Milestones
5 days
3 days
7 days
2 days
5 days
Minor Milestone Milestone
Task Analysis & Scheduling
25
WBS - Time and Resource Assignments
Milestones:
End-point of a software process activity.
A significant event in a project that occurs at a specific point in time.
The labeling of a milestone gives a certain amount of priority and significance to the event.
Spmr may use the term “milestone” to emphasize the particular activity, as well as for the purpose of recognizing the attainment of a significant task.
Task Analysis & Scheduling
26
WBS - Time and Resource Assignments
Milestones: Depending on the size of the project the
schedule might only be depicted in terms of milestones. Such a schedule may be used by higher level management.
It is important for the spmr to recognize the accomplishments of milestones and publicly recognize them.
The spmr should also pay attention to missed milestones.
Task Analysis & Scheduling
27
Task Sequence and Effort representation
All tasks share at least two basic characteristics Require effort in terms of person-days required to
complete each task
A specified order for processing the task
Task Analysis & Scheduling
28
Task sequence/effort table
Task Immediate prerequisite tasks
Effort
(person-days)
A None 9
B A 5
C A 7
D B,C 11
E D 8
Total effort required: 40 person-days
Task Analysis & Scheduling
29
Graphical representation of tasks from previous table
Task A
Task B
Task C
Task D
Task E
End
Critical Task
Non-critical Task
Critical Path
Non-critical Path
9
9 5
7
11 8
Total project time: 35 days
Task Analysis & Scheduling
30
Critical versus Non-Critical Paths
Critical path The path that takes the most time to complete.
Critical task (critical activity) A task that resides on the critical path.
Non-critical path Any path that is not a critical path and thus takes less effort to
complete than the critical path.
Non-critical task (non-critical activity) Any activity that resides on a non-critical path and not a critical
path. These tasks may accept some delay in completion.
Task Analysis & Scheduling
31
Critical Path Method (CPM)
“The critical path method analyses the precedence of activities to predict the total project duration. The method calculates which sequence activities (path) has the least amount of flexibility ” Quality Software Project Management, Futrell et.
al.
Task Analysis & Scheduling
32
Task Scheduling
Forward-pass scheduling Early start time (ES) and early finish (EF)
Backward-pass scheduling Late start (LS) and Late finish (LF)
Slack time
Task Analysis & Scheduling
33
Forward-pass scheduling
Task Tasks precedence
Task length Earliest possible start
time (ES)
Earliest possible finish
time (EF)
A None 9 0
B A 5
C A 7
D B,C 11
E D 8
9
9 14
9 16
16 27
27 35
Task Analysis & Scheduling
34
Backward-pass scheduling
Task Tasks precedence
Task length Late start time (ES)
Late finish time (EF)
A None 9
B A 5
C A 7
D B,C 11
E D 8
9
11 16
9 16
16 27
27 35
0
Task Analysis & Scheduling
35
Slack time
Total slack time of an activity The difference in start time between a non-critical
task’s late start time and its early start time or its late finish time and early finish time.
Total slack time of a task = LS - ESOrTotal slack time of a task = LF – EFe.g., Activity B: LS – ES (11 - 9) or LF – EF (16 - 14) =>
2Total slack time
The maximum allowable delay for all non-critical activities.
Task Analysis & Scheduling
36
Program Evaluation and Review Technique (PERT)
An estimating techniqueassumes each activity duration is subject to a
range estimatesuses weighting method to arrive at a specific
duration.
Task Analysis & Scheduling
37
Program Evaluation and Review Technique (PERT)
Expected estimate (EE) = [O + P + (4 x A)] / 6
WhereO = most optimistic estimateP = most pessimistic estimateA = most likely estimate
Task Analysis & Scheduling
38
Program Evaluation and Review Technique (PERT)
Expected Project time (EPT)Sum of expected estimates of the critical
tasks.EPT = Σ(EE of all critical task)
Task Analysis & Scheduling
39
CPM vs PERT
Scheduling a lot of activities with 3 estimates computationally messy
many people argue 3 estimates are not much more accurate than 1 estimate
Most project management scheduling software use CPM
Task Analysis & Scheduling
40