TCS 2411 Software Engineering
Download
Report
Transcript TCS 2411 Software Engineering
Project Plan
“What are you going to do in the project?”
TCS2411 Software Engineering
1
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
2
Planning
Meaning:
“Organizing project in logical order
and Identifying and defining work activities
in a manner that help achieve project
objectives”
TCS2411 Software Engineering
3
Basic Reasons for
Planning
To element/reduce uncertainty
To improve efficiency of the operation
To provide better understanding
To provide a basis for monitoring and
controlling work
TCS2411 Software Engineering
4
Project Planning and
Control System
Goals/
Objectives
Work Description
and Instructions
Master/
Detailed
Schedules
Management
DecisionMaking
System
Reports
TCS2411 Software Engineering
Network
Scheduling
Time/Cost/
Performance
Tracking
Budgets
5
Planning Steps
1.
2.
3.
4.
Establish objectives
Develop a plan
Construct project planning diagram
Identify timing duration of each activity
in planning diagram
5. Identify costs and labor/personnel
associated with each activity
TCS2411 Software Engineering
6
Establish Objectives
State objectives
Project start/end dates
Budgets
Technical results
List milestones
Milestone: 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
7
Develop A Plan
List activities
Develop 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
8
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
9
Purpose of WBS
Manageable
Independent
Integratable
Measurable
TCS2411 Software Engineering
10
WBS Example
Level 1
ABC Project
Level 2
Definition
Analysis
Design
Programming
...
Level 3
Requirements
Documentation
TCS2411 Software Engineering
Feasibility
Study
Risk Analysis
...
11
WBS of a simple project
Project
Design
Test plan
Code A
Test
Code
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
12
Program Evaluation and Review
Technique (PERT) diagram
Test plan 10
Design 15
Code A 18
Test 15
Code B 18
•The numerical number represents the duration
of each activity.
•PERT is mainly concerned with time of each
activity and interrelations among activities.
TCS2411 Software Engineering
13
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
14
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
15
Terms
Activity - A task or job which takes time & use up
resources
Represented by labeled arrow
A
Event - An instantaneous point representing the
start or finish of an activity Represented by node 1
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
TCS2411 Software Engineering
16
Activity-on-Arrow (AOA)
Diagram
2
A
5
G
E
B
1
D
3
6
F
C
4
Each activity has only one arrow associated
with it.
TCS2411 Software Engineering
17
Activity Precedence
Activity
A
B
C
D
E
F
G
TCS2411 Software Engineering
Immediate
Predecessor
A
B,C
C
D,E
Duration
2
1
3
2
4
5
3
18
Network
Characteristics
Construct from left to right
Any activity can have only one start node
No two activities can have the same start
and end node
Dummy activities are used in AOA
Start the network by finding those
activities that have no predecessors
Calculate activity times using probabilistic
or deterministic means
TCS2411 Software Engineering
19
Dummy Activity
Represented by dotted arrow
Used when relationships between
activities require no work
Applied when
two activities start and end similarly
succeeding activities have partial
dependencies on predecessor activities
TCS2411 Software Engineering
20
PERT and CPM
PERT
R&D Development
Originally focused on
time only
Uses probabilistic
time estimates
AOA based
Critical path & slack
TCS2411 Software Engineering
CPM
Construction
Time and Cost
Uses deterministic
time estimates
AON based
Critical path & slack
Used in most
software
21
GANTT Charts
Horizontal time representation of
PERT/CPM, aka Timeline charts
Slack times shown as dashed lines
Critical path events are often milestones
Inadequate for showing dependencies
PERT/CPM is required to control the
schedule
Can be used as a scheduling mechanism.
TCS2411 Software Engineering
22
Gantt Chart Example
A
D
B
C
E
G
F
Milestone
TCS2411 Software Engineering
time
23
Project Planning
Summary
Objectives
Scope
Specs
Organizational
Structure
Technical Criteria
Documentation
WBS
TCS2411 Software Engineering
Responsibility
Chart
Project Plan
Work Packages
Material &
Manpower
Networks
Schedules
24
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 (inhouse developer), reuse, buy or contract
(employees outside vendor).
TCS2411 Software Engineering
25
The Make-Buy Decision
TCS2411 Software Engineering
26
Computing Expected
Cost
expected cost =
(path probability) x (estimated path cost)
i
i
For example, the expected cost to build is:
expected cost build = 0.30($380K)+0.70($450K)
= $429 K
similarly,
expected cost reuse = $382K
expected cost buy = $267K
expected cost contr = $410K
TCS2411 Software Engineering
27
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
TCS2411 Software Engineering
28