Chapter 4.selection of An Appropriate Project Approach
Chapter 4.selection of An Appropriate Project Approach
Selection of
an appropriate project
approach
1
‘Step Wise’ - an overview
0.Select
1. Identify project 2. Identify project
project objectives infrastructure
3. Analyse
project
characteristics
Review
4. Identify products
and activities
5. Estimate effort
Lower for activity activity
level For each
detail 6. Identify activity
risks
10. Lower level
7. Allocate
planning
resources
8. Review/ publicize
9. Execute plan plan
2
Step 3 Analysis of project characteristics
3
Step 3 Analysis of project
characteristics
4
Step 3 continued
3.3 Identify high level project risks
◦ ‘what could go wrong?’
◦ ‘what can we do to stop it?’
3.4 Take into account user requirements concerning
implementation
◦ For example customer want the product in java
3.5 Select development methodology and life cycle
approach
◦ waterfall? Increments? Prototypes?
◦ Generally Company use the same method or SDLC as
they were using in past
◦ It also depends on project need.
5
Analyse project characteristics
7
Steps of project analysis
8
Technical plan content list
Output of project analysis is technical plan.
It contains :
◦ Introduction and summary of constraints:
Character of the system to be developed
Risk and uncertainties
User requirement concerning implementation
◦ Recommended approach
Select methodology or process model
Development methods
Required s/w tools
Target hardware/software environment
9
Technical plan content list
◦ Development needs
Required development environment
Required maintenance environment
Required training
◦ Implementations
Project products and activities
Financial- this report will be used to produce costing
10
LIFE CYCLE MODELS
11
Waterfall
12
Waterfall
the ‘classical’ model
every stage needs to be checked and signed off
Ideal for:
◦ Where requirement are well defined
◦ Development methods are well understood
BUT
◦ limited scope for iteration
13
V-process model
15
Evolutionary delivery: prototyping
‘ An iterative process of creating quickly and inexpensively
live and working models to test out requirements and
assumptions’
Main types:
‘throw away’ prototypes
evolutionary prototypes
What is being prototyped?
human-computer interface
functionality
16
Reasons for prototyping
learning by doing
improved communication
improved user involvement
a feedback loop is established
reduces the need for documentation
reduces maintenance costs i.e. changes after the
application goes live
prototype can be used for producing expected results
17
Prototyping: some dangers
18
INCREMENT DELIVERY
MODEL
19
Incremental delivery
delivered
system
increment
design build install evaluate
3
20
Increment Delivery Model(cont.)
In this model we break the application down
into small components.
These components are then implemented
and delivered in sequence.
21
The incremental process
Incremental
delivery
22
Incremental approach:benefits
24
System objective
26
The outline incremental plan
Steps ideally 1% to 5% of the total project
Ideal if a step takes one month or less:
◦ not more than three months
Each step should deliver some benefit to the
user
Some steps will be physically dependent on
others
27
‘rules of thumb’ about approach to be
used
IF uncertainty is high
THEN use evolutionary approach