Agile development methods have grown substantially since 2001, as they introduced many new techniques and practices that made the world more flexible and nimble. Many frameworks have emerged under the umbrella term of Agile, such as Scaled Agile, Kanban, Scrum, Extreme Programme, DSDM, etc. These frameworks emerged when 17 people got together to form a better way for software development. These frameworks intend to address all the drawbacks that traditional software methodologies face. Two of these frameworks are DSDM and Scrum, both of which share numerous similarities. However, both frameworks also have many differences that every Agile professional has to know. Some differences are related to terminologies used in both frameworks, and others may be based on the project’s definition of done. This article focuses on understanding DSDM and Scrum and elaborates on the differences between the two.
What is DSDM?
Dynamic Systems Development Method (DSDM) is an Agile framework that existed in 1994. It was used for software development and was meant to enhance Rapid Application Development (RAD). RAD is a type of software development that gives importance to iteration and rapid prototyping based on user feedback. As the DSDM methods and practices became more popular and understandable by other industries, they became general project management tools based on software-specific solutions. Industries outside the IT sector have widely adopted DSDM in the past few years, leading to the dropping of the acronym. Some of the sectors have renamed the term DSDM as “Driving Strategy, Delivering More.”
DSDM has eight principles for any type of implementation and is the key to the philosophy adopted by the framework. These principles are:
- Focusing on the business need
- Delivering on time
- Collaborating
- Never compromising quality
- Building products incrementally from firm foundations
- Iterative development
- Clear and continuous communication
- Demonstrating control
DSDM addresses many common problems, such as cost overruns, late delivery, or not meeting the requested product's expectations, by building a flexible environment that focuses on creating and maintaining high-quality products. DSDM uses an incremental and iterative approach towards product development and also involves stakeholders during the development process. Project teams are given precise and clear roles, and DSDM ensures they are scheduled on time and focused on meeting deadlines. DSDM balances upfront design as it provides enough flexibility to respond to any kind of change and reduces any risk in the product creation process.
Elements of the DSDM
- Strong foundation and governance which sets DSDM apart from other methods
- The iterative and incremental approach towards product development
- The customer or user feedback decides the key to ongoing progress
- Quality, costs, and time constraints are strict
- The product's scope is categorized into Should Have, Won’t Have, Must Have, and Could Have.
Phases of DSDM
Pre-Project Phase
The company identifies projects submitted by candidates and begins funding to ensure project commitment. These issues are handled at earlier stages to prevent problems in later stages.
The Project Life-cycle
Every project has to go through five stages to create an IS. The first two phases, feasibility and business studies, complement each other. Later, the project goes through functional model iteration and design-and-build iteration, where most of the work on the project is designed and completed and later implemented in the last stage.
The Post-Project Phase
This phase ensures that the system operates efficiently and effectively. This is evaluated according to the principles of DSDM. All of the maintenance, fixes, and enhancements are done based on the principles. The iterative and incremental nature of DSDM helps the organization to view the continuing development of the product. The previous cycles or phases could be refined in DSDM as instead of finishing the entire project at once, developers can return to earlier steps as well.
Core Techniques used in DSDM
Timeboxing—In this technique, each task is given specific time constraints, such as 2, 4, or 6 weeks. Within that time, a set of functions is allotted that have to be completed. Several tasks could be given in one timebox, adding value to the deliverable product after completion. The tasks could also be changed during the development process, as this provides a quick response to the customer's business needs.
- MoSCoW rules: The importance of the items or requirements is categorized into Must-Have, Should-Have, could-have, and Won’t-Have, and later tasks are selected based on the priority of this rule.
- Prototyping—This function allows the developers to implement critical functionality earlier in the project, which helps them identify any impediments or difficulties that may erupt later in the process. It works mainly on the principle of incremental development and frequent delivery.
- Testing- Each iteration undergoes testing to ensure the quality of the feature.
- Modeling—Visualizing the business components or specific systems using diagrams helps one better understand the project.
What is Scrum Framework?
Scrum is lightweight and easy to understand, but it is difficult to master an Agile framework that develops products incrementally and iteratively. Scrum encourages its members to learn from their experiences and promotes methods of self-organization and continuous improvement by reflecting on their successes and failures. Scrum supports constant learning and is instructional and informative. The Scrum framework is designed so that the Scrum Team does not have to initially detail all the product features. As the team moves ahead of the project, it will discover more features and improvements, depending on user and customer feedback, and present market trends. Scrum responds rapidly to changes and is flexible for any type of change requested by the customer. Product increments in Scrum are delivered by timeboxed iterations called Sprints, which last for a maximum of 30 days. These short cycles allow the team to learn from their mistakes from previous Sprints and improve themselves in the next Sprint. Any organization can adopt Scrum as it does not restrict itself only to software development. Industries such as banking and finance, aerospace, food technology, educational institutions, construction and architectural businesses, and also government projects employ Scrum for their projects.
Project Management Using Scrum Framework
Scrum is an iterative and incremental approach to developing complex products. It has time-boxed durations called Sprints, where the Developers create Product Increments such as User Stories. The Product Owner builds a Product Backlog, a list of items that must be integrated into the product. A minimum viable product is initially built by the Scrum Team and released in the market. The Scrum Team later conducts Sprint Planning meetings where Developers are assigned tasks based on the priority of the Product Backlog. The items on the Product Backlog are broken down into simple tasks and taken in the Sprint Backlog. The team plans the implementation of the functions and decides a time duration for the Sprint to be completed. The most common interval of a Sprint is two weeks. A brief meeting is conducted every day, which is called the Daily Standup, where the team members discuss what was accomplished yesterday, what they intend to accomplish today, and if they are facing any issues during their work. This meeting helps the Scrum Master and the Product Manager assess the progress of the team and helps the team to be motivated and focused.
Sprint Review & Retrospective Meetings in Scrum Development Process
When a particular Sprint is completed, the Product Owner, the Scrum Master, the stakeholders, and the Developers gather for the Sprint Review meeting. Here, the developers demonstrate the product increment they promised at Sprint Planning and take down the feedback from the stakeholders. Feedback is an essential part of the development process as it gives a clear picture of what the user expects from the product. There are two types of feedback: internal and external feedback. Internal feedback is given by the team members and other company members to developers, and external feedback is given by the user or customer to the developers and the Scrum Team. Another meeting where the stakeholders are omitted, called the Sprint retrospective, is also conducted where the team reflects on the mistakes made in the previous Sprint and finds ways to improve in the following Sprint. Scrum team members are self-organizing and have a sense of accountability and ownership of the product. After every Sprint, the product is updated with the fixes, and a new version of the product is released to the market. This cycle is repeated till the product is fully developed.
Key Difference Between DSDM Vs Scrum
Agile DSDM and Scrum share numerous similarities as both employ iterative and incremental approaches for product development. In DSDM, the work is divided into “engineering activity,” whereas work in Scrum is termed the development phase. Also, in DSDM, the output is called the “emerging solution,” whereas in Scrum, it is called “potentially releasable increment.” DSDM and Scrum work towards a finished project by adhering to tight deadlines. However, the main difference between them is that Scrum has a Definition of Done (DoD) concept, where a product increment progresses towards implementation only if it satisfies the criteria of DoD.
In contrast, the DSDM has no specific point at which the project could be defined as done, and the DoD is agreed upon. This forms one of the most critical differences between DSDM vs Scrum. However, it is significant to note that in DSDM, a phase defined when the work is agreed upon is called the project's foundation phase. This happens in the early stage of development, where there are only assumptions about the product's design and features. In this early stage of the planning process, team leaders avoid Big Design Up-Front, which is more of a feature of Waterfall Methodologies and does not correspond to Agile.
Join the Discussion