Information AboutDsdm |
| CATEGORIES ABOUT DYNAMIC SYSTEMS DEVELOPMENT METHOD | |
| dsdm | |
| project management | |
| software development | |
| agile software development | |
| software systems | |
|
Dynamic Systems Development Method ('''DSDM''') is a Framework originally based upon Rapid Application Development (RAD) . DSDM utilizes continuous user involvement in an Iterative Development And Incremental Approach , which is responsive to changing requirements, to develop a Software System that satisfies the business requirements on time and on budget. DSDM is one of a number of Agile Method s for developing software, and it forms a part of the Agile Alliance . DSDM was developed in the United Kingdom in the 1990s by the DSDM Consortium of vendors and experts in the field of Information System (IS) Development by combining their Best-practice experiences. The DSDM Consortium is a non-profit, vendor independent organisation which owns and administers the framework. The first version was completed in January 1995 and was published in February 1995. The current version in use as of April 2006 is ''Version 4.2: Framework for Business Centered Development'' released in May 2003. DSDM Public Version 4.2 ( www.dsdm.org ) was made available for individuals to view and use in July 2006. However, anyone reselling DSDM must still be a member of the not-for-profit consortium. As an extension of Rapid Application Development , DSDM focuses on Information Systems projects that are characterized by tight schedules and budgets. DSDM addresses the common reasons for information systems project failure including exceeding budgets, missing deadlines, and lack of user involvement and top management commitment. DSDM consists of 3 Phases : pre-project phase, project life-cycle phase, and post project phase. The project life-cycle phase is subdivided into 5 stages: feasibility study, business study, functional model iteration, design and build iteration, and implementation. DSDM recognizes that projects are limited by time and resources, and plans accordingly to meet the business needs. In order to achieve these goals, DSDM encourages the use of RAD with the consequent danger that too many corners are cut. DSDM applies some Principles , Roles , and Techniques . In some circumstances, there are possibilities to integrate practices from other methodologies, such as Rational Unified Process (RUP) , Extreme Programming (XP) , and PRINCE2 , as complements to DSDM. Another agile method that has some similarity in process and concept to DSDM is Scrum . <DIV ID="PRINCIPLES">PRINCIPLES</DIV> OF DSDM There are 9 underlying principles of DSDM consisting of four foundations and five starting-points for the structure of the method. These principles form the cornerstones of development using DSDM.
DSDM is also supported by some other principles (or so called assumptions).
<DIV ID="PREREQUISITES"> PREREQUISITES</DIV> FOR USING DSDM In order for DSDM to be a success, a number of prerequisites need to be realized. First, there needs to be interactivity between the project team, future end users and higher management. This addresses well known failures of IS development projects due to lack of top management motivation and/or user involvement. The second important prerequisite for DSDM projects is the decomposability of the project. The possibility of Decomposition into smaller parts enables the iterative approach, and activities that are hard to prioritize often cause delays--exactly the effect that DSDM was developed to avoid. Another group of projects for which DSDM is not well-suited are safety-critical ones. The extensive testing and validation found in these kinds of projects conflict with DSDM goals of being on time and on budget. Finally, projects that aim at re-usable components might not be well-suited for development using DSDM, because the demands on perfection are too high and conflict with the 80%/20% principle Described Earlier . PROCESS-DATA DIAGRAM OF DSDM PROJECT LIFE-CYCLE Below is the process-data diagram of DSDM as a whole with all of its 5 stages. This diagram depicts the DSDM iterative development, started on functional model iteration, design and build iteration, and implementation phase. The description of each stage will be explained Later In This Entry . <DIV ID="PHASES">THE PHASES</DIV> OF DSDM The DSDM framework consists of three sequential phases, namely the pre-project, project life-cycle and post-project phases. The project phase of DSDM is the most elaborate of the three phases. The project life-cycle phase consists of 5 stages that form an iterative step-by-step approach in developing an IS. The three phases and corresponding stages are explained extensively in the subsequent sections. For each stage/phase, the most important activities are addressed and the deliverables are mentioned. Phase 1: The Pre-Project In the pre-project phase candidate projects are identified, project funding is realized and project commitment is ensured. Handling these issues at an early stage avoids problems at later stages of the project. Phase 2: The Project life-cycle The process overview in the figure above shows the project life-cycle of this phase of DSDM. It depicts the 5 stages a project will have to go through to create an IS. The first two stages, the Feasibility Study and Business Study are sequential phases that complement to each other. After these phases have been concluded, the system is developed iteratively and incrementally in the Functional Model Iteration, Design & Build Iteration and Implementation stages. The iterative and incremental nature of DSDM will be addressed further in a later section. Stage 1: The Feasibility Study During this stage of the project, the feasibility of the project for the use of DSDM is examined. Prerequisites for the use of DSDM are addressed by answering questions like; ‘Can this project meet the required business needs?’, ‘Is this project suited for the use of DSDM?’ and ‘What are the most important risks involved?’. The most important techniques used in this phase are the Workshops The deliverables for this stage are the Feasibility Report and the Feasibility Prototype that address the feasibility of the project at hand. It is extended with a global Outline Plan for the rest of the project and a Risk Log that identifies the most important risks for the project. Stage 2: The Business StudyThe business study extends the Feasibility Study . After the project has been deemed feasible for the use of DSDM, this stage examines the influenced business processes, user groups involved and their respective needs and wishes. Again the Workshops are one of the most valuable techniques, workshops in which the different stakeholders come together to discuss the proposed system. The information from these sessions is combined into a requirements list. An important property of the requirements list is the fact that the requirements are (can be) prioritized. These requirements are prioritized using the MoSCoW approach. Based on this prioritization, a development plan is constructed as a guideline for the rest of the project. An important project technique used in the development of this plan is Timeboxing . This technique is essential in realizing the goals of DSDM, namely being on time and on budget, guaranteeing the desired quality. A System Architecture is another aid to guide the development of the IS. The deliverables for this stage are a business area definition that describes the context of the project within the company, a system architecture definition that provides an initial global architecture of the IS under development together with a development plan that outlines the most important steps in the development process. At the base of these last two documents there is the prioritized requirements list. This list states all the requirements for the system, organized according to the MoSCoW principle. And last the Risk Log is updated with the facts that have been identified during this phase of DSDM. Stage 3: Functional Model Iteration The requirements that have been identified in the previous stages are converted to a functional model. This model consists of both a functioning prototype and models. Prototyping is one of the key project techniques within this stage that helps to realize good user involvement throughout the project. The developed prototype is reviewed by different user groups. In order to assure quality, Testing is implemented throughout every iteration of DSDM. An important part of testing is realized in the Functional Model Iteration. The Functional Model can be subdivided into four sub-stages:
The deliverables for this stage are a Functional Model and a Functional Prototype that together represent the functionalities that could be realized in this iteration, ready for testing by users. Next to this, the Requirements List is updated, deleting the items that have been realized and rethinking the prioritization of the remaining requirements. The Risk Log is also updated by having risk analysis of further development after reviewing the prototyping document. =Meta-data Model of Functional Model Iteration The associations between concepts of deliverables in Functional Model Iteration stage are depicted in the meta-data model below. This meta-data model will be combined with the meta-process diagram of Functional Model Iteration phase in the next part. =Process-data Diagram of Functional Model Iteration Identify functional prototype activity is to identify the functionalities that would be in the prototype of current iteration. Recall that both, analysis and coding are done; prototypes are built, and the experiences gained from them are used in improving the analysis models (based also on updated prioritized requirements list and updated risk log). The built prototypes are not to be entirely discarded, but gradually steered towards such quality that they can be included in the final system. Agree schedule is to determine when and how the prototyping will be implemented; it extends the scope to the available timetable and prototyping plan. And since testing is implemented throughout the whole process, it’s also an essential part of this phase, and therefore it is included in the Review Prototype activity right after the functional prototype is built and the test record will eventually be used in the review prototype process and generates the review document. Below is the process-data diagram of Functional Model Iteration stage. Stage 4: Design and Build Iteration The main focus of this DSDM iteration is to integrate the functional components from the previous phase into one system that satisfies user needs. It also addresses the non-functional requirements that have been set for the IS. Again Testing is an important ongoing activity in this stage. The Design and Build Iteration can be subdivided into four sub-stages:
The deliverables for this stage are a Design Prototype during the phase that end users get to test and at the end of the Design and Build Iteration the Tested System is handed over to the next phase. In this stage, the system is mainly built where the design and functions are consolidated and integrated in a prototype. Another deliverable for this stage is a User Documentation. Stage 5: Implementation In the Implementation stage, the tested system including user documentation is delivered to the users and training of future users is realized. The system to be delivered has been reviewed to include the requirements that have been set in the beginning stages of the project. The Implementation stage can be subdivided into four sub-stages:
The deliverables for this stage are a Delivered System on location, ready for use by the end users, Trained Users and detailed Project Review Document of the system. Phase 3: Post-project The post-project phase ensures the system operating effectively and efficiently. This is realized by maintenance, enhancements and fixes according to DSDM principles. The maintenance can be viewed as continuing development based on the iterative and incremental nature of DSDM. Instead of finishing the project in one cycle usually the project can return to the previous phases or stages so that the previous step and the deliverable products can be refined. <DIV ID="CORE">CORE</DIV> TECHNIQUES OF DSDM
: MUST have this requirement to meet the business needs. : SHOULD have this requirement if at all possible, but the project success does not rely on this. : COULD have this requirement if it does not affect the fitness of business needs of the project. : WOULD have this requirement at later date if there is some time left (or in the future development of the system).
<DIV ID="ROLES">ROLES</DIV> OF DSDM There are some roles introduced within DSDM environment. It is important that the project members need to be appointed to different roles before they start to run the project. Each role has its own responsibility. The roles are:
<DIV ID="ITERATIVE">ITERATIVE</DIV> AND INCREMENTAL NATURE Next to Timeboxing and prioritizing of requirements, the DSDM also provides an Iterative And Incremental approach to IS development. This can be seen in the figure depicting the Process Overview above. The Functional Model Iteration, Design & Build Iteration and Implementation stages are all depicted in an iterative manner that shows that each of these stages can go over the different sub stages several times before entering the next stage. Every iteration addressing a set of new functionalities. Thanks to the incremental development approach every iteration is build on a functioning predecessor. And each increment can be turned back when/if needed. Next to this property, the figure also shows arrows going back to previous stages. For example, there is an arrow going back from Implementation to the Business Study. If a big functionality has been discovered during development that couldn’t be implemented, it might be possible to start all over by defining new requirements in a Business Study. Another example of stepping back to a previous stage is the arrow from Implementation to the Functional Model Iteration. This could be the case when functionality had to be omitted during the previous Functional Model Iteration, because of time and/or budget constraints. Only when all the requirements, needed to realize the set project and business goals, are met will the project proceed into the post-project phase. Because of the iterative nature of DSDM, it is essential to maintain good Requirements Management and Configuration Management in place throughout the entire project. This ensures that the project does implement the desired requirements in the desired fashion as was decided in the early Phases of the project. CRITICAL SUCCESS FACTORS OF DSDM Within DSDM a number of factors are identified as being of great importance to ensure successful projects.
META-MODEL (META-MODELING) As explained in the Wikipedia item, Meta-Modeling takes a higher level look at methods and techniques. In doing so it offers possibilities for comparing similar methods and techniques and Engineering new methods from existing ones. The Meta data model, depicted below, identifies the concepts and associations between these concepts within DSDM. As can be seen from the figure, two main concepts can be identified, namely the ''Phase'' and the ''Flow'' concept. Each ''Flow'' originates from a ''Phase'' within DSDM. Flows can be divided up in the sub concepts ''Data'' and ''Product''. This subdivision is denoted with a ''C'', which means that the subdivision is disjoint and complete. In other words, a ''Flow'' is always either a ''Data Flow'' or a ''Product Flow'', but never both. In the situation of DSDM a ''Data Flow'' can be an arc returning to one of the preceding phases. ''Product Flows are tangible goods that result from one of the ''Phases'' and are the input of the next ''Phase'', for example reports and prototypes. Then there is the second concept ''Phase'' that is also be divided two sub concepts with a complete and disjoint ordering. These sub concepts are the ''Sequential'' and the ''Iterative Phases''. As was explained in an earlier section, DSDM starts with two sequential phases, The Feasibility and Business Study. Next a number of Iterative phases follow, i.e. Functional Model, Design & Build and Implementation phases. The picture also mentions a number of rules and issues that are not included in the model, but that are important for this meta-model. First there are the rules that concerns the behavior of the ‘’Flows’’. These rules restrict the freedom of the flows so that they correspond to the ‘’Phase’’ transitions within DSDM. Next to the rules a number of important issues are addressed that ensure that the DSDM project life-cycle is guaranteed. COMPARISON TO OTHER IS DEVELOPMENT METHODS Over the years a great number of Information System Development methods have been developed and applied, divided in Structured Methods , RAD Methods and Object-Oriented Methods . Many of these methods show similarities to each other and also to DSDM. For example EXtreme Programming , XP also has an Iterative approach to IS development with extensive user involvement. The Rational Unified Process is a method that probably has the most in common with DSDM in that it is also a dynamic form of Information System Development. Again the Iterative approach is used in this development method. Like XP and RUP there are many other development methods that show similarities to DSDM, but DSDM does distinguish itself from these methods in a number of ways. ''First there is the fact that it provides a tool and technique independent framework. This allows users to fill in the specific steps of the process with their own techniques and software aids of choice. Another unique feature is the fact that the variables in the development are not time/resources,'' but the requirements. This approach ensures the main goals of DSDM, namely to stay within the deadline and the budget. And last there is the strong focus on communication between and the involvement of all the stakeholders in the system. Although this is addressed in other methods, DSDM strongly believes in commitment to the project to ensure a successful outcome. This last paragraph is largely incorrect, most of RUP can be applied without rational tools and XP does not require any particular tools. XP shares many similarities with DSDM, notably the 'embrace change' philosophy which means requirements can be changed as well as time and resources. SEE ALSO
REFERENCES
|
|
|