cen 4021 4 th lecture cen 4021 software engineering ii instructor: masoud sadjadi sadjadi/...

28
CEN 4021 4 th Lecture CEN 4021 CEN 4021 Software Engineering II Software Engineering II Instructor: Masoud Sadjadi http://www.cs.fiu.edu/~sadjadi/ [email protected] Software Project Planning (POMA) Task Analysis

Upload: jemima-mosley

Post on 30-Dec-2015

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CEN 4021 4 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

CEN 4021 4th Lecture

CEN 4021 CEN 4021 Software Engineering II Software Engineering II

Instructor: Masoud Sadjadi

http://www.cs.fiu.edu/~sadjadi/

[email protected]

Software Project Planning (POMA)Task Analysis

Page 2: CEN 4021 4 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

4th LectureCEN 4021: Software Engineering II

AcknowledgementsAcknowledgements

Dr. Onyeka Ezenwoye

Dr. Peter Clarke

2

Page 3: CEN 4021 4 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

4th LectureCEN 4021: Software Engineering II

AgendaAgenda

Software Project Planning (POMA)– Task Analysis

Work Breakdown Structure (WBS)

Page 4: CEN 4021 4 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

4th LectureCEN 4021: Software Engineering II

Work Breakdown Structure 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.

Page 5: CEN 4021 4 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

4th LectureCEN 4021: Software Engineering II

Work Breakdown StructureWork 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

Page 6: CEN 4021 4 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

4th LectureCEN 4021: Software Engineering II

Work Breakdown StructureWork 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.

Page 7: CEN 4021 4 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

4th LectureCEN 4021: Software Engineering II

Work Breakdown StructureWork 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

Page 8: CEN 4021 4 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

4th LectureCEN 4021: Software Engineering II

Identify and list all

deliverables

For each deliverable:Identify and list thenecessary tasks for

completing 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

FlowFlow ofof WBSWBS toto scheduleschedule

Page 9: CEN 4021 4 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

4th LectureCEN 4021: Software Engineering II

WBS - ExampleWBS - 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

Page 10: CEN 4021 4 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

4th LectureCEN 4021: Software Engineering II

WBS - ExampleWBS - 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,

Page 11: CEN 4021 4 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

4th LectureCEN 4021: Software Engineering II

WBS - ExampleWBS - 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.

Page 12: CEN 4021 4 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

4th LectureCEN 4021: Software Engineering II

WBS Task RefinementWBS 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

Page 13: CEN 4021 4 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

4th LectureCEN 4021: Software Engineering II

WBS Task RefinementWBS 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

Page 14: CEN 4021 4 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

4th LectureCEN 4021: Software Engineering II

WBS - Task SequencingWBS - 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.

Page 15: CEN 4021 4 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

4th LectureCEN 4021: Software Engineering II

WBS - Task SequencingWBS - 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.

Page 16: CEN 4021 4 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

4th LectureCEN 4021: Software Engineering II

WBS - Task SequencingWBS - 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.

Page 17: CEN 4021 4 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

4th LectureCEN 4021: Software Engineering II

WBS - Task SequencingWBS - 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

Page 18: CEN 4021 4 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

4th LectureCEN 4021: Software Engineering II

WBS – Time and Resource WBS – Time and Resource AssignmentsAssignments

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.

Page 19: CEN 4021 4 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

4th LectureCEN 4021: Software Engineering II

WBS – Time and Resource WBS – Time and Resource AssignmentsAssignments

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)

Page 20: CEN 4021 4 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

4th LectureCEN 4021: Software Engineering II

WBS - Time and Resource WBS - Time and Resource AssignmentsAssignments

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

Page 21: CEN 4021 4 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

4th LectureCEN 4021: Software Engineering II

WBS - Time and Resource WBS - Time and Resource AssignmentsAssignments

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

Page 22: CEN 4021 4 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

4th LectureCEN 4021: Software Engineering II

WBS - Time and Resource WBS - Time and Resource AssignmentsAssignments

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.

Page 23: CEN 4021 4 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

4th LectureCEN 4021: Software Engineering II

WBS - Time and Resource WBS - Time and Resource AssignmentsAssignments

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.

Page 24: CEN 4021 4 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

4th LectureCEN 4021: Software Engineering II

WBS - Time and Resource WBS - Time and Resource AssignmentsAssignments

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.

Page 25: CEN 4021 4 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

4th LectureCEN 4021: Software Engineering II

WBS - Time and Resource WBS - Time and Resource AssignmentsAssignments

Estimates and assignments:

Subtasks with time Estimates and People Assignments

Subtask Person Sequence time-estimate

A-1 P1

A-2 P2

A-3 P3

A-4 P4

A-5 P5

5 days

3 days

7 days

2 days

5 days

Page 26: CEN 4021 4 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

4th LectureCEN 4021: Software Engineering II

WBS - Time and Resource WBS - Time and Resource AssignmentsAssignments

Milestones

Subtask Person Sequence time-estimate

A-1 P1

A-2 P2

A-3 P3

A-4 P4

A-5 P5

5 days

3 days

7 days

2 days

5 days

Minor Milestone Milestone

Page 27: CEN 4021 4 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

4th LectureCEN 4021: Software Engineering II

WBS - Time and Resource WBS - Time and Resource AssignmentsAssignments

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.

Page 28: CEN 4021 4 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

4th LectureCEN 4021: Software Engineering II

WBS - Time and Resource WBS - Time and Resource AssignmentsAssignments

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.