Evolutionary Development Methodologies: Nomenclature

EDM
Clarke, R.J. (2000) EDM-DSL
1
ESD Related Definitions (1)
 Evolutionary Systems Development (ESD)- is the
formal name for Evolutionary Prototyping
 An approach whereby the initial design proposals are
put forward in the form of a physical working model
 Analysts, working in partnership with users,
gradually improve the prototype of the system...
 ...until it meets a level of acceptability decided by the
user.
 When this happens the prototype becomes the new
system
Clarke, R.J. (2000) EDM-DSL
2
ESD Related Definitions (2)
 Evolutionary
Prototyping (EP) is the
general name for the activity developers
undertake when they are involved in
Evolutionary Systems Development
 Evolutionary Development Methodology
(EDM)- a methodology which supports
ESD
Clarke, R.J. (2000) EDM-DSL
3
EDLC
Clarke, R.J. (2000) EDM-DSL
4
RPLC
Investigation
Maintenance &
Evaluation
Analysis
Develop
Prototype
Test
Prototype
Operation &
Acceptance
Design
Amend
Prototype
Construction
40-40
Clarke, R.J. (2000) EDM-DSL
5
EDLC
Develop
Prototype
Test
Prototype
Amend
Prototype
Clarke, R.J. (2000) EDM-DSL
6
Evolutionary Development (1)
Develop
Prototype
Test
Prototype
Candidate
Prototypes
Develop
Prototype
Test
Prototype
Amend
Prototype
Amend
Prototype
Develop
Prototype
Test
Prototype
Amend
Clarke, R.J.Prototype
(2000) EDM-DSL 7
Evolutionary Development (2)
Develop
Prototype
Test
Prototype
Spawn
Develop
Prototype
Develop
Prototype
Test
Prototype
Amend
Prototype
Amend
Prototype
Test
Prototype
Amend
Clarke, R.J.Prototype
(2000) EDM-DSL 8
Evolutionary Development (3)
Develop
Prototype
Spawn
Test
Prototype
Develop
Prototype
Amend
Prototype
Test
Prototype
Develop
Prototype
Test
Prototype
Amend
Prototype
Amend
Prototype
Develop
Prototype
Test
Prototype
Amend
Prototype
Clarke, R.J. (2000) EDM-DSL
9
Evolutionary Development (4)
Develop
Prototype
Develop
Prototype
Test
Prototype
Test
Prototype
Develop
Prototype
Amend
Prototype
Develop
Prototype
Test
Prototype
Amend
Prototype
Amend
Prototype
Test
Prototype
Amend
Prototype
Develop
Prototype
Test
Prototype
Amend
Clarke, R.J.Prototype
(2000) EDM-DSL 10
Evolutionary Development (6)
Develop
Prototype
Develop
Prototype
Test
Prototype
Test
Prototype
Develop
Prototype
Amend
Prototype
Amend
Prototype
Test
Prototype
Develop
Prototype
Amend
Prototype
Test
Prototype
Amend
Prototype
Develop
Prototype
Test
Prototype
Merge
Amend
Clarke, R.J.Prototype
(2000) EDM-DSL 11
Evolutionary Development (7)
Develop
Prototype
Develop
Prototype
Test
Prototype
Test
Prototype
Amend
Prototype
Amend
Prototype
Develop
Prototype
Develop
Prototype
Test
Prototype
Amend
Prototype
Test
Prototype
Amend
Prototype
Clarke, R.J. (2000) EDM-DSL
12
Prototype Classification
Clarke, R.J. (2000) EDM-DSL
13
Prototype Classifications
 Several
classifications exist for
distinguish the function or
purpose of a prototype
Floyd (1984)
Law (1985)
Mayhew & Dearnley (1987)
Clarke, R.J. (2000) EDM-DSL
14
Prototype Classifications
Floyd’s Classification
 distinguishes
three broad
approaches to prototyping
exploratory
experimental
evolutionary
 structured
the debate surrounding
prototyping in general
Clarke, R.J. (2000) EDM-DSL
15
Prototype Classifications
Floyd’s Classification: Exploratory
 useful:
early stages of systems
development
 focus: communications problems
between prospective users and
developers
 prototype: catalyst to participation
and ideas generation
 aim: assist in requirements gathering
Clarke, R.J. (2000) EDM-DSL
16
Prototype Classifications
Floyd’s Classification: Experimental
 useful:
testing all or some functions
 focus: building a proposed solution
to a particular problem
 prototype: evaluated by
experimental use prior to eventual
implementation
 aim: reduce implementation costs
Clarke, R.J. (2000) EDM-DSL
17
Prototype Classifications
Floyd’s Classification: Evolutionary (1)
 most
controversial category
 emphasis on gradual adaptation of
the system in order to cope with
changing organisational
circumstances
 system can be looked at as a
sequence of versions
Clarke, R.J. (2000) EDM-DSL
18
Prototype Classifications
Floyd’s Classification: Evolutionary (2)
 each
version once constructed, used
and evaluated is treated as a
prototype to its successor
it has been argued that it should be called
‘versioning’
but the use of a prototype means that it should
not be thought of as versioning!
Clarke, R.J. (2000) EDM-DSL
19
Prototype Classifications
Floyd’s Classification: Evolutionary (3)
?
?
‘Version’ 1
‘Version’ 2
Clarke, R.J. (2000) EDM-DSL
20
Prototype Classifications
Floyd’s Classification: Evolutionary (4)
?
?
‘Version’ 2
?
‘Version’ 3
Clarke, R.J. (2000) EDM-DSL
21
Prototype Classifications
Floyd’s Classification: Evolutionary (5)
A
?
B
?
?
C
‘Version’ 3
Final ‘Version’
Clarke, R.J. (2000) EDM-DSL
22
Prototype Classifications
Importance of Floyd (1984)
 provoked
developers into thinking about
the uses of prototypes
 typical questions included:
aim of building the prototype?
which category?
appropriateness of particular types of prototypes at
certain stages in the systems development?
improving the development by using a different
series of prototypes?
Clarke, R.J. (2000) EDM-DSL
23
Prototype Classification
Law’s Types (1)
 developed
an extended (5)
classification of prototypes
 distinction between types is not
absolute
 relates to the chief purpose of a
prototype in relation to its typical
occurence (timing) during the
development process
Clarke, R.J. (2000) EDM-DSL
24
Prototype Classification
Law’s Types (2)
 Exploratory
assist in the clarification of requirements
prototyping the logical specification
as per Floyd
 Experimental
to find the solution to a particular problem
prototyping the design
as per Floyd
Clarke, R.J. (2000) EDM-DSL
25
Prototype Classification
Law’s Types (3)
 Performance
check whether solution handles workload
synthetic prototyping- prototype is run
through a simulated workload
necessary simplification of the prototype
makes this difficult
nevertheless, useful for identifying
incompatible combinations of problem,
hardware, software, people
Clarke, R.J. (2000) EDM-DSL
26
Prototype Classification
Law’s Types (4)
 Organisational
a special case of experimental prototyping used to
test a solution in proposed user environment
ascertain that a users requirements are met
clarify the needs of the surrounding organisation
needs may be met by changing manual procedures,
staff, equipment, job descriptions, training
Clarke, R.J. (2000) EDM-DSL
27
Prototype Classification
Law’s Types (5)
 Evolutionary
refers to the situation that exists when the
prototype is in operation
through its use necessary alterations become
apparent
when the need for change is recognised the
operational system (‘version’) becomes the
prototype for the development of an enhanced
system
as per Floyd
Clarke, R.J. (2000) EDM-DSL
28
Prototype Classification
Importance of Law’s Types
 like
Floyd tries to provide a
functional description of different
types of prototypes
 unlike Floyd, tries to describe
most possibilities
 provides an appreciation of the
scope of prototyping
Clarke, R.J. (2000) EDM-DSL
29
Prototype Classification
PUSH Model: Mayhew & Dearnley (1)
 provide
an alternative way of
classifying prototyping
 based on the central ‘participants’
found in any prototyping situation
Prototyper (P)
User (U)
Software (S)
Hardware (H)
Clarke, R.J. (2000) EDM-DSL
30
Prototype Classification
PUSH Model: Mayhew & Dearnley (2)
 each
‘participant’ (corner) interacts
with all the others
 can draw the interactions using a
pyramid (edges)
 can recognise each of Law’s types of
prototypes accordingly- with some
interesting results!
Clarke, R.J. (2000) EDM-DSL
31
Prototype Classification
PUSH Model: Mayhew & Dearnley (3)
Software
Users
Hardware
Prototype
Clarke, R.J. (2000) EDM-DSL
32
Prototype Classification
PUSH Model: Exploratory Prototyping (4)
 prototyping
the specification
 centres on communication
 involves P, U, S
Software
Users
Hardware
Prototype
Clarke, R.J. (2000) EDM-DSL
33
Prototype Classification
PUSH Model: Experimental Prototyping (5)
 adequacy
of proposed solution
 involves P, S, H
 3 subtypes:
Software
experimental prototyping
PS
Users
Hardware
Prototype
Clarke, R.J. (2000) EDM-DSL
34
Prototype Classification
PUSH Model: Experimental Prototyping (6)
 adequacy
of proposed solution
 involves P, S, H
 3 subtypes:
Software
performance prototyping
SH
Users
Hardware
Prototype
Clarke, R.J. (2000) EDM-DSL
35
Prototype Classification
PUSH Model: Experimental Prototyping (7)
 adequacy
of proposed solution
 involves P, S, H
 3 subtypes:
Software
hardware prototyping
PH
Users
Hardware
Prototype
Clarke, R.J. (2000) EDM-DSL
36
Prototype Classification
PUSH Model: Organisational Prototyping (8)
 clarify
wider system requirements
 involves U, S, H
 3 subtypes:
Software
ergonomic prototyping
UH
Users
Hardware
Prototype
Clarke, R.J. (2000) EDM-DSL
37
Prototype Classification
PUSH Model: Organisational Prototyping (9)
 clarify
wider system requirements
 involves U, S, H
 3 subtypes:
Software
functional prototyping
US
Users
Hardware
Prototype
Clarke, R.J. (2000) EDM-DSL
38
Prototype Classification
PUSH Model: Evolutionary Prototyping (10)
 but,
cannot fit evolutionary
prototyping onto the picture
 Mayhew and Dearnley argue that
evolutionary prototyping has h/w and
s/w implications, therefore
evolutionary prototyping is simply an extension
of organisational prototyping
evolutionary prototyping simply has a longer
time lapse between enhancements
Clarke, R.J. (2000) EDM-DSL
39
Prototype Classification
PUSH Model: Mayhew & Dearnley (3)
S
Functional
Experimental
Performance
Ergonomic
U
Exploratory
H
P
Hardware
Clarke, R.J. (2000) EDM-DSL
40
Characteristics of ESD
Clarke, R.J. (2000) EDM-DSL
41
Characteristics of ESD (1)
 Overlap
of Analysis, Design and
Construction Stages
 Limited Modelling of the Existing System
 emphasis on early identification of the
'logical' requirements, so that quick
prototypes can be produced
Clarke, R.J. (2000) EDM-DSL
42
Characteristics of ESD (2)
 Partnership
and User Responsibility
 both analysts and users bring
unique expertise
 Formalisation of Prototype
Boundaries
 system development can consist of
many small prototypes, need to
delineate each prototype
Clarke, R.J. (2000) EDM-DSL
43
Characteristics of ESD (4)
 Early
Implementation
 Flexibility & Scalability- tailor the
methodology to the needs of
organisation
Clarke, R.J. (2000) EDM-DSL
44
Characteristics of ESD (4)
 in
RP, the purpose of the prototype
was only to gather requirements
during analysis and design
 in ESD, the main purpose of the
prototype is to promote
communication
 the prototype serves many
purposes often simultaneously
Clarke, R.J. (2000) EDM-DSL
45
Benefits of ESD
Clarke, R.J. (2000) EDM-DSL
46
Benefits of ESD (1)
Involving, committing and satisfying users
 Decreasing communications problems
 Decreasing development costs
 Reducing operational costs
 Reducing time for development
 Producing the right system first time
 Cutting human resource requirements during
development

Clarke, R.J. (2000) EDM-DSL
47
Benefits of ESD (2)
 Stage
Overlap or more correctly
Partial Stage Overlap
 Incremental Delivery
 Tailorability of EDMs
 User Participation
we will concentrate on the first two
benefits, in a following lecture we will
discuss the last two
Clarke, R.J. (2000) EDM-DSL
48
Partial Stage Overlap
EDM
Clarke, R.J. (2000) EDM-DSL
49
Partial Stage Overlap (1)
Traditional Development (SDLC)
Feasibility
Define
Requirements
Study
Current
System
Program
Design
New System
Acceptance
Test
Convert
Train
Users
Install
Does not support Stage Overlap
Clarke, R.J. (2000) EDM-DSL
50
Partial Stage Overlap (2)
EDM
Feasibility
Test
Prototype
Define
Prototype
Study
Current
System
Develop
Prototype
Convert Install
Clarke, R.J. (2000) EDM-DSL
51
Partial Stage Overlap (2)
EDM
Feasibility
Define
Prototype
Study
Current
System
Test
Prototype
Develop
Prototype
Convert Install
Clarke, R.J. (2000) EDM-DSL
52
Partial Stage Overlap (2)
EDM
Feasibility
Define
Prototype
Test
Prototype
Study
Current
System
Develop
Prototype
Convert Install
Clarke, R.J. (2000) EDM-DSL
53
Partial Stage Overlap (2)
EDM
Feasibility
Study
Current
System
Convert Install
Clarke, R.J. (2000) EDM-DSL
54
Partial Stage Overlap (2)
EDM
Feasibility
Study
Current
System
Convert Install
Clarke, R.J. (2000) EDM-DSL
55
Partial Stage Overlap (2)
EDM
Feasibility
Study
Current
System
Convert Install
Clarke, R.J. (2000) EDM-DSL
56
Partial Stage Overlap (2)
EDM
Supports Partial Overlap
Feasibility
Define Prototype
Develop Prototype
Study
Current
System
Test Prototype
Convert Install
Clarke, R.J. (2000) EDM-DSL
57
Stage Overlap Comparison (4)
SDLC and EDLC Based Methodologies
Define
Develop
Test
Finish
Prototyping
Start
Project
Finish
Project
Clarke, R.J. (2000) EDM-DSL
58
Incremental Delivery
Clarke, R.J. (2000) EDM-DSL
59
Incremental Delivery
A
B
C
Clarke, R.J. (2000) EDM-DSL
60
Incremental Delivery
A
C
B
C
Sta Fin
Sta Fin
Sta Fin
t0 1:4
t1
B
A
1
1:4
1
t2
2
t3
1 2
t4
2,3
2,3
1
Clarke, R.J. (2000) EDM-DSL
61
Incremental Delivery
A
C
B
C
Sta Fin
Sta Fin
Sta Fin
t0 1:4
t1
B
A
1
1:4
1
t2
2
t3
1 2
t4
2,3
2,3
1
Clarke, R.J. (2000) EDM-DSL
62
Incremental Delivery
A
C
B
C
Sta Fin
Sta Fin
Sta Fin
t0 1:4
t1
B
A
1
1:4
1
t2
2
t3
1 2
t4
2,3
2,3
1
Clarke, R.J. (2000) EDM-DSL
63
Incremental Delivery
A
C
B
C
Sta Fin
Sta Fin
Sta Fin
t0 1:4
t1
B
A
1
1:4
1
t2
2
t3
1 2
t4
2,3
2,3
1
Clarke, R.J. (2000) EDM-DSL
64
Incremental Delivery
A
C
B
C
Sta Fin
Sta Fin
Sta Fin
t0 1:4
t1
B
A
1
1:4
1
t2
2
t3
1 2
t4
2,3
2,3
1
Clarke, R.J. (2000) EDM-DSL
65