Lecture 11 (Scheduling)

39
Lecture 11 (Scheduling) Dr. Sheela Ramanna Applied Computer Science University of Winnipeg This class- Chapter 14 and 15

Transcript of Lecture 11 (Scheduling)

Page 1: Lecture 11 (Scheduling)

Lecture 11 (Scheduling)

Dr. Sheela Ramanna

Applied Computer Science

University of Winnipeg

This class-Chapter 14 and 15

Page 2: Lecture 11 (Scheduling)

Introduction and TerminologyCompetencies and Definitions, SDLC Chap.1 and 3 Jan 7 Selecting SDLC -- Review of Process Models Chap. 4 Jan 12 Process Models Jan 14

Planning and OrganizationProject Teams and Roles --Team Selection Chap.6, 12, 29 Jan. 19 Project Planning and WBS – Proj.Proposal/Charter Chap.7 and 8 Jan. 21 Tasks, Activities -- Project Plan Creation +Review Chap. 9 Jan. 26

Quiz 1 Jan. 28 Software Sizing – Size Estimation Models Chap.10 Feb. 2

Software Sizing – Size Estimation Models Feb 4 Estimating Duration and Cost Chap. 11 Feb 9

Estimating Duration and Cost Feb.11

Reading Week Break Feb. 14-20

Problem Solving Class – Sizing and Estimation Feb. 23

Quiz 2 Feb. 25

Scheduling – PERT/CPM Scheduling Models Chap. 14 and 15 Mar. 2

Requirements Specification—Creating SSR Chap. 16 and 17 Mar. 4 Problem Solving Class -PERT Mar. 9

Risk Management – Quantitative Risk Assessment Chap. 18 Mar. 11 Software Metrics –Product and Process Metrics Chap. 21 Mar.16 Software Metrics Metrics Continued Chap. 21 Mar. 18 Problem Solving Class -Metrics Mar. 23

V&V- Testing strategies, test coverage and path measures

Chap. 23 Mar. 25

Monitoring and ControlProject Tracking and Control Chap. 25 Mar. 30

SQA and SCM Chap. 30, 31 April 1 Problem Solving (V&V) + Review April 6

Page 3: Lecture 11 (Scheduling)

Why a schedule

It reflects all the relationships of activitiesas best understood by a team mapped into a real-world calendar and includes true productive working hours allows for inevitable uncertainty

A planned schedule is “just” a team’s best guess of the future

Number of ways to represent a schedule Table (non-graphical and is a list of activities with a start

and finish date) GANTT (graphical and provides a good high-level view of

the project schedule (phases/sub phases) PERT/CPM can be used for analysis of a schedule. Also

called as networking diagrams that can be used to show precedence)

Page 4: Lecture 11 (Scheduling)

Process for building a “real” schedule

1. Develop the WBS What activities must be done

Who will do each one

[What materials/supplies are required? How much will it cost] -- costing aspect

2. Identify activity dependencies What can be done first? What can be done next?

Parallel activities

3. Develop a network diagram (PERT) from WBS and dependency information

4. Do CPM analysis computations (time) ED, ECT, LCT Is the total project durations acceptable?

5. Find and analyze critical path activities6. Perform resource allocation7. Convert the network to Gantt chart

Page 5: Lecture 11 (Scheduling)

Scheduling- considering dependencies

Dependencies are any relationship connections between activities in a project that may impact the schedule One form of constraint

Is a product oriented WBS sufficient to understand all dependencies? WBS shows only hierarchical ones

(not cross-branch)

A project team must find as many dependencies as possible amongst activities

A B

Activity

External vs. Internal

Activity limited vs. Resource limited

Page 6: Lecture 11 (Scheduling)

External dependencies

These would include any connections to work products of other projects

Source of external dependencies Stakeholders

Suppliers

Outsourcing

Dependency on another project’s schedule where there is little or no control

Best shown as a milestone

Page 7: Lecture 11 (Scheduling)

Internal dependencies

These would include any connections to activities within the project. These tend to be project specific

Direct result of relationships between components in a product-oriented WBS

Examples: Project plan sign-offs and approvals

Page 8: Lecture 11 (Scheduling)

Finish to Start DependencyActivity Dependency

Most common type of dependency

Ex: “build tests” must finish before “execute tests”

Usually the default relationship for “linked” activities in most PM tools

A B

FS

Page 9: Lecture 11 (Scheduling)

Start to Start Dependency

Activity B starts when Activity A starts

Set of simultaneous activities based on a trigger event

Ex: Activity A: Interview Users

Activity B: Review Standards

A

B

SS

Page 10: Lecture 11 (Scheduling)

Finish to Finish Dependency

Activity B cannot be finished until Activity A is completed

These tasks must finish at the same time

Ex: Activity A: Project Completion Seminar Activity B: System Demonstration

A

B

FF

Page 11: Lecture 11 (Scheduling)

Special Types of Relationships

Lag and lead modifiers

Start or finish of one of the dependency types is slipped-out (lagged) or pulled-up (led) by a certain time period

That is Activity C cannot start until 10 days after Activity A has finished

A BFS

C

+10 (lag)

Prepare for Interview

Conduct Interview

ReviewModeling

techniques

Page 12: Lecture 11 (Scheduling)

Identifying dependencies-Summary

- Brainstorm activity list-Find all affinity groups-Find highest level WBS-Capture WBS representation-Find dependencies

Page 13: Lecture 11 (Scheduling)

Tabular representation of a schedule

Task Task Estimated Actual Estimated Estimated Actual Actual Assigned Performed

No Title Hours Hours Start Date Complete Date Start Date Complete Date

To By

1.1 Plan organize, and Control

20.00 10-Sep-99 8-Oct-99 CJ,MM

1.2 Team meetings 20.00 10-Sep-99 8-Oct-99 TEAM

1.3 Review Team Roles 2.00 14-Sep-99 19-Sep-99 TEAM 1.4 Review Repositories 18.00

1.5 Initial User meeting 21-Sep-99 25-Sep-99 TEAM

1.5.1 Prepare Questions 10.00 21-Sep-99 22-Sep-99 TEAM

1.5.2 Prepare for User Meeting

2.00 21-Sep-99 22-Sep-99 TEAM

1.5.3 Conduct User Meeting

3.00 23-Sep-99 23-Sep-99 TEAM

1.5.4 Review User Meeting

15.00 24-Sep-99 25-Sep-99 TEAM

1.6 Project Proposal

1.6.1 Draft Proposal 20.00 24-Sep-99 27-Sep-99 CJ,MM

1.6.2 Review Proposal With Director

2.00 28-Sep-99 28-Sep-99 CJ

1.6.3 Revise Proposal 6.00 29-Sep-99 29-Sep-99 CJ,MM

1.6.4 Deliver Proposal to User

2.00 30-Sept-99 30-Sept-99 CJ,MM,FD

1.7 Project Plan

1.7.1 Draft Project Plan 15.00 28-Sep-99 1- Oct-99 CJ,MM

1.7.2 Review Plan With Director

2.00 3-Oct-99 3-Oct-99 CJ

1.7.3 Revise Plan 2.00 6-Oct-9 8-Oct-99 CJ,MM,FD

1.8 Repositories

1.8.1 Prepare Binder Filing material with IS Director

1.00 8-Oct-99 8-Oct-99 FD

1.9 Contingency Tasks 10.00 TEAM

Total 150.00

Page 14: Lecture 11 (Scheduling)

Gantt Charts

Developed by Henri Gantt (1903) for planning and controlling military campaigns

Useful for simpler projects Popular because of its simplicity and depicts the

schedule on a very high level Does not show dependencies well

Especially when there are complex dependencies between a large number of tasks

It does show time overlap and visually shows the duration of a task

It is activity (task) driven It can be shown either manually or using a tool (ex:

Microsoft Project)

Page 15: Lecture 11 (Scheduling)

Gantt Chart for SDLC - High Level

Sep Oct Nov Dec Jan Feb Mar Apr

1. Initiation 2. System Study 3. Detailed Design 4. Implementation 5. Installation 6. Maintenance

Page 16: Lecture 11 (Scheduling)

Tracking Progress with Gantt Charts

Sep Oct Nov Dec Jan Feb Mar Apr

initiation system study design implementation installation maintenance

Today

Page 17: Lecture 11 (Scheduling)

Case Tool

SOFTWARE DEVELOPMENTTASKS November December January February March April May June

Needs analysis

Preliminarydesign

Project approval January5

GUI designedand created

Programming

Alpha testing

Documentation

Beta testing

Final QAanalysis

Web site design

Release June 18

Page 18: Lecture 11 (Scheduling)

Gantt Chart with Milestones

Sep Oct Nov Dec Jan Feb Mar Apr

1. Initiation 2. System Study 3. Detailed Design 4. Implementation 5. Installation 6. Maintenance

Page 19: Lecture 11 (Scheduling)

MONTHS

TASKS StartDate

Enddate March April May June July August Duration

(days) Cost

Contractwriting 3/01 3/30

4/082938

$50,000$54,901

Contractsigning

4/044/09

4/044/09 1 $400

Securefinancing

4/044/09

4/105/04

625

$3,500$6,234

Obtainpermits

4/044/09

4/175/01

1322 $1,200

Site work 4/105/01

6/286/07

7937

$1,500,000$1,200,000

Plumbing 6/286/07

7/207/03

2226 $43,000

Electricity 6/286/07

7/20 2243

$36,000$51,050

Roof 7/20 8/108/05

2116

$23,000$22,548

Inspection 8/108/05

8/108/05 1 $1000

Move in 8/24 8/24 1

RESIDENTIAL CONSTRUCTION

LEGENDPlanned duration

Actual duration

Planned milestone

Actual milestone

Planned

Actual

GANTT CHARTGantt charts can show the difference between the planned and actual duration of tasksto aid in the analysis of the project development process. Gantt charts can also show the costassociated with each task and the persons or departments responsible for each task.

Page 20: Lecture 11 (Scheduling)

Qtr 1 Qtr 2 Qtr 3 Qtr 4

Project Steps: Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec

Explore Market Need

Develop Concept for Product

Begin Development Cycle

Develop GUI

User Interface Test Evaluation

Alpha Version Release

Quality Assurance Testing Phase 1

Fix Outstanding Problems from Alpha

Beta Version Release

Quality Assurance Testing Phase 2

Fix Outstanding Problems from Beta

Design Box and CD Labels

Begin Advance Advertising Campaign

FCS Preparation

Final Quality Assurance Testing

FCS Release

Production and Packaging

Project Development Schedule

Development

QA Testing

Marketing

Box Art

Milestones

Page 21: Lecture 11 (Scheduling)

PERT(Project Evaluation and Review Technique) Charts

Developed in 1950s to plan and control large weapons development

Used to show status of projects and control schedule slippage

Three estimates are made for each task

most-likelyBest (Optimistic)Worst(pessimistic)

A PERT chart shows events and tasks

Page 22: Lecture 11 (Scheduling)

PERT Charts – One representation

Nodes represent activities

Each node has 3 representations of time

ED (Estimated Duration), ECT (Earliest Completion Time) and LCT (Latest Completion Time)

Duration could be hours, days, weeks months or years

Arrows represent dependency

Dummy node is a synchronizing task/activity with duration of 0.

Notation used by most CASE tools

Page 23: Lecture 11 (Scheduling)

CASE Interpretation- PERT Chart

ED= 4ED=3

ED=6 ED=2

ED=6

ED=2ED=2

ECT=4LCT=4

ECT=7LCT=7

ECT=6LCT=6

ECT=13LCT=13

ECT=8LCT=19

ECT=19LCT=19

ECT=15LCT=19

ECT=19LCT=19

A

ED=0

B

C

D

E

F

G

Dummy

Page 24: Lecture 11 (Scheduling)

ED, ECT and LCT Computation Expected Duration

ED =( OT + (4* MLT) + PT) / 6

where OT - Optimistic time and PT - Pessimistic time and MLT - Most likely Time

ECT(n) - Earliest Completion Time of node (n)

largest ECT of connected preceding tasks + ED of task on node n

LCT (n) - Latest Completion Time

smallest ECT of connected succeeding event - ED of task on smallest n+1th node

Page 25: Lecture 11 (Scheduling)

Calculation of ECT

ECT - is calculated starting from node 1 to node n.

First node: ECT(A) = 4 and LCT (A) = 4

ECT(B) = largest ECT of connected preceding tasks + ED of task on node n ECT(B) = ECT (A) + 3

ECT(B) = 7

ECT(C) = 4 +2

ECT (G) = ECT(D) + 6

= 13+6 = 19

ECT (Dummy) = max (ECT(F), ECT(G), ECT(E)) + 0

= 19+0

Page 26: Lecture 11 (Scheduling)

Calculation of LCT

LCT - is calculated starting from node n to node 1. Last node: LCT (Dummy) = ECT(Dummy) = 19

smallest ECT of connected succeeding event - ED of task on smallest n+1th node

LCT (F) = 19-0

LCT (G) = 19-0 and LCT(E) = 19-0

LCT (D) = Min (ECT(F), ECT(G))

= Min (15,19) - ED of task on smallest n+1th node

= 15-2 = 13

Page 27: Lecture 11 (Scheduling)

PERT Charts (Network Diagram)

Useful in planning (estimated times)

Useful in control (critical path tasks can be monitored carefully)

Its chief drawback is that it cannot show overlap but does show which tasks can be done in parallel

Uses an assembly line approach

Hence the combination of PERT and GANTT charts are more effective

Page 28: Lecture 11 (Scheduling)

PERT Charts- Other Features

Allows calculation on probabilities for accomplishing a task on or before a certain date

Designed to produce continuous program evaluation

RISK:

Excessive number of activities scheduled in parallel

For large projects (with many activities), the diagram can get “messy”

Page 29: Lecture 11 (Scheduling)

Critical Path Method (CPM)

Focus is on the idea of “float”

It is a path that has no slack time built in

Slack time = LCT - ECT

That is every node on the path has its ECT=LCT

Significance:

If any task on the critical path is delayed, then the whole project is delayed

Is a sequence of dependent tasks that have the largest sum of estimated durations.

Page 30: Lecture 11 (Scheduling)

CASE TOOL SYMBOLS -PERT

TASK

Assigned to:

BT WT AT

TASKAssigned to:

Optimumduration

TASKS

Assigned to

BT WT AT

TASK

Optimumduration:

BT WT AT

Persons responsible

TASKS

TASKPerson(s)

ResponsibleBT WT AT

day day day

Event Symbol

BT- Best TimeWT – Worst TimeAT – Average Time

Page 31: Lecture 11 (Scheduling)

1

2

3

4

6ACTIVITIES

a Code game engine

b Brainstorm and develop rules

c Design the interface

d Integrate rules in code

e Integrate interface with code

f Debug

g Write user manual and help files

h Design and create additional monsters

i Design special effects

j Integrate monsters with code

k Integrate special effects

l Design and write web site

m Launch web site

n Package game, produce CDs

- GAME DESIGN

5

7

EVENTS1 Project start

2 Game Rule Specifications

3 User Interface Specifications

4 Game Engine Code Complete

5 Additional Monsters Added

6 Special Effects Added

7 Quality Assurance Testing

8 Documentation

9 Web Site Design

10 Release

8

9

10a

b

c

d

ef g

h

i

j

k

l m

n

Critical tasks

Non - Critical tasks

Events

CRITICAL PATH METHOD(CPM) ORCRITICAL PATH ANALYSIS (CPA)

In this CPM or CPA, the eventsand activities are coded in lettersand numbers. The critical tasksshould be bold or red to drawattention to them.

Page 32: Lecture 11 (Scheduling)

Coded Chart

Page 33: Lecture 11 (Scheduling)

LabeledChart

ET- Earliest TimeLT- Latest Time

Page 34: Lecture 11 (Scheduling)

Week 1 Week 2 Week 3 Week 4 Week 5

DESIGNAngela, Rob, JuliaBT WT AT

1 day 5days

3days

BUY CLAY Rob

BT WT AT

1 day 3days

2days

BUY GLAZEJulia

BT WT AT

1 day 3days

2days

GROUP SCULPTURE PROJECT

SCULPT CHAIR Angela

BT WT AT4

days10

days7

days

SCULPT BODY Rob

BT WT AT6

days12

days9

days

GLAZEJulia

BT WT AT

1 day 3days

2days

SELLAngela, Rob, JuliaBT WT AT

1 day 5days

3days

BT= Best time WT= Worst time AT=Average Time

Time Scaled

Page 35: Lecture 11 (Scheduling)

Visit Client

CRITICAL PATH METHOD(CPM) ORCRITICAL PATH ANALYSIS (CPA)

Analyze data

Conduct interviews

Identifyproblems

Research solutions

Critical Tasks

Normal Tasks

Events

Outlineplan

FinalizeSolution

Organize and Consolidate

PresentSolution toClient

CONSULTING PROJECT

A CPM or CPA chart defines the longest sequence ofdependent tasks that leads to the completion of a project.These charts are modified PERT and Gantt charts that drawattention to the fact that any delay along a critical path oftasks will lead to a delay in the project. Tasks critical to thecompletion of the project are usually indicated by boldor red colored arrows.

Page 36: Lecture 11 (Scheduling)

Resource Leveling

When all the activities from the WBS are scheduled using the PERT/CPM technique, the next step is to assign resources (e.g., people) to the activities

Load leveling is the process of rescheduling tasks that have available slack to achieve a more balanced distribution of resource usage

Based on linear programming or other mathematical techniques

Page 37: Lecture 11 (Scheduling)

Mapping a schedule to a real calendar

Four major components of any scheduled activity needs to be considered Work – Staff-days of estimated effort to complete

the activity ( e.g., design an administrator screen –24 staff days)

Units – Number of resources (people) needed to perform the activity – (e.g, 4 team members)

Duration – Actual number of workdays needed for the resources (units) to perform the work(e.g., 24/4 = 20 workdays)

Dates - Calendar days assuming 5 working days/per week – 4 weeks)

Page 38: Lecture 11 (Scheduling)

PERT Chart Information

Page 39: Lecture 11 (Scheduling)

PERT

1

2

3

4

5

6

8

7