Lecture-04

advertisement
CEN 4021
Software Engineering II
Software Project Planning (POMA)
Task Analysis
Instructor: Masoud Sadjadi
http://www.cs.fiu.edu/~sadjadi/
sadjadi@cs.fiu.edu
CEN 4021
4th Lecture
Acknowledgements

Dr. Onyeka Ezenwoye

Dr. Peter Clarke
CEN 4021: Software Engineering II
4th Lecture
2
Agenda

Software Project Planning (POMA)
– Task Analysis

Work Breakdown Structure (WBS)
CEN 4021: Software Engineering II
4th Lecture
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.
CEN 4021: Software Engineering II
4th Lecture
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
CEN 4021: Software Engineering II
4th Lecture
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.
CEN 4021: Software Engineering II
4th Lecture
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
CEN 4021: Software Engineering II
4th Lecture
Flow of WBS to schedule
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
CEN 4021: Software Engineering II
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
4th Lecture
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 testing
CEN 4021: Software Engineering II
4th Lecture
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.

Choice of activities and sequence depends on:
1. The size and complexity of both the problem and the solution,
CEN 4021: Software Engineering II
4th Lecture
WBS - Example
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.
CEN 4021: Software Engineering II
4th Lecture
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
CEN 4021: Software Engineering II
4th Lecture
WBS Task Refinement
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
CEN 4021: Software Engineering II
4th Lecture
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.
CEN 4021: Software Engineering II
4th Lecture
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.
CEN 4021: Software Engineering II
4th Lecture
WBS - Task Sequencing
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.
CEN 4021: Software Engineering II
4th Lecture
WBS - Task Sequencing

Steps for the construction of the software project:
1.
2.
3.
4.
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.
5. Construct the sequence relationship of the subtasks
6. Depict the sequence relationship with a sequence diagram
CEN 4021: Software Engineering II
4th Lecture
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.
CEN 4021: Software Engineering II
4th Lecture
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)
CEN 4021: Software Engineering II
4th Lecture
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
CEN 4021: Software Engineering II
4th Lecture
WBS - Time and Resource Assignments
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
CEN 4021: Software Engineering II
4th Lecture
WBS - Time and Resource Assignments
3 days
Task
A-1
5 days
Task
A-2
3 days
3 days
Task
A-3
Task
A-4
Task
A-5
7 days
2 days
End
5 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.
CEN 4021: Software Engineering II
4th Lecture
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.
CEN 4021: Software Engineering II
4th Lecture
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.
CEN 4021: Software Engineering II
4th Lecture
WBS - Time and Resource Assignments
Estimates and assignments:
Subtasks with time Estimates and People Assignments
Subtask
Person
A-1
P1
A-2
P2
A-3
P3
A-4
P4
A-5
P5
CEN 4021: Software Engineering II
Sequence time-estimate
5 days
3 days
7 days
2 days
5 days
4th Lecture
WBS - Time and Resource Assignments
Milestones
Subtask
Person
A-1
P1
A-2
P2
A-3
P3
A-4
P4
A-5
P5
Sequence time-estimate
5 days
3 days
7 days
2 days
5 days
Minor Milestone
CEN 4021: Software Engineering II
Milestone
4th Lecture
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.
CEN 4021: Software Engineering II
4th Lecture
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.
CEN 4021: Software Engineering II
4th Lecture
Download