TCS2411 Software Engineering 2
Lecture Objectives
To discuss the tasks in planning a project
To describe the tools that can be used for developing a project plan
To illustrate the use of graphical representations of project activities
To understand the importance of the critical path in scheduling
TCS2411 Software Engineering 3
Planning
Meaning:“Organizing project in logical order and Identifying and defining work
activities in a manner that help achieve project objectives”
TCS2411 Software Engineering 4
Basic Reasons for Planning
To element/reduce uncertaintyTo improve efficiency of the
operationTo provide better understandingTo provide a basis for monitoring and
controlling work
TCS2411 Software Engineering 5
Project Planning and Control System
Time/Cost/Performance
Tracking
Goals/Objectives
Work Descriptionand Instructions
ManagementDecision-Making
SystemReports
NetworkScheduling
Master/Detailed
Schedules
Budgets
TCS2411 Software Engineering 6
Planning Steps
1. Establish objectives2. Develop a plan3. Construct project planning diagram4. Identify timing duration of each
activity in planning diagram5. Identify costs and labor/personnel
associated with each activity
TCS2411 Software Engineering 7
Establish Objectives
State objectives Project start/end dates Budgets Technical results
List milestonesMilestone: a scheduled event for which
some person is held accountable and which is used to measure and control progress.
Designate responsible personnel to meet objectives
TCS2411 Software Engineering 8
Develop A Plan
List activitiesDevelop Work Breakdown Structure
(WBS): The WBS reflects the decomposition of a project into subtasks down to the level for effective planning and control.
Determine relationships of activities job precedence/succession concurrent jobs
TCS2411 Software Engineering 9
Work Breakdown Structure
Break project tasks into successively finer levels: Program - Project - Task - Work Package - Work Unit
Each work unit short time span specific start & end point budgetable in terms of money, resources can be assigned an individual
responsibility can be scheduled
TCS2411 Software Engineering 11
WBS Example
ABC Project
ProgrammingDesignAnalysisDefinition
Risk AnalysisFeasibility
StudyRequirements
Documentation...
...
Level 1
Level 2
Level 3
TCS2411 Software Engineering 12
WBS of a simple project
Design Test plan Code Test
Project
Code A Code B
•Each activity has a duration and consumes resources.
•Each activity has a constraint(example: one must be finished before the other starts; so activities are executed in order).
TCS2411 Software Engineering 13
Program Evaluation and Review Technique (PERT) diagram
•The numerical number represents the duration of each activity.
•PERT is mainly concerned with time of each activity and interrelations among activities.
Design 15
Test plan 10
Test 15Code A 18
Code B 18
TCS2411 Software Engineering 14
Critical Path Method (CPM)
By drawing a network diagram, you can figure out the critical path of your project.
The critical path is the longest path through the network. If something falls behind schedule on the critical path, the whole project falls behind schedule unless time is made up elsewhere.
It’s easier to adjust other activities (allocate more/less resources) when you know the interdependencies of activities
TCS2411 Software Engineering 15
Construct Project Planning Diagram
Draw the logical sequence of activities
Precedence Diagramming Method (PDM) Activity on Node (AON)
Arrow Diagramming Method (ADM) Activity on Arrow (AOA)
TCS2411 Software Engineering 16
Terms Activity - A task or job which takes time & use up
resourcesRepresented by labeled arrow A
Event - An instantaneous point representing the start or finish of an activity Represented by node
Slack time: indicates that the corresponding activity may consume more than its estimated time, or start later than the earliest possible start time, without affecting the total duration of the project.
Critical path: a path that has activities without any slack time
1
TCS2411 Software Engineering 17
Activity-on-Arrow (AOA) Diagram
G
1
2 5
3
4
6B
C
A
F
E
D
Each activity has only one arrow associated with it.
TCS2411 Software Engineering 18
Activity Precedence
Activity ImmediatePredecessor
Duration
A - 2B - 1C - 3D A 2E B,C 4F C 5G D,E 3
TCS2411 Software Engineering 19
Network CharacteristicsConstruct from left to rightAny activity can have only one start
nodeNo two activities can have the same
start and end nodeDummy activities are used in AOAStart the network by finding those
activities that have no predecessorsCalculate activity times using
probabilistic or deterministic means
TCS2411 Software Engineering 20
Dummy Activity
Represented by dotted arrowUsed when relationships between
activities require no workApplied when
two activities start and end similarly succeeding activities have partial
dependencies on predecessor activities
TCS2411 Software Engineering 21
PERT and CPM
PERTR&D DevelopmentOriginally focused
on time onlyUses probabilistic
time estimatesAOA basedCritical path & slack
CPMConstructionTime and CostUses deterministic
time estimatesAON basedCritical path & slackUsed in most
software
TCS2411 Software Engineering 22
GANTT Charts
Horizontal time representation of PERT/CPM, aka Timeline charts
Slack times shown as dashed linesCritical path events are often milestonesInadequate for showing dependenciesPERT/CPM is required to control the
scheduleCan be used as a scheduling
mechanism.
TCS2411 Software Engineering 24
Project Planning Summary
ObjectivesScopeSpecs
OrganizationalStructure
WBSResponsibility
Chart
Work Packages
Networks
Technical Criteria
Project Plan
Material &Manpower
Schedules
Documentation
TCS2411 Software Engineering 25
Decision Tree Analysis
Software engineering managers are often faced with a make/buy decision to acquire a computer software.
This decision can be solve by computing Decision Tree Analysis.
Example : System X, can be build (in-house developer), reuse, buy or contract (employees outside vendor).
TCS2411 Software Engineering 26
The Make-Buy Decision
system Xsystem Xreusereuse
simple (0.30)simple (0.30)
difficult (0.70)difficult (0.70)
minorminor changeschanges
(0.40)(0.40)
majormajorchangeschanges
(0.60)(0.60)
simple (0.20)simple (0.20)
complex (0.80)complex (0.80)
majormajor changeschanges (0.30)(0.30)
minorminor changeschanges
(0.70)(0.70)
$380,000$380,000
$450,000$450,000
$275,000$275,000
$310,000$310,000
$490,000$490,000
$210,000$210,000
$400,000$400,000
buybuy
contractcontract
without changes (0.60)without changes (0.60)
with changes (0.40)with changes (0.40)
$350,000$350,000
$500,000$500,000
buildbuild
TCS2411 Software Engineering 27
Computing Expected Cost
(path probability) x (estimated path cost) (path probability) x (estimated path cost) ii ii
For example, the expected cost to build is:For example, the expected cost to build is:
expected cost = 0.30($380K)+0.70($450K) expected cost = 0.30($380K)+0.70($450K)
similarly,similarly,
expected cost = $382Kexpected cost = $382K
expected cost = $267Kexpected cost = $267K
expected cost = $410Kexpected cost = $410K
buildbuild
reusereuse
buybuy
contrcontr
expected cost =expected cost =
= $429 K= $429 K
TCS2411 Software Engineering 28
References“Software Engineering: A Practitioner’s
Approach” 5th Ed. by Roger S. Pressman, Mc-Graw-Hill, 2001
“Project Management: A Managerial Approach” by Jack R. Meredith & Samuel J. Mantel, Jr. , John Wiley, 1989
“Project Management: Principles and Practices” by M. Pete Spinner, Prentice-Hall, 1997
“Goal Directed Project Management”, 2nd Edition, by Erling S. Andersen, Kristoffer V. Grude & Tor Haug, Kogan Page, 1995