TCS 2411 Software Engineering

advertisement
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
Download