9. Execute plan
Step 3 continued
y
Either it is in-house development or by software houses it is required to review methodologies and techniques for each project y This process of reviewing is known as technical planning or project analysis
y
6
Identify project as either objective driven or product driven Analyse other project characteristics
Is a data-oriented or process-oriented
x Data oriented- Information systems x Process oriented- embedded control system
Will the software to be produce is a general tool or application specific? Are there tool available for implementing the particular type of application? Is the system to be critical? What is the nature of hardware and software environment?
7
Take into account user requirement concerning implementation. Select general life-cycle approach
Recommended approach
x x x x Select methodology Development methods Required s/w tools Target hardware/software environment
Implementations
x Project products and activities x Financial- this report will be used to produce costing
10
11
Waterfall
12
Waterfall
y y y
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
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
18
19
Incremental delivery
delivered system
design build install evaluate
increment 1
design
build
install
evaluate
increment 2
increment 3
20
21
Incremental delivery
22
Incremental approach:benefits
y y y y y
feedback from early stages used in developing latter stages user gets some benefits earlier Easy to control and manage project may be put aside temporarily reduces gold-plating: BUT there are some possible disadvantages loss of economy of scale
More productivity at larger scale
y y
software breakage
23
24
System objective
Project planner ideally wants well defined objective but as much freedom as possible about how to be met. y Objectives
y
Function goal
x Objective x Jobs the system is to do x Computer/non-compute function to achieve them
Quality Goal
x Reliability , response and sercurity
25
A standard high level language A standard operating system Small modules A standard DBMS
26
Each step should deliver some benefit to the user y Some steps will be physically dependent on others
y
27
28
Agile methods
structured development methods have some perceived advantages
produce large amounts of documentation which can be largely unread documentation has to be kept up to date division into specialist groups and need to follow procedures stifles communication users can be excluded from decision process long lead times to deliver anything etc. etc
30
DSDM framework
Figure 4.6 here
DSDM: time-boxing timetime-box fixed deadline by which something has to be delivered y typically two to six weeks y MOSCOW priorities
y
Must have - essential Should have - very important, but system could operate without Could have Want - but probably wont get!
33
Extreme programming
y y
argued that distinction between design and building of software are artificial y code to be developed to meet current needs only y frequent re-factoring to keep code structured
34
developers work in pairs test cases and expected results devised before software design after testing of increment, test cases added to a consolidated set of test cases
35
IF complexity is high but uncertainty is not THEN use incremental approach IF uncertainty and complexity both low THEN use one-shot IF schedule is tight THEN use evolutionary or incremental
38
Combinations of approach
installation one-shot one-shot incremental evolutionary yes yes yes incremental yes yes yes evolutionary no no yes
one-shot or incremental installation - any construction approach possible evolutionary installation implies evolutionary construction
39