The Dynamic Systems Development Method is tool and technique independent example of a Rapid Application Development Method. Its development started in the early 1990’s by a consortium of vendor and experts in the field, the DSDM consortium, and is still active.
Aims of DSDM
DSDM provides a framework that is mostly used for the process of delivering new information systems. It aims to prevent a number of important pitfalls for the development of Information Systems:
- DSDM works under the assumption that no system is built perfectly in the first try. 80% of the project can be built in 20% of the time needed for the entire project. The last 20% of the requirements often cause a project to run out of time and over budget. DSDM tries to prevent these project failures by using the principle of Time boxing. Each project has a strict deadline and budget. When a project is in danger of being delayed or going over budget, it is the requirements that are adjusted and not the deadline or the budget. In order to realize Time boxing, the requirements for each iteration are prioritized using the MoSCoW principle. This way the most important requirements are implemented first and the least important are addressed last.
- DSDM adopts an incremental and iterative approach. Each step within the project can be revisited at a later date. This way every iteration only needs to be developed far enough to start the next.
- The current and imminent needs of the business are addressed first.
The phases within DSDM
The framework consists of three sequential phases to implement a system that addresses the information needs within the company. These phases are addressed next.
1 Pre-project:
In the pre-project phase candidate projects are identified, project funding is realized and project commitment is ensured.
2 Project phase:
The project phase is subdivided is 5 sub phases (Figure 1.):
-
- This phase involves creating a feasibility report, an outline of future developments and possibly a feasibility prototype to demonstrate that the project can succeed.
- In this phase the affected business processes, information needs and key users are identified. Next a requirements list is created and a development plan that guides the Functional Model and Design & Build iterations.
- Functional Model Iteration:
- In the Functional Model Iteration the required functionalities are converted into software components. An important result of this phase is a functional prototype of the developed components. These prototypes are used to realize optimal user involvement by havig them involved in the early stage of development.
- Design & Build Iteration:
- This phase engineers the delivering of a tested system from the software components that have been in the previous phase. In case of functional shortcoming a new iteration of the Functional Model can be started up.
- Implementation delivers the system to the users, realizes training, user documentation and a review of the requirements that have been realized in this system. Depending on the status of the delivered system, incremental steps are possible.
3 Post-project:
In the post-project phase ensures an efficiently operating system. This is realized by maintenance and enhancements and fixes according to DSDM principles. Even the startup of new projects is possible.
The meta-data model
The meta-data model of ‘’Figure 2’’ depicts the phases within DSDM in relation to each other and their resulting data flows. As was explained in previous section there are sequential and iterative phases. DSDM starts with two sequential phases and is followed by a number of iterative phases. And after each iteration, revision is possible. These properties are shown by the ‘’is-followed relation’’ with cardinality (0,1).
The flows that occur between the phases within DSDM are also depicted. These flows can be subdivided in data flows, for example a requirements list, and product flows, for example software components.
The meta-process model
The meta-process model of ‘’Figure 3’’ shows the phases within DSDM and their possible following states. It is possible that a revision is needed after finishing an iteration phase. This concept is depicted by the arrows returning to previous phases. The Implementation phase is a good example.
External links