software project management (intro) scheduling. introduction in addition to the effort forecast for...

21
Software project management Software project management (intro) (intro) Scheduling Scheduling

Post on 22-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Software project management (intro)Software project management (intro)

SchedulingScheduling

IntroductionIntroduction

In addition to the effort forecast for a project, a detailed In addition to the effort forecast for a project, a detailed plan for the project must include a plan for the project must include a scheduleschedule indicating indicating the start and completion times, which will enable us:the start and completion times, which will enable us:

Ensure that appropriate resources will be available precisely Ensure that appropriate resources will be available precisely when requiredwhen required

Avoid different activities competing for the same resources at the Avoid different activities competing for the same resources at the same timesame time

Produce a detailed schedule showing which staff carry out each Produce a detailed schedule showing which staff carry out each activityactivity

Produce detailed plan against which actual achievent may be Produce detailed plan against which actual achievent may be measuredmeasured

Produce a timed cash flow forecastProduce a timed cash flow forecast Re-plan the project during its life to correct drift from the targetRe-plan the project during its life to correct drift from the target

Objectives of activity planningObjectives of activity planning

Feasibility assessmentFeasibility assessment

Resource allocationResource allocation

Detailed costingDetailed costing

MotivationMotivation

Co-ordinationCo-ordination

When to plan?When to plan?

Throughout the project, monitoring and re-Throughout the project, monitoring and re-planning must continue to correct any drift that planning must continue to correct any drift that might prevent meeting the time or cost targetsmight prevent meeting the time or cost targetsPlanning is an ongoing process of refinement, Planning is an ongoing process of refinement, each iteration becoming more detailed and more each iteration becoming more detailed and more accurate than the lastaccurate than the lastPurpose of project planning:Purpose of project planning: During the feasibility study and project start up During the feasibility study and project start up

Estimates timescales and the risks Estimates timescales and the risks Beyond feasibility study:Beyond feasibility study:

The production of activity plans to ensure resource The production of activity plans to ensure resource availability and cash flow controlavailability and cash flow control

Project schedulesProject schedules

Creating project schedules comprises four Creating project schedules comprises four main stages:main stages: Decide what activities need to be carried out Decide what activities need to be carried out

and in what order they are to be doneand in what order they are to be done Construct an ideal activity planConstruct an ideal activity plan

That is, no constraint on resourcesThat is, no constraint on resources Allocate resource Allocate resource Produce scheduleProduce schedule

Project and activitiesProject and activities-- What are they?-- What are they?

A project is composed of a number of inter-related A project is composed of a number of inter-related activitiesactivitiesA project may start when at least one of its activities is A project may start when at least one of its activities is ready to startready to startA project will be completed when all of the activities have A project will be completed when all of the activities have been completedbeen completedAn activity must have a clearly defined start and end-pointAn activity must have a clearly defined start and end-pointResource requirement of an activity must be forecast-able Resource requirement of an activity must be forecast-able Duration of an activity must be forecast-ableDuration of an activity must be forecast-ableSome activities might require that others are completed Some activities might require that others are completed before they beginbefore they begin

Identifying activitiesIdentifying activities

Three approaches:Three approaches:

1.1. The activity based approachThe activity based approach

2.2. Product-based approachProduct-based approach

3.3. Hybrid approachHybrid approach

Activity based approachActivity based approach

Creating a list of all involved activities in the Creating a list of all involved activities in the project project

Work Breakdown Structure (WBS)Work Breakdown Structure (WBS) The WBS can be conceived as a tree, The WBS can be conceived as a tree,

with the project as the root node, with the project as the root node,

major components of the project as the main branches, and major components of the project as the main branches, and

tasks/subtasks branch off from these. tasks/subtasks branch off from these. A WBS may be a diagram or a text list.A WBS may be a diagram or a text list.

Activity based approach (2)Activity based approach (2)

WBS ExampleWBS Example

Project

Analyze ProjectDesign

Data design Process design Physical design

Relational data analysis

Logical data analysis

Activity based approach (3)Activity based approach (3)Example of Textual WBSExample of Textual WBS

33.01 MOBILIZATION AND PREPARATORY WORK33.01.01 MOBILIZATION OF CONSTRUCTION EQUIP. AND FACILITIES33.01.02 MOBILIZATION OF PERSONNEL33.01.03 PRECONSTRUCTION SUBMITTALS/IMPLEMENTATION PLANS33.01.03.01 Erosion Control Plan33.01.03.04 Environmental Protection Plan(etc)33.01.03.14 Construction Quality Control Plan33.01.04 SETUP/CONSTRUCT TEMPORARY FACILITIES(etc)33.01.05 CONSTRUCT TEMPORARY UTILITIES

33.02 MONITORING, SAMPLING, TESTING, AND ANALYSIS33.02.03 AIR MONITORING AND SAMPLING(etc)

33.03 SITE WORK33.03.04 ROADS/PARKING/CURBS/WALK33.03.04.03 Aggregate Surfacing(Source: US Army Corps of Engineers)

Product Based ApproachProduct Based Approach

Producing Producing Product Breakdown Structure (PBS) Product Breakdown Structure (PBS)

identifies all the productsidentifies all the products Product Flow Diagram (PFD)Product Flow Diagram (PFD)

shows how products interrelateshows how products interrelate

Product Based Approach (2)Product Based Approach (2)

PBS ExamplePBS ExampleRequirement Specification

Data catalogue Processing specificationRequirement catalogue

Attribute/Data Itemdescription

Grouped domaindescription

Logical data model

User Role/Function Matrix

Functiondefinition

Entity lifeHistory

Enquiry Access Path

I/OStructure

Elementary Process Description

Product Based Approach (2)Product Based Approach (2)

The Product Flow Diagram shows which products must The Product Flow Diagram shows which products must be complete before the next can be producedbe complete before the next can be produced

Most items in the diagram are things the customer needs, Most items in the diagram are things the customer needs, eg. design documentation, software, manualseg. design documentation, software, manuals

indicated by boxesindicated by boxes Some items are intermediate products, needed only to help Some items are intermediate products, needed only to help

produce other products, produce other products, eg. first cut database design eg. first cut database design

indicated by boxes indicated by boxes Some items will exist already,Some items will exist already,

eg. feasibility study report, terms of referenceeg. feasibility study report, terms of reference

indicated by ellipses (ovals)indicated by ellipses (ovals) Arrows indicate that one product is required in order to produce Arrows indicate that one product is required in order to produce

the next the next

Product Based Approach (3)Product Based Approach (3)

PFD ExamplePFD Example

Hybrid ApproachHybrid ApproachCreate a WBS that is based upon the project’s products, Create a WBS that is based upon the project’s products, which is in turn based on a simple list of deliverables and which is in turn based on a simple list of deliverables and a set of activities for each deliverablea set of activities for each deliverable

Project

Installed System User manualSoftware component

Analyze req.

Outline design

Training course

Integrate system

Test system

review req.

Outline design

Code software

Test software

Sequencing and Scheduling Sequencing and Scheduling ActivitiesActivities

To sequence the task according to their To sequence the task according to their logical relationship, andlogical relationship, and

To schedule them taking into account To schedule them taking into account resources and other factorsresources and other factors

Events versus activitiesEvents versus activities

Event Event = a point in time= a point in time has no durationhas no duration e.g the e.g the startstart or or end end of an activityof an activity

ActivityActivity = a task or an action with a = a task or an action with a recognizable recognizable startstart and and finishfinish and a and a durationduration

Prepare breakfast Eat breakfast

activities

events

Start and finish timesStart and finish times

Activity ‘write report software’Activity ‘write report software’

Earliest start (ES)Earliest start (ES)

Earliest finish (EF) = ES + durationEarliest finish (EF) = ES + duration

Latest finish (LF) = latest task can be Latest finish (LF) = latest task can be completed without affecting project end completed without affecting project end Latest start = LF - durationLatest start = LF - duration

Earliest start

Latest start

Latestfinish

Earliest finish

activity

ExampleExample

earliest start = day 5earliest start = day 5

latest finish = day 30latest finish = day 30

duration = 10 daysduration = 10 days

earliest finish = ?earliest finish = ?

latest start = ? latest start = ?

Float = LF - ES - duration

What is it in this case?

FloatFloat

Float = Latest finish - Earliest start -

Duration

ES

Latest start

activity

LFFLOAT

Critical pathCritical path

Note the path through network with zero Note the path through network with zero floatsfloatsCritical path: any delay in an activity on Critical path: any delay in an activity on this path will delay whole projectthis path will delay whole projectCan there be more than one critical Can there be more than one critical path?path?Can there be no critical path?Can there be no critical path?Sub-critical pathsSub-critical paths