advertisement
What is a Dynamic System Development Method (DSDM)
Dynamic System Development Method (DSDM) is an Agile software development approach that provides a framework for developing and maintaining a system that meets rigid time constraints, through the use of incremental prototyping, in controlled project management. DSDM being a RAD model, is dynamic. This method is used for systems that are to be developed for a short duration and where all the requirements cannot be collected and fixed at the beginning of the project. Here, the design is prepared and developed for whatever requirements are initially known. In DSDM, the requirements evolve with time and the analysis, design, and development phases can overlap. DSDM is:
- Straightforward
- Expandable
- Simple framework based on the best principles
- Not suited to all kinds of projects
1. Need for DSDM
The goal of DSDM is to deliver working systems to organizations in a short period. A typical DSDM project delivers an operational system within six months. According to DSDM, most projects fail because of people issues rather than technology. Therefore, the main focus of this method is to guide people to work together so that business goals are profitably accomplished.
Following the Agile approach, in DSDM, systems are built to focus on the current requirements. Therefore, the resulting system is expected to better fit the requirements, be easier to test, and be more likely to be accepted by the customer.
2. DSDM Principles
There are nine underlying principles in DSDM which include four foundations and five starting points. They are:
- Active user involvement is essential.
- Teams must be empowered to make decisions.
- The target is frequent product delivery.
- The essential criterion for acceptance of deliverables is compliance with business purposes.
- Iterative and incremental development is necessary to reach an accurate business solution.
- All changes during development are reversible.
- Testing is integrated throughout the life cycle.
- Requirements are baselined at a high level.
- A cooperative and collaborative approach between all stakeholders is imperative.
3. Roles in DSDM
The different roles in the DSDM team are:
- Executive Sponsor or Project Champion: This person from the customer's organization has the ultimate power to make d decisions. The project champion is also responsible for funds and resources.
- Visionary: A visionary possesses the most accurate perception of the business objectives of the system and the project. The visionary initializes the project by finding all the essential requirements in advance. The visionary also supervises and makes sure that the development process is on the right track.
- Ambassador User: The ambassador user is a representative of the user community. He ensures that the developers receive enough amount of feedback from the users during the development process.
- Project Manager: The project manager manages the project in general. A project manager can be from the user community or IT staff.
- Technical Coordinator: The technical coordinator is responsible for designing the system architecture and controlling the technical quality of the project.
- Team Leader: The team leader ensures that the team works effectively as a whole.
- Developer: A developer interprets the system requirements and models them. A developer is also responsible for developing deliverable codes and building prototypes.
- Tester: A tester checks the code and ensures it is technically correct.
- Scribe: A scribe is responsible for collecting and recording the requirements, agreements, and decisions made in each workshop.
- Facilitator: A facilitator is responsible for managing the workshop's progress and also facilitates preparation and communication.
- Specialist Roles: Business Architect, Quality Manager, System Integrator, and so on.
4. Techniques in DSDM
The following are techniques used in DSDM:
1. Time-boxing:
DSDM uses the time-boxing technique where milestones are used in traditional methods. The time box usually consists of two to six weeks, when the planned tasks are completed. A timebox:
- It can contain several tasks.
- Has to deliver a product at the end.
- Is subject to change.
2. Moscow Rules:
MoSCoW rules are the DSDM techniques used to weigh the importance of requirements. The rules are:
- Must have: All features belonging to this group must be implemented. The system would not work if they were not delivered.
- Should have: Features of this priority, although important, can be omitted if there are constraints.
- Could have: The features in this group add functional enhancements to the system and can easily be reassigned to a later time box.
- Want to have: These features are of little value and serve only a limited group of users.
3. Prototyping:
Evolutionary prototyping in DSDM encourages incremental development and frequent delivery. Critical functionality is developed first so that difficulties are discovered and sorted out early and the product is delivered early. Feedback is provided through a workshop.
The different prototypes in DSDM are:
- Business Prototype: Allows assessment of the evolving system.
- Usability Prototype: Check the user interface.
- Performance Prototype: Ensures the performance of the product and its ability to handle volume.
- Capability Prototype: Evaluate the capability of the product by exploring all possible options.
5. Key Factors in DSDM
The ten most important factors in DSDM as compiled by the DSDM consortium are:
- Acceptance of the DSDM philosophy before starting work on the project.
- Decision-making powers of users and developers.
- Responsibility of senior user management to provide significant involvement of end-users
- Incremental delivery.
- Approachability of end-users to developers.
- Stability of the team.
- Skills of the development team.
- Size of the development team.
- Supportive of commercial relationships.
- Development of technology.
6. Advantages and Disadvantages of DSDM
The advantages and disadvantages of DSDM are:
1. Advantages:
- The results of development are directly visible
- Basic functionality is delivered quickly and additional functionality is delivered at regular intervals
- Users can steer the direction of the project at any point
- As constant feedback is provided by the users, the system being developed meets all the user requirements
- Early indications of whether a project will work or not are available rather than unpleasant surprises at the end
- Deliverables on time and budget
2. Disadvantages:
- High cost of licensing
- Relatively higher barrier to entry
- Cultural shift in the organization
- Very costly as the manpower needs to be trained properly
- It is not suitable for small organizations
- Not very user-friendly as users need to have proper knowledge of the system to implement it. Implementation is not easy
advertisement
Conversation
Your input fuels progress! Share your tips or experiences on prioritizing mental wellness at work. Let's inspire change together!
Join the discussion and share your insights now!
Comments 0