Clarke, R.J. (2000) EDM-DSL 1
EDMEDM
Clarke, R.J. (2000) EDM-DSL 2
ESD Related Definitions ESD Related Definitions (1)(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 3
ESD Related Definitions ESD Related Definitions (2)(2)
Evolutionary Prototyping (EP)Evolutionary Prototyping (EP) is the is the general namegeneral name for the activity developers for the activity developers undertake when they are involved in undertake when they are involved in Evolutionary Systems DevelopmentEvolutionary Systems Development
Evolutionary Development Methodology Evolutionary Development Methodology (EDM)(EDM)- a methodology which supports - a methodology which supports ESDESD
Clarke, R.J. (2000) EDM-DSL 4
EDLCEDLC
Clarke, R.J. (2000) EDM-DSL 5
RPLC RPLC
Investigation
Construction
Analysis
Design
40-40
DevelopPrototype
TestPrototype
AmendPrototype
Maintenance &Evaluation
Operation &Acceptance
Clarke, R.J. (2000) EDM-DSL 6
EDLCEDLC
DevelopPrototype
TestPrototype
AmendPrototype
Clarke, R.J. (2000) EDM-DSL 7
Evolutionary Development Evolutionary Development (1)(1)
TestPrototype
AmendPrototype
DevelopPrototype
TestPrototype
AmendPrototype
TestPrototype
AmendPrototype
CandidatePrototypes
DevelopPrototype
DevelopPrototype
Clarke, R.J. (2000) EDM-DSL 8
Evolutionary Development Evolutionary Development (2)(2)
DevelopPrototype
TestPrototype
AmendPrototype
DevelopPrototype
TestPrototype
AmendPrototype
DevelopPrototype
AmendPrototype
Spawn
TestPrototype
Clarke, R.J. (2000) EDM-DSL 9
Evolutionary Development Evolutionary Development (3)(3)
TestPrototype
AmendPrototype
DevelopPrototype
AmendPrototype
DevelopPrototype
TestPrototype
AmendPrototype
DevelopPrototype
TestPrototype
SpawnTest
Prototype
DevelopPrototype
AmendPrototype
Clarke, R.J. (2000) EDM-DSL 10
Evolutionary Development Evolutionary Development (4)(4)
TestPrototype
AmendPrototype
DevelopPrototype
DevelopPrototype
TestPrototype
AmendPrototype
DevelopPrototype
TestPrototype
DevelopPrototype
TestPrototype
AmendPrototype
TestPrototype
DevelopPrototype
AmendPrototype
AmendPrototype
Clarke, R.J. (2000) EDM-DSL 11
Evolutionary Development Evolutionary Development (6)(6)
TestPrototype
AmendPrototype
DevelopPrototype
TestPrototype
DevelopPrototype
TestPrototype
TestPrototype
AmendPrototype
TestPrototype
AmendPrototype
DevelopPrototype
Merge
DevelopPrototype
DevelopPrototype
AmendPrototype
AmendPrototype
Clarke, R.J. (2000) EDM-DSL 12
Evolutionary Development Evolutionary Development (7)(7)
TestPrototype
AmendPrototype
DevelopPrototype
TestPrototype
AmendPrototype
DevelopPrototype
TestPrototype
AmendPrototype
DevelopPrototype
TestPrototype
AmendPrototype
DevelopPrototype
Clarke, R.J. (2000) EDM-DSL 13
Prototype ClassificationPrototype Classification
Clarke, R.J. (2000) EDM-DSL 14
Prototype ClassificationsPrototype Classifications
Several classifications exist for Several classifications exist for distinguish the function or distinguish the function or purpose of a prototypepurpose of a prototypeFloyd (1984)Floyd (1984)Law (1985)Law (1985)Mayhew & Dearnley (1987)Mayhew & Dearnley (1987)
Clarke, R.J. (2000) EDM-DSL 15
Prototype ClassificationsPrototype ClassificationsFloyd’s ClassificationFloyd’s Classification
distinguishes three broad distinguishes three broad approaches to prototypingapproaches to prototypingexploratoryexploratoryexperimentalexperimentalevolutionaryevolutionary
structured the debate surrounding structured the debate surrounding prototyping in generalprototyping in general
Clarke, R.J. (2000) EDM-DSL 16
Prototype ClassificationsPrototype ClassificationsFloyd’s Classification: Floyd’s Classification: ExploratoryExploratory
usefuluseful: early stages of systems : early stages of systems developmentdevelopment
focusfocus: communications problems : communications problems between prospective users and between prospective users and developersdevelopers
prototypeprototype: catalyst to participation : catalyst to participation and ideas generationand ideas generation
aimaim: assist in requirements gathering: assist in requirements gathering
Clarke, R.J. (2000) EDM-DSL 17
Prototype ClassificationsPrototype ClassificationsFloyd’s Classification: Floyd’s Classification: ExperimentalExperimental
usefuluseful: testing all or some functions: testing all or some functions focusfocus: building a proposed solution : building a proposed solution
to a particular problemto a particular problem prototypeprototype: evaluated by : evaluated by
experimental use prior to eventual experimental use prior to eventual implementationimplementation
aimaim: reduce implementation costs: reduce implementation costs
Clarke, R.J. (2000) EDM-DSL 18
Prototype ClassificationsPrototype ClassificationsFloyd’s Classification: Floyd’s Classification: Evolutionary Evolutionary (1)(1)
most controversial categorymost controversial category emphasis on gradual adaptation of emphasis on gradual adaptation of
the system in order to cope with the system in order to cope with changing organisational changing organisational circumstancescircumstances
system can be looked at as a system can be looked at as a sequence of sequence of versionsversions
Clarke, R.J. (2000) EDM-DSL 19
Prototype ClassificationsPrototype ClassificationsFloyd’s Classification: Floyd’s Classification: Evolutionary Evolutionary (2)(2)
each version once constructed, used each version once constructed, used and evaluated is and evaluated is treated as a treated as a prototypeprototype to its successor to its successorit has been argued that it should be called it has been argued that it should be called
‘versioning’‘versioning’but the use of a prototype means that it should but the use of a prototype means that it should
notnot be thought of as versioning! be thought of as versioning!
Clarke, R.J. (2000) EDM-DSL 20
Prototype ClassificationsPrototype ClassificationsFloyd’s Classification: Floyd’s Classification: Evolutionary Evolutionary (3)(3)
‘Version’ 1
?
?
‘Version’ 2
Clarke, R.J. (2000) EDM-DSL 21
Prototype ClassificationsPrototype ClassificationsFloyd’s Classification: Floyd’s Classification: Evolutionary Evolutionary (4)(4)
‘Version’ 2
?
? ?
‘Version’ 3
Clarke, R.J. (2000) EDM-DSL 22
Prototype ClassificationsPrototype ClassificationsFloyd’s Classification: Floyd’s Classification: Evolutionary Evolutionary (5)(5)
?
? ?
‘Version’ 3 Final ‘Version’
A
B
C
Clarke, R.J. (2000) EDM-DSL 23
Prototype ClassificationsPrototype ClassificationsImportance of Floyd (1984)Importance of Floyd (1984)
provoked developers into thinking about provoked developers into thinking about the the usesuses of prototypes of prototypes
typical questions included:typical questions included:aim of building the prototype?aim of building the prototype?which category?which category?appropriateness of particular types of prototypes at appropriateness of particular types of prototypes at
certain stages in the systems development?certain stages in the systems development?improving the development by using a different improving the development by using a different
series of prototypes?series of prototypes?
Clarke, R.J. (2000) EDM-DSL 24
Prototype ClassificationPrototype ClassificationLaw’s Types Law’s Types (1)(1)
developed an extended (5) developed an extended (5) classification of prototypesclassification of prototypes
distinction between types is not distinction between types is not absoluteabsolute
relates to the chief purpose of a relates to the chief purpose of a prototype in relation to its prototype in relation to its typical typical occurenceoccurence (timing) during the (timing) during the development processdevelopment process
Clarke, R.J. (2000) EDM-DSL 25
Prototype ClassificationPrototype ClassificationLaw’s Types Law’s Types (2)(2)
ExploratoryExploratoryassist in the clarification of requirementsassist in the clarification of requirementsprototyping the prototyping the logical specificationlogical specificationas per Floydas per Floyd
ExperimentalExperimentalto find the solution to a particular problemto find the solution to a particular problemprototyping the prototyping the designdesignas per Floydas per Floyd
Clarke, R.J. (2000) EDM-DSL 26
Prototype ClassificationPrototype ClassificationLaw’s Types Law’s Types (3)(3)
PerformancePerformancecheck whether solution handles workloadcheck whether solution handles workloadsyntheticsynthetic prototyping- prototype is run prototyping- prototype is run
through a simulated workloadthrough a simulated workloadnecessary simplification of the prototype necessary simplification of the prototype
makes this difficultmakes this difficultnevertheless, useful for identifying nevertheless, useful for identifying
incompatible combinations of problem, incompatible combinations of problem, hardware, software, peoplehardware, software, people
Clarke, R.J. (2000) EDM-DSL 27
Prototype ClassificationPrototype ClassificationLaw’s Types Law’s Types (4)(4)
OrganisationalOrganisationala a special casespecial case of experimental prototyping used to of experimental prototyping used to
test a solution in proposed user environmenttest a solution in proposed user environmentascertain that a users requirements are metascertain that a users requirements are metclarify the needs of the surrounding organisationclarify the needs of the surrounding organisationneeds may be met by changing manual procedures, needs may be met by changing manual procedures,
staff, equipment, job descriptions, trainingstaff, equipment, job descriptions, training
Clarke, R.J. (2000) EDM-DSL 28
Prototype ClassificationPrototype ClassificationLaw’s Types Law’s Types (5)(5)
EvolutionaryEvolutionaryrefers to the situation that exists when the refers to the situation that exists when the
prototype is in operationprototype is in operationthrough its use necessary alterations become through its use necessary alterations become
apparentapparentwhen the need for change is recognised the when the need for change is recognised the
operational system (‘version’) becomes the operational system (‘version’) becomes the prototype for the development of an enhanced prototype for the development of an enhanced systemsystem
as per Floydas per Floyd
Clarke, R.J. (2000) EDM-DSL 29
Prototype ClassificationPrototype ClassificationImportance of Law’s TypesImportance of Law’s Types
like Floyd tries to provide a like Floyd tries to provide a functional description of different functional description of different types of prototypestypes of prototypes
unlike Floyd, tries to describe unlike Floyd, tries to describe most possibilitiesmost possibilities
provides an appreciation of the provides an appreciation of the scope of prototypingscope of prototyping
Clarke, R.J. (2000) EDM-DSL 30
Prototype ClassificationPrototype ClassificationPUSH Model: Mayhew & Dearnley PUSH Model: Mayhew & Dearnley (1)(1)
provide an alternative way of provide an alternative way of classifying prototypingclassifying prototyping
based on the central ‘participants’ based on the central ‘participants’ found in any prototyping situationfound in any prototyping situationPrototyper (P)Prototyper (P)User (U)User (U)Software (S)Software (S)Hardware (H)Hardware (H)
Clarke, R.J. (2000) EDM-DSL 31
Prototype ClassificationPrototype ClassificationPUSH Model: Mayhew & Dearnley PUSH Model: Mayhew & Dearnley (2)(2)
each ‘participant’ (corner) interacts each ‘participant’ (corner) interacts with all the otherswith all the others
can draw the interactions using a can draw the interactions using a pyramid (edges)pyramid (edges)
can recognise each of Law’s types of can recognise each of Law’s types of prototypes accordingly- with some prototypes accordingly- with some interesting results! interesting results!
Clarke, R.J. (2000) EDM-DSL 32
Prototype ClassificationPrototype ClassificationPUSH Model: Mayhew & Dearnley PUSH Model: Mayhew & Dearnley (3)(3)
Software
Users Hardware
Prototype
Clarke, R.J. (2000) EDM-DSL 33
Prototype ClassificationPrototype ClassificationPUSH Model: PUSH Model: Exploratory PrototypingExploratory Prototyping (4)(4)
prototyping the specificationprototyping the specification centres on communicationcentres on communication involves P, U, Sinvolves P, U, S Software
Users Hardware
Prototype
Clarke, R.J. (2000) EDM-DSL 34
Prototype ClassificationPrototype ClassificationPUSH Model: PUSH Model: Experimental PrototypingExperimental Prototyping (5)(5)
adequacy of proposed solutionadequacy of proposed solution involves P, S, Hinvolves P, S, H 3 subtypes:3 subtypes:
experimentalexperimental prototyping prototypingPSPS
Software
Users Hardware
Prototype
Clarke, R.J. (2000) EDM-DSL 35
Prototype ClassificationPrototype ClassificationPUSH Model: PUSH Model: Experimental PrototypingExperimental Prototyping (6)(6)
adequacy of proposed solutionadequacy of proposed solution involves P, S, Hinvolves P, S, H 3 subtypes:3 subtypes:
performanceperformance prototyping prototypingSHSH
Software
Users Hardware
Prototype
Clarke, R.J. (2000) EDM-DSL 36
Prototype ClassificationPrototype ClassificationPUSH Model: PUSH Model: Experimental PrototypingExperimental Prototyping (7)(7)
adequacy of proposed solutionadequacy of proposed solution involves P, S, Hinvolves P, S, H 3 subtypes:3 subtypes:
hardwarehardware prototyping prototypingPHPH
Software
Users Hardware
Prototype
Clarke, R.J. (2000) EDM-DSL 37
Prototype ClassificationPrototype ClassificationPUSH Model: PUSH Model: Organisational PrototypingOrganisational Prototyping (8)(8)
clarify wider system requirementsclarify wider system requirements involves U, S, Hinvolves U, S, H 3 subtypes:3 subtypes:
ergonomicergonomic prototyping prototypingUHUH
Software
Users Hardware
Prototype
Clarke, R.J. (2000) EDM-DSL 38
Prototype ClassificationPrototype ClassificationPUSH Model: PUSH Model: Organisational PrototypingOrganisational Prototyping (9)(9)
clarify wider system requirementsclarify wider system requirements involves U, S, Hinvolves U, S, H 3 subtypes:3 subtypes:
functional functional prototypingprototypingUSUS
Software
Users Hardware
Prototype
Clarke, R.J. (2000) EDM-DSL 39
Prototype ClassificationPrototype ClassificationPUSH Model: PUSH Model: Evolutionary PrototypingEvolutionary Prototyping (10)(10)
but, cannot fit but, cannot fit evolutionary evolutionary prototypingprototyping onto the picture onto the picture
Mayhew and Dearnley argue that Mayhew and Dearnley argue that evolutionary prototyping has h/w and evolutionary prototyping has h/w and s/w implications, therefores/w implications, thereforeevolutionary prototyping is simply an extension evolutionary prototyping is simply an extension
of organisational prototyping of organisational prototyping evolutionary prototyping simply has a longer evolutionary prototyping simply has a longer
time lapse between enhancementstime lapse between enhancements
Clarke, R.J. (2000) EDM-DSL 40
Prototype ClassificationPrototype ClassificationPUSH Model: Mayhew & Dearnley PUSH Model: Mayhew & Dearnley (3)(3)
S
UH
P HardwareExploratory
Experimental
PerformanceErgonomic
Functional
Clarke, R.J. (2000) EDM-DSL 41
Characteristics of ESDCharacteristics of ESD
Clarke, R.J. (2000) EDM-DSL 42
Characteristics of ESD Characteristics of ESD (1)(1)
OverlapOverlap of Analysis, Design and of Analysis, Design and Construction StagesConstruction Stages
Limited ModellingLimited Modelling of the Existing System of the Existing System emphasis on emphasis on early identification of the early identification of the
'logical' requirements'logical' requirements, so that quick , so that quick prototypes can be producedprototypes can be produced
Clarke, R.J. (2000) EDM-DSL 43
Characteristics of ESD Characteristics of ESD (2)(2)
PartnershipPartnership and User Responsibility and User Responsibility both analysts and users bring both analysts and users bring
unique expertiseunique expertise FormalisationFormalisation of Prototype of Prototype
BoundariesBoundaries system development can consist of system development can consist of
many small prototypes, many small prototypes, need to need to delineate each prototypedelineate each prototype
Clarke, R.J. (2000) EDM-DSL 44
Characteristics of ESD Characteristics of ESD (4)(4)
Early ImplementationEarly Implementation Flexibility & ScalabilityFlexibility & Scalability- tailor the - tailor the
methodology to the needs of methodology to the needs of organisationorganisation
Clarke, R.J. (2000) EDM-DSL 45
Characteristics of ESD Characteristics of ESD (4)(4)
in in RPRP, the purpose of the prototype , the purpose of the prototype was only to was only to gather requirementsgather requirements during analysis and designduring analysis and design
in in ESDESD, the main purpose of the , the main purpose of the prototype is to promote prototype is to promote communicationcommunication
the prototype serves the prototype serves manymany purposes often simultaneouslypurposes often simultaneously
Clarke, R.J. (2000) EDM-DSL 46
Benefits of ESDBenefits of ESD
Clarke, R.J. (2000) EDM-DSL 47
Benefits of ESD Benefits of ESD (1)(1)
Involving, committing and satisfying usersInvolving, committing and satisfying users Decreasing communications problemsDecreasing communications problems Decreasing development costsDecreasing development costs Reducing operational costsReducing operational costs Reducing time for developmentReducing time for development Producing the right system first timeProducing the right system first time Cutting human resource requirements during Cutting human resource requirements during
developmentdevelopment
Clarke, R.J. (2000) EDM-DSL 48
Benefits of ESD Benefits of ESD (2)(2)
Stage Overlap or more correctly Stage Overlap or more correctly Partial Stage OverlapPartial Stage Overlap
Incremental DeliveryIncremental Delivery Tailorability of EDMsTailorability of EDMs User ParticipationUser Participation
we will concentrate on the first two we will concentrate on the first two benefits, in a following lecture we will benefits, in a following lecture we will discuss the last twodiscuss the last two
Clarke, R.J. (2000) EDM-DSL 49
Partial Stage OverlapPartial Stage OverlapEDMEDM
Clarke, R.J. (2000) EDM-DSL 50
Partial Stage Overlap (1)Traditional Development (SDLC)
Feasibility
StudyCurrentSystem
DefineRequirements
DesignNew System
Program
Test
Acceptance TrainUsers
Convert Install
Does not support Stage Overlap
Clarke, R.J. (2000) EDM-DSL 51
Partial Stage Overlap (2)EDM
Feasibility
StudyCurrentSystem
DefinePrototype
DevelopPrototype
TestPrototype
Convert Install
Clarke, R.J. (2000) EDM-DSL 52
Partial Stage Overlap (2)EDM
DevelopPrototype
TestPrototype
Convert Install
Feasibility
StudyCurrentSystem
DefinePrototype
Clarke, R.J. (2000) EDM-DSL 53
Partial Stage Overlap (2)EDM
DevelopPrototype
Feasibility
StudyCurrentSystem
DefinePrototype
TestPrototype
Convert Install
Clarke, R.J. (2000) EDM-DSL 54
Partial Stage Overlap (2)EDM
Feasibility
StudyCurrentSystem
Convert Install
Clarke, R.J. (2000) EDM-DSL 55
Partial Stage Overlap (2)EDM
Feasibility
StudyCurrentSystem
Convert Install
Clarke, R.J. (2000) EDM-DSL 56
Partial Stage Overlap (2)EDM
Convert Install
Feasibility
StudyCurrentSystem
Clarke, R.J. (2000) EDM-DSL 57
Partial Stage Overlap (2)EDM
Supports Partial Overlap
Feasibility
StudyCurrentSystem
Define Prototype
Develop Prototype
Test Prototype
Convert Install
Clarke, R.J. (2000) EDM-DSL 58
Stage Overlap Comparison (4)SDLC and EDLC Based Methodologies
DefineDevelop
TestFinish
Prototyping
FinishProject
StartProject
Clarke, R.J. (2000) EDM-DSL 59
Incremental DeliveryIncremental Delivery
Clarke, R.J. (2000) EDM-DSL 60
Incremental DeliveryIncremental Delivery
A
B
C
Clarke, R.J. (2000) EDM-DSL 61
Incremental DeliveryIncremental Delivery
A
B
C
A B C Sta Fin Sta Fin Sta Fin
t0 1:4 1
t1 1:4 1
t2 2 2,3
t3 1 2 2,3
t4 1
Clarke, R.J. (2000) EDM-DSL 62
Incremental DeliveryIncremental Delivery
A
B
C
A B C Sta Fin Sta Fin Sta Fin
t0 1:4 1
t1 1:4 1
t2 2 2,3
t3 1 2 2,3
t4 1
Clarke, R.J. (2000) EDM-DSL 63
Incremental DeliveryIncremental Delivery
A
B
C
A B C Sta Fin Sta Fin Sta Fin
t0 1:4 1
t1 1:4 1
t2 2 2,3
t3 1 2 2,3
t4 1
Clarke, R.J. (2000) EDM-DSL 64
Incremental DeliveryIncremental Delivery
A
B
C
A B C Sta Fin Sta Fin Sta Fin
t0 1:4 1
t1 1:4 1
t2 2 2,3
t3 1 2 2,3
t4 1
Clarke, R.J. (2000) EDM-DSL 65
Incremental DeliveryIncremental Delivery
A
B
C
A B C Sta Fin Sta Fin Sta Fin
t0 1:4 1
t1 1:4 1
t2 2 2,3
t3 1 2 2,3
t4 1