Dynamic Systems Development Method
The Dynamic Systems Development Methodology (DSDM) is based on the RAD (Rapid Application Development) approach and includes three phases.
Everything begins with the study of the feasibility of the program and the field of its application. In the first case, you are trying to understand whether DSDM is suitable for this project. Study of the scope of the program is expected in a short series of seminars, where programmers learn about the business area for which they will work. It also discusses the main provisions relating to the architecture of the future system and the project plan.
Then the process is divided into three interrelated cycles.
- The cycle of the functional model is responsible for the creation of analytical documentation and prototypes.
- The cycle of design and construction – for bringing the system into working order.
- Implementation cycle – provides deployment of the software system.
The DSDM methodology includes three stages:
- The pre-project stage, which authorizes the implementation of the project, determines the financial parameters and the team.
- The life cycle of a project is a project implementation and includes five phases.
- The post-project stage ensures high-quality operation of the system.
The life cycle of the project includes five stages (the first two actually merge):
- Definition of feasibility
- Economic justification
- Creating a functional model
- Design and development
- Realization
The principles on which DSDM is built
There are 9 principles, consisting of 4 main and 5 starting points.
- User involvement is the foundation for running an effective project, where developers share the workspace with users and therefore the decisions made will be more accurate.
- The team should be authorized to take important decisions for the project without agreement with the authorities.
- Frequent delivery of versions of the result, given the rule that “putting something good early is always better than putting everything perfectly done at the end.” Analysis of the supply of versions from the previous iteration is taken into account in the subsequent.
- The main criterion is the fastest delivery of software that meets the current market needs. But at the same time, the delivery of a product that meets the needs of the market is less important than solving critical problems in the product functionality.
- Development – iterative and incremental. It is based on user feedback in order to achieve an economically optimal solution.
- Any changes during development are reversible.
- Requirements are set at a high level before the project begins.
- Testing is integrated into the development life cycle.
- Interaction and cooperation between all participants is necessary for its effectiveness.