Scheduling Software project management (intro)

advertisement
Software project management (intro)
Scheduling
Introduction
In addition to the effort forecast for a project, a detailed
plan for the project must include a schedule indicating
the start and completion times, which will enable us:






Ensure that appropriate resources will be available precisely
when required
Avoid different activities competing for the same resources at the
same time
Produce a detailed schedule showing which staff carry out each
activity
Produce detailed plan against which actual achievent may be
measured
Produce a timed cash flow forecast
Re-plan the project during its life to correct drift from the target
Objectives of activity planning
Feasibility assessment
Resource allocation
Detailed costing
Motivation
Co-ordination
When to plan?
Throughout the project, monitoring and replanning must continue to correct any drift that
might prevent meeting the time or cost targets
Planning is an ongoing process of refinement,
each iteration becoming more detailed and more
accurate than the last
Purpose of project planning:

During the feasibility study and project start up
Estimates timescales and the risks

Beyond feasibility study:
The production of activity plans to ensure resource
availability and cash flow control
Project schedules
Creating project schedules comprises four
main stages:


Decide what activities need to be carried out
and in what order they are to be done
Construct an ideal activity plan
That is, no constraint on resources


Allocate resource
Produce schedule
Project and activities
-- What are they?
A project is composed of a number of inter-related
activities
A project may start when at least one of its activities is
ready to start
A project will be completed when all of the activities have
been completed
An activity must have a clearly defined start and endpoint
Resource requirement of an activity must be forecastable
Duration of an activity must be forecast-able
Some activities might require that others are completed
before they begin
Identifying activities
Three approaches:
1. The activity based approach
2. Product-based approach
3. Hybrid approach
Activity based approach
Creating a list of all involved activities in the
project
Work Breakdown Structure (WBS)

The WBS can be conceived as a tree,
with the project as the root node,
major components of the project as the main branches, and
tasks/subtasks branch off from these.

A WBS may be a diagram or a text list.
Activity based approach (2)
WBS Example
Project
Analyze
Data design
Relational data
analysis
Design
Process design
Logical data
analysis
Project
Physical design
Activity based approach (3)
Example of Textual WBS
33.01 MOBILIZATION AND PREPARATORY WORK
33.01.01 MOBILIZATION OF CONSTRUCTION EQUIP. AND FACILITIES
33.01.02 MOBILIZATION OF PERSONNEL
33.01.03 PRECONSTRUCTION SUBMITTALS/IMPLEMENTATION PLANS
33.01.03.01 Erosion Control Plan
33.01.03.04 Environmental Protection Plan
(etc)
33.01.03.14 Construction Quality Control Plan
33.01.04 SETUP/CONSTRUCT TEMPORARY FACILITIES
(etc)
33.01.05 CONSTRUCT TEMPORARY UTILITIES
33.02 MONITORING, SAMPLING, TESTING, AND ANALYSIS
33.02.03 AIR MONITORING AND SAMPLING
(etc)
33.03 SITE WORK
33.03.04 ROADS/PARKING/CURBS/WALK
33.03.04.03 Aggregate Surfacing
(Source: US Army Corps of Engineers)
Product Based Approach
Producing

Product Breakdown Structure (PBS)
identifies all the products

Product Flow Diagram (PFD)
shows how products interrelate
Product Based Approach (2)
PBS Example
Requirement Specification
Data catalogue
Attribute/Data Item
description
Grouped domain
description
Requirement catalogue
User Role/
Function Matrix
I/O
Structure
Processing specification
Function
definition
Enquiry
Access Path
Logical data
model
Entity life
History
Elementary Process
Description
Product Based Approach (2)
The Product Flow Diagram shows which products must
be complete before the next can be produced

Most items in the diagram are things the customer needs,
eg. design documentation, software, manuals
indicated by boxes

Some items are intermediate products, needed only to help
produce other products,
eg. first cut database design
indicated by boxes

Some items will exist already,
eg. feasibility study report, terms of reference
indicated by ellipses (ovals)

Arrows indicate that one product is required in order to produce
the next
Product Based Approach (3)
PFD Example
Hybrid Approach
Create a WBS that is based upon the project’s products,
which is in turn based on a simple list of deliverables and
a set of activities for each deliverable
Project
Installed System
Software component
User manual
Analyze req.
review req.
Outline design
Outline design
Integrate system
Code software
Test system
Test software
Training course
Sequencing and Scheduling
Activities
To sequence the task according to their
logical relationship, and
To schedule them taking into account
resources and other factors
Events versus activities
Event = a point in time


has no duration
e.g the start or end of an activity
Activity = a task or an action with a
recognizable start and finish and a
duration
events
Prepare breakfast
Eat breakfast
activities
Start and finish times
Latest
finish
Earliest start
activity
Latest start
Earliest finish
Activity ‘write report software’
Earliest start (ES)
Earliest finish (EF) = ES + duration
Latest finish (LF) = latest task can be
completed without affecting project end
Latest start = LF - duration
Example
earliest start = day 5
latest finish = day 30
duration = 10 days
earliest finish = ?
latest start = ?
Float = LF - ES - duration
What is it in this case?
Float
Float = Latest finish Earliest start Duration
FLOAT
LF
ES
activity
Latest start
Critical path
Note the path through network with zero
floats
Critical path: any delay in an activity on
this path will delay whole project
Can there be more than one critical
path?
Can there be no critical path?
Sub-critical paths
Download