Dynamic systems development Method (DSDM) is a agile project management methodology, evaluated from Rapid Action development (RAD). DSDM consortium (UK) created and maintains the DSDM. As the name suggests, DSDM develops the system dynamically. The first version of DSDM was completed in January 1995 and published in February 1995.
DSDM is a framework for solving complex tasks. It can be implemented for traditional and agile development method. DSDM framework is modular and dynamic in nature. DSDM puts itself at the same level of SCRUM as DSDM deals with the small number of parts of software development. It is iterative and incremental in nature. DSDM follows analysis and design approach or the object oriented approach. Main purpose of DSDM is to develop software within time and budget limitations and with changing requirements.
When the requirements are not fixed at the start point of development and the system should be developed in short time then DSDM is very useful. Development starts with the available requirements and design is developed using those requirements. DSDM solves the common issues of failures like over budget, exceeding time limit, less user involvement.
DSDM APPROACH WITH CORE PRINCIPLES
There are nine basic and most important principles of DSDM
Active user participation:
This is the most important principle of the DSDM. Because of active user participation error reduces and hence the error cost. In DSDM small group of active user are involved instead of large no. of users.
Empowerment of Team
Due to lack of communication or the resistance in communication between different project stakeholders, the process of project development becomes slow. To increase the speed of project development some authority should be given to the development team regarding requirements, priorities of requirements and functionalities.
This principle helps to find errors quickly and allows making changes quickly.
Criterion for deliverables is fitness for business purpose
The deliverable should satisfy the business needs. So, business requirements should be considered first before refactoring.
Nature of development is Iterative and incremental
Project should be divided into small parts or modules to make it simple and easy. It is good for changing requirements. Each module adds the new feature in the project.
Dynamic system configurations make system responsive to changing requirements. As in DSDM development is done in small increments, fear of loss of previous work during reverse process not the issue with DSDM.
High Level Requirements
Some of the requirements should be kept at high level so that it can be altered easily in the later phases of development.
In DSDM testing is integrated from early stages of development process to the end of the development method.
Co-operative & Collaborative
Co-operation and collaboration of all the stakeholders in development method is required to collect all requirements and to get proper review on the software developed.
PRE-REQUISITES OF DSDM
For the success of the DSDM there are some pre-requisites to be taken in to consideration. There software is to be divided in to small parts and developed usig iterative and incremental approach. There should be good communication between development team, management and end users which solves the issue of lack of communication and end-user participation.
There are some cases where DSDM is not considered as a good approach. One,when the project is highly safe and critical and other is the project which includes re-usable components. Reasons for why DSDM is not good for above projects is that DSDM emphasizes on fast delivery within time n budget limitations so high testing and validation approach for above project is not followed by DSDM .Second reason is, DSDM does not produce project perfect first time.
PHASES OF DSDM
There are three basic phases of DSDM
5.1 Pre-Project (Phase -I)
In this phase candidate project, budget of project and commitment is analyzed to reduce errors in the next phases.
Project Life Cycle(Phase-II)
This is the most important phase of the DSDM. According to DSDM principle the project is developed in incremental and iterative manner. There are total 5 stages in this phase. Each stage is explained below in detail.
In this stage, study is done to identify that DSDM is useful for the project or not? If DSDM will satisfy all the business and functional need of the project or not? Feasibility study is carried out for the project which includes risk factors, planning, prototype, feasibility report.
It is extension of feasibility study. In this stage, business aspects of the project are taken into consideration. Different stakeholders meet to discuss the project. This stage includes developing prototype, list of requirements by priority, development plan and other issued related to business. Priorities of requirements are decided using MoSCoW technique.
Time Boxing technology is used in development plan. Desired quality is achieved using this technology. There is a risk log consisting of all the risks during DSDM is developed
Functional Model Iteration
Functional model is created by converting the requirements. Prototype is very important technique through which user involvement is realized throughout the project. Different users review the developed prototype. Iterations are carried out to improve the quality of software. There are four sub-stages as follows:
Identify Functional prototype:
Identify the functionalities that are implemented in the prototype.
A schedule is to be decided for when and how to develop functionalities.
Create Functional Prototype:
The prototype is developed, investigated and refined and combined with the previous iteration of functional prototype.
A review document is created from testing and by taking reviews of end users.
Finally, the functional prototype and model together delivered which has all the functionalities. The requirements which are considered in previous iterations re deleted from the priority list. Risk log is also created.
Design & Build Iteration
The main focus of this stage is to design and build the prototype to match the business needs. These prototypes are refined until it reaches to a standard.
Testing is important part of this stage also. Here, the functional and non-functional requirements are identified and tested. Design prototype is tested by the end use and then delivered and passed to the next stage i.e. implementation.
This is the final stage of the DSDM. Some possible cases with this stage is that user requirements are satisfied successfully, so no requirement of development or go back to business study stage and add new identified functional requirement or due to time limitation the less important missed part of project is added by going back to functional model or to satisfy some non-functional requirement return to design and build iteration stage.
Our academic experts are ready and waiting to assist with any writing project you may have. From simple essay plans, through to full dissertations, you can guarantee we have a service perfectly matched to your needs.View our services
DSDM follows iterative approach. Therefore, the project or the software will not be perfect for the first time but have some of the useful functionalities. Iterative approach is very useful where resources and time is fixed or limited and requirements are changing. End user tests the system and agrees for the implementation. If the requirements are met or not according to that the projects goes in next phase or the previous phases as mentioned above with four possible cases. User-guide or the user document is created. Project or the software and the document are delivered after this phase.
Post-Project ( Phase-III)
Errors or any problems are fixed according to the DSDM principles. As DSDM is incremental and iterative in nature so refinement and maintenance is carried out on continuous basis. In this phase correctness and effectiveness of the project is checked.
How DSDM deals with (if possible)
Explain DSDM wrt to the topics in 203 how are they connected or how are they handled in DSDMâ€¦.how DSDM solve problems and helpful in all topics wrt to 203
Timeboxing technique is used during development to consider issues like time, budget and quality. Main concept of timeboxing is to divide the software into small parts with fixed delivery date and budget .As, time and budget are limited if the project exceeds its deadline then the requirements with less priority is not considered. As in DSDM the software is not developed perfectly first time only the requirements with highest priority is taken in to consideration also DSDM is iterative and incremental in nature, each iteration refined the previous iteration and improves the quality of the software.
It is technique to prioritize things. Here, it is used for prioritizing requirements.
“M-Must have this requirement to satisfy business needs.”
“S-Should have this requirement if at all possible, process is not dependent on this requirement”
“C-Could have this requirement if it does not affect the quality of the business needs of project”
“W-Would have this requirements at later stage if some time is left”
The Prototyping is very important technique of DSDM. It deals with the creation of prototype in the early stages of development method. Using prototype, users get to know about how the system will be or an overview of system.
This technique ensures good and satisfactory quality of the software.In DSDM,testing is carried out throughout the development method which improves the quality of the end product. Testing technique vary depends on the development team.
This technique is used to bring together all the stakeholders for discussion of project. Discussion covers issues related to requirements, functionalities and quality and time
Modeling Technique is used to create a model of the project being developed for the better visualization of the business aspects of project.
As DSDM is dynamic and iterative in nature so delivery is fast and frequent. To handle all these iterations and deliverables configuration management is needed which helps to implement the software or system in good manner.
ROLES AND RESPONSIBILIES
There are some roles and responsibilities associated with roles which are important in DSDM. Roles and responsibilities should be assigned before development cycle starts.
Executive sponsor handles resources and funds and also has power to take decisions. Visionary is responsible to make sure that requirements are found at the early stage of development. Visionary knows the business needs very well. He also supervises the development process. Ambassador user is the person who deals with the users and brings their requirements and feedback to project development team. Advisor user is the user who deals with the viewpoint of project. Project manager manages the project.
Technical Coordinator is responsible for design, architecture and quality of system. Team Leader leads the team and make sure that team works effectively. Developer builds prototype and develops the system according to the requirements. Tester is responsible for quality of the system and he decides which testing technique should be applied. Scribe is responsible to collect the requirements. Facilitator is responsible for communication between different stakeholders. There are some special roles are also there like Quality Manager, Business Architect, etc.
TEAM ORGANIZATION & SIZE
Generally, DSDM project includes one or two teams. One team is responsible for development of the software while other is responsible for testing the software. Usually, each team consists of more than 5 people. If the project or the software to be delivered is large then more teams required. When the software or a project is large then the quality becomes the important factor. So, it is recommended that developers should not do testing and there should be a separate testing team.
KEY SUCCESS FACTORS OF DSDM
Key Success factors of DSD includes iterative and incremental nature, fast and frequent delivery of project, involvement of management and end-users, some decision making power given to active users, size of the team, no change in time and budget limits. These all factors are important and useful for the success of DSDM.
BENEFITS OF DSDM
DSDM has many advantages which make it a good development methodology. Using DSDM project development can be started immediately after requirements are gathered. Delivery of the system becomes fast and within time and budget limitations. DSDM improves the productivity. Iterative nature of DSDM improves the quality.
Management is actively involved which helps to make the important decisions faster and thus the development process become faster. User involvement is very important advantage. User involvement makes requirements clear and feedbacks makes system better. Better Quality project produced using DSDM as the testing is carried out throughout the development method. Good design and good documentation is one of the advantages of DSDM.
DRAWBACKS OF DSDM
As DSDM is not very common, it is not easy to understand. In first iteration the system may not be perfect. Due to prioritization of requirements, requirements with less priority are ignored. Time and budget is fixed so some of the requirements may be omitted.
Thus, DSDM is an agile methodology for projects which are bound by the time and budget constraints. When
Cite This Work
To export a reference to this article please select a referencing stye below:
Related ServicesView all
DMCA / Removal Request
If you are the original writer of this essay and no longer wish to have your work published on UKEssays.com then please: