DYNAMIC SYSTEMS DEVELOPMENT METHOD (DSDM)
As the name implies, DSDM develops the system in a very dynamic way. DSDM’s success is due to the philosophy “that any project must be aligned to clearly defined strategic goals and focus upon early delivery of real benefits to the business.”
Get Support Now
Supporting this philosophy are eight principles that lets teams maintain awareness, achieve more project goals and deliver consistently.
8 PRINCIPLES OF DYNAMIC SYSTEMS DEVELOPMENT METHOD (DSDM)
- Focus on the business need: DSDM teams must enact a valid and sound business case while ensuring organizational guide throughout the project
- Deliver on Time: Work needs to be time-boxed and foreseeable; to build some worth of self-confidence within the development team.
- Collaborate: DSDM groups should involve stakeholders throughout the project and empower all members of the team to create choices.
- Quality: To ensure top quality, the extent of quality ought to be agreed upon with the business on the start of the project. This should be enforced through continuous testing, review, and documentation
- Build Incrementally from Firm Foundations: Teams must do Enough Design Work Up Front (EDUF) to confirm they grasp specifically what to make, however not an excessive amount of to slow development.
- Developer Iteratively: Take feedback from the business and use this to repeatedly improve with every development iteration. Teams should conjointly acknowledge that details emerge because the project or product develops and they have to respond to this.
- Communicate Continuously and Clearly: Keeping up with the everyday stand-up sessions, encouraging informal conversations, running workshops and constructing prototypes are all DSDM key tools. Communicating through documents is discouraged - instead, documentation should be lean and timely.
- Demonstrate Control: The Project Manager and Team Leader ought to create their plans and progress visible to any or all and focus on giving major deliveries.
DSDM uses the following proven core Techniques/Practices.
-
Timeboxing
is a method that is used in completing projects incrementally by breaking them into smaller portions, each with a defined budget and timeframe. For every portion, a unit area needs to be prioritized. This is because when project starts losing money or when cash is running out, requirements of the lowest priority would be removed. As long as 20% of the most important requirements are implemented, the system has met its needs; this is because a finished project comes from solely the most important requirements. -
MoSCoW
which is an acronym stands for- MUST have
- SHOULD have
- COULD have
- WON'T have
This technique is used for prioritizing work requirements. That simply means, ranking items from the highest level of importance to the lowest level of importance.
-
Modeling
modelling assists in visualizing the different aspects of an ongoing project. Hereby producing a pictorial illustration of specific aspects of the system or business space that's being developed. -
Prototyping
like many Agile methodologies, prototyping refers to the creation of prototypes at the early stage of the project so as to test run that project. It is one of the simplest ways to map out the fundamental functions, discover evident weaknesses and allows users test run the software program. -
Workshops
customers/users are brought together to debate requirements, functionalities and mutual information. DSDM depends on high levels of user interaction, right from the beginning. Testing is vastly necessary for DSDM, because it ensures prime quality results.
DSDM Roles
There are few roles that are introduced in the DSDM circle. It is vital that project/team members need to be given specific roles before the start of any project. Every role carries its own responsibility. These roles include:
- Executive Sponsor (the “Project Champion”) – The user organization and/or the customer will provide someone for this role. They are also the one who can allot funds and resources, as needed. They are the “final say” when it comes to decision-making.
- Visionary – Armed with concrete objectives and an understanding of the user business, the Visionary initializes the project by locking on to the highest priority requirements early on and guiding the team based on this.
- Ambassador User – An ideal “test user” who brings the point-of-view of the user community into the project. They become a key source of feedback throughout the entire process.
- Advisor User – Another type of user that should bring essential viewpoints to the project at hand. They may have unique insights or other expertise that makes them the ideal candidate.
- Project Manager – A project manager is anyone who manages the overall project.
- Technical Coordinator – They will design the system architecture and be responsible for quality control of all technical elements.
- Team Leader – The leader of the team, responsible for coordination and facilitating collaboration.
- Solution Developer – Navigate any system requirements, model the system, develop the deliverable codes, and create prototypes.
- Solution Tester – Tests the product and provides comments and documentation when errors arise. They also re-test after corrections are implemented.
- Scribe – Records the requirements, agreements, decisions, and any other useful information for the progress of the project.
- Facilitator – They are in charge of motivating and preparing the workshop to keep progress consistent and steady. They must be a master communicator, keeping everyone on track.
- Specialist Roles – These are roles filled by specialists in their field or industry, providing extra support depending on the needs of the project. They may vary from project-to-project and team-to-team. Roles like this may include Business Architect, Quality Manager, System
DSDM can be considered as part of a broad range of iterative and incremental development frameworks, especially those supporting agile and object-oriented methods. These include (but are not limited to) Scrum, Extreme Programming (XP), Disciplined Agile Delivery (DAD), and Rational Unified Process (RUP).
Like DSDM, these share the following characteristics:
- They all prioritize requirements and work though them iteratively, building a system or product in increments.
- They are tool-independent frameworks. This allows users to fill in the specific steps of the process with their own techniques and software aids of choice.
- 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
- A 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.
Should you use DSDM?
If your organization prioritizes developing quickly, delivering on time and on budget, and breaking down bureaucracy and improving communication across your cross-functional teams, DSDM might be an agile framework worth exploring.