slides

advertisement
S/W Project Management
Software Project Planning (POMA) Task Analysis
Agenda
2
 Software Project Planning (POMA)
 Task Analysis


Work Breakdown Structure (WBS)
Task Scheduling
Task Analysis & Scheduling
Work Breakdown Structure
3

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
Work Breakdown Structure
4

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
Work Breakdown Structure
5
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
Work Breakdown Structure
6
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
Flow of WBS to schedule
7
Identify and
list all
deliverables
For each deliverable:
Identify and list the
necessary tasks for
completing the deliverable
Sequence the tasks
Perform
task
For each task:
Compute the timeline
required by dividing
effort by productivity
After the timelines
for all tasks for all
deliverable are computed
Task Analysis & Scheduling
For each task:
Estimate the
productivity of the
assigned resources
For each task:
Estimate the
effort needed
Lay out the timeline for all
the ordered tasks need for
each deliverable
WBS - Example
8

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 testing
Task Analysis & Scheduling
WBS - Example
9

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
WBS - Example
10


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
WBS Task Refinement
11

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
WBS Task Refinement
12
Refinement of activity A:
Table 2.1. Subtasks within the Design activity
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
Task Analysis & Scheduling
WBS - Task Sequencing
13

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
WBS - Task Sequencing
14

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
WBS - Task Sequencing
15
Task
A-3
Task
A-1
Task
A-2
Task
A-4
Task
A-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
WBS - Task Sequencing
16

Steps for the construction of the software project:
1.
2.
3.
4.
5.
6.
List the deliverables.
For each deliverable, list the activities that are required.
For each activity, list the set of subtasks that are required.
Further refine any of the subtasks by creating the next level
of subtasks, if necessary.
Construct the sequence relationship of the subtasks
Depict the sequence relationship with a sequence diagram
Task Analysis & Scheduling
WBS – Time and Resource Assignments
17

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
WBS – Time and Resource Assignments
18

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
WBS - Time and Resource Assignments
19
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
WBS - Time and Resource Assignments
20
Units of tasks management:
Example of Historical Information
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
Task Analysis & Scheduling
WBS - Time and Resource Assignments
21
3 days
Task
A-1
5 days
Task
A-2
3 days
3 days
Task
A-3
Task
A-4
7 days
2 days
Task
A-5
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
End
5 days
WBS - Time and Resource Assignments
22
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
WBS - Time and Resource Assignments
23
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
WBS - Time and Resource Assignments
24
Estimates and assignments:
Subtasks with time Estimates and People Assignments
Subtask
Person
A-1
P1
A-2
P2
A-3
P3
7 days
A-4
P4
2 days
A-5
P5
5 days
Task Analysis & Scheduling
Sequence time-estimate
5 days
3 days
WBS - Time and Resource Assignments
25
Milestones
Subtask
Person
Sequence time-estimate
A-1
P1
A-2
P2
A-3
P3
7 days
A-4
P4
2 days
A-5
P5
5 days
5 days
3 days
Minor Milestone
Task Analysis & Scheduling
Milestone
WBS - Time and Resource Assignments
26
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
WBS - Time and Resource Assignments
27
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
Task Sequence and Effort representation
28

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
Task sequence/effort table
29
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
Graphical representation of tasks from
previous table
30
Task
B
5
9
Task
A
Task
D
9
11
Task
E
8
7
Task
C
Critical Task
Critical Path
Total project time: 35 days
Non-critical Task
Non-critical Path
Task Analysis & Scheduling
End
Critical versus Non-Critical Paths
31
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
Critical Path Method (CPM)
32
“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
Task Scheduling
33

Forward-pass scheduling


Backward-pass scheduling


Early start time (ES) and early finish (EF)
Late start (LS) and Late finish (LF)
Slack time
Task Analysis & Scheduling
Forward-pass scheduling
34
Task
Tasks
precedence
Task length
Earliest
possible start
time (ES)
A
None
9
0
9
B
A
5
9
14
C
A
7
9
16
D
B,C
11
16
27
E
D
8
27
35
Task Analysis & Scheduling
Earliest
possible finish
time (EF)
Backward-pass scheduling
35
Task
Tasks
precedence
Task length
Late start time
(ES)
Late finish time
(EF)
A
None
9
0
9
B
A
5
11
16
C
A
7
9
16
D
B,C
11
16
27
E
D
8
27
35
Task Analysis & Scheduling
Slack time
36
 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 - ES
Or
Total slack time of a task = LF – EF
e.g., Activity B: LS – ES (11 - 9) or LF – EF (16 - 14) => 2
 Total slack time
 The maximum allowable delay for all non-critical activities.
Task Analysis & Scheduling
Program Evaluation and Review Technique (PERT)
37
 An estimating technique
 assumes each activity duration is subject to a range
estimates
 uses weighting method to arrive at a specific
duration.
Task Analysis & Scheduling
Program Evaluation and Review Technique (PERT)
38
Expected estimate (EE) = [O + P + (4 x A)] / 6
Where
O = most optimistic estimate
P = most pessimistic estimate
A = most likely estimate
Task Analysis & Scheduling
Program Evaluation and Review Technique (PERT)
39
Expected Project time (EPT)
 Sum of expected estimates of the critical tasks.
EPT = Σ(EE of all critical task)
Task Analysis & Scheduling
CPM vs PERT
40
 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
Download