IS2201/IS2261 – Information Systems Development

advertisement
IS2201/IS2261 – Information Systems Development
1 Rapid Application Development
This lecture will explain what Rapid Application Development (RAD), and aims to
help you better understand how to apply RAD to systems development. You should
also understand when best to apply RAD approaches to software development, and
under what circumstances it is inappropriate.
1.1 Introduction
The concept of RAD was first introduced by James Martin in his book Rapid
Application Development (Martin, 1991). It can be described as “a set of tactics and
techniques to minimize development time” (Miller, 2005). It is expected that 80% of
the functionality of a system can be delivered in 20% of the development time (Miller,
2005), (Avison and Fitzgerald, 2003).
Some early research made claims of very high productivity improvements due to the
application of RAD (see Miller, 2005), which focused on the programming phase of
development. These claims are no longer made, but the reason for this is not clear.
This original approach to RAD (JM-RAD) has been characterized as having the
following properties (Avison and Fitzgerald, 2003):

It is based on an evolutionary/prototyping approach rather than the traditional
SDLC.

It identifies key users and involves them in the early stages of development.

It focuses on obtaining commitment from the business users.

It requires CASE tools and a “sophisticated” repository.
1.2 JM-RAD
RAD was introduced as part of a more general systems development approach
called Information Engineering.
There are four phases in development using JM-RAD
1. Requirements Planning
Gather the high level requirements of the system at the strategic level. This
phase Uses JRP (Joint Requirements Planning) workshops.
2. User Design
Generate some initial designs of the system using prototyping methods. This
is carried out with the users of the system in JAD workshops.
3. Construction
Construction is based on more formal systems development, but is carried
out by SWAT teams (Skilled With Advanced Tools). The idea is that small
teams will have less of a communication overhead and therefore be quicker.
4. Cutover
This stage involves implementation on the target systems or with realistic
data. Training of users and organisational changes are implemented.
Parallel running is often used during this phase until the new system has
proved itself.
©
K. Miller & M. Stanton
Page 1 of 6
IS2201/IS2261 – Information Systems Development
Note: There is no Feasibility phase. With JM-RAD it is assumed that this has already
been carried out during “Business Systems Planning” (a method for the development
of strategic business information systems). Therefore with JM-RAD it is assumed
that all projects have been deemed as feasible and desirable.
1.3 The Dynamic Systems Development Method (DSDM)
DSDM “provides a framework for building and maintaining systems which meet tight
time constraints through the use of incremental prototyping in a controlled project
environment” (DSDM Consortium).
DSDM is therefore a “framework” for RAD.
Figure 1 - DSDM
Framework
Phase 1
Feasibility
Phase 2
Business
Study
Implement
Agree Schedule
Create
Functional
Prototype
Functional
Model
Identify
Functional
Prototype
Review
Business
Train Users
Implement
User Approval
Guidelines
Review Prototype
Phase 4
Phase 3
Identify Design
Prototype
Phase 5
Design
and Build
Agree
Schedule
Review Design
Prototype
Create Design
Prototype
According to Miller (2005), there are 9 guiding principles:

Active user involvement is imperative

Teams must be empowered to make decisions

The focus is on frequent delivery of products rather than the way they are
produced

Every deliverable must be fit for its business purpose

Iterative and incremental development are powerful ways to develop systems

All changes must be reversible

High level requirements are baselined

Testing is integrated throughout the SDLC

A collaborative and co-operative approach between stakeholders is essential
1.4 The DSDM Framework
The DSDM framework defines the general structure of a DSDM project. DSDM is not
intended to be prescriptive (the RUP and traditional SDLC are not prescriptive, but
approaches like SSADM are).
©
K. Miller & M. Stanton
Page 2 of 6
IS2201/IS2261 – Information Systems Development
There are 5 Phases in a DSDM project (shown in Figure 1):
1. Feasibility Study
2. Business Study
3. Functional Model Iteration
4. Design and build Iteration
5. Implementation
Each of phases 3, 4 and 5 are iterative and they may also be carried out
simultaneously for different parts of the system under development.
1.4.1 Feasibility Study
As usual the feasibility study is a quick, short study, probably including a cost/benefit
analysis of the project.
Part of purpose of the feasibility study is to establish if DSDM is an appropriate
development framework for the system in question. Sometimes it is required that all
parts of the system are delivered simultaneously – in which case DSDM is
inappropriate. It is suggested that DSDM is not suited to Real-time applications:
“Its main target is interactive business systems where functionality is clearly
visible at the user interface. DSDM is not recommended for real-time
applications or for computationally complex systems.”
(Howard, 1997)
Also the amount of expertise the team has with DSDM can be a deciding factor
(Avison and Fitzgerald, 2003).
1.4.2 Business Study
In the business study phase, the business functions of the systems are scoped and
prioritised. This phase is intended to be carried out quickly, and Joint Application
Development (JAD) is often used to facilitate this.
The results of this phase are:

A more detailed plan of the project including time scales and deliverables

A more complete definition of the scope if the systems development activity to
come
For the latter, Avison and Fitzgerald (2003) suggest that this can be documented
using DFDs and ERDs, but Use Cases and initial UML Class Diagrams are likely to
be produced more quickly, and support prioritisation more effectively.
1.4.3 Functional Model Iteration
In this iterative phase, the designs are implemented and refined using evolutionary
prototyping. Since there are risks associated with evolutionary prototyping, a large
amount of testing is also required during this phase.
Miller (2005) suggests that this phase should concentrate on the user interface. This
again shows where Use Cases can be used to good effect, although a similar
emphasis can be put on DFD’s. More detailed interactions can be captured using
Interactions Diagrams and these will also provide details of the user interface
requirements of business processes.
©
K. Miller & M. Stanton
Page 3 of 6
IS2201/IS2261 – Information Systems Development
1.4.4 Design and Build Iteration
The system is prepared for delivery. A “minimum usable subset” of requirements
must be delivered (Avison and Fitzgerald, 2003). In other words, each delivery will
provide a fully functional, but possibly incomplete system (See Section 1.3).
1.4.5 Implementation
This is a standard cutover phase, similar to that of JM-RAD. One interesting point to
note here is that documentation is completed during this phase, but this is usually
done by the users, not the developers (Avison and Fitzgerald, 2003).
1.5 Tools and Techniques
1.5.1 Prioritising Development
In many Development Methods, there is a requirement for prioritising increments
(units of development). Prioritisation is part of the RUP, and of DSDM.
One approach to Prioritisation is using MOSCOW:
Must haves – fundamental to the success of the delivered product
Should haves – important but not fundamental to project success
Could haves – could be left out without serious impact on the project
Won’t haves – can be left out of the current iteration and possibly considered later
A practical example of requirements prioritisation process is given by “important
projects.com” (http://importantprojects.com/archives/000071.php).
Other approaches to prioritisation range from considering risks (high-medium-low) to
statistical techniques such as:

Quality Function Deployment (QFD) (http://www.qfdi.org)

Analytical Hierarchy Process (AHP) (http://www.qfdi.org/tut_ahp.htm).
These statistical approaches are useful when it is not easy to distinguish, for
example, between a “Should have” and a “Could have” using MOSCOW.
1.5.2 Joint Application Development
1.5.3 Timeboxing
©
K. Miller & M. Stanton
Page 4 of 6
IS2201/IS2261 – Information Systems Development
2 Questions
1.
Name the Phases of the Dynamic System Development Method, and identify
which phase would incorporate prototyping.
2. Discuss the role of the feasibility study in DSDM. How does it compare to the
role of a feasibility study in JM-RAD.
3. Explain why DSDM can be considered both an incremental approach and in
iterative approach to systems development.
4. Which UML techniques are likely to be most useful in the Business Study
Phase of DSDM?
©
K. Miller & M. Stanton
Page 5 of 6
IS2201/IS2261 – Information Systems Development
3 References
J. Martin, Rapid Application Development, Prentice Hall, 1991
D. Avison and Fitzgerald, G., Information Systems Development (3rd Edition),
McGraw Hill, 2003
K. Miller, “Rapid Application Development” In: Information Systems Development
Lecture Notes, DOCM, 2005
DSDM Consortium (http://www.dsdm.org/ )
A. Howard, “A new RAD-based approach to commercial information systems
development: the dynamic system development method” In: Industrial Management
& Data Systems 97/5, 1997. pp175–177
©
K. Miller & M. Stanton
Page 6 of 6
Download