dynamic-systems-development-method

Dynamic Systems Development Method

During the 1990s, rapid application development (RAD) was becoming increasingly popular. The Dynamic Systems Development Method (DSDM) is an agile approach that focuses on the full project lifecycle while adding further discipline and structure. DSDM is founded on eight key principles. Each principle supports the DSDM philosophy that “best business value emerges when projects are aligned to clear business goals, deliver frequently and involve the collaboration of motivated and empowered people”. 

Understanding the Dynamic Systems Development Method

While RAD allowed developers to quickly showcase potential solutions with prototypes, the process itself was unstructured. Each organization built its own framework with various exacting standards, making it very difficult to recruit competent RAD practitioners. 

In response, DSDM was created to give software development more governance and stricture guidelines. These changes would ultimately increase cohesion and consistency in the industry by the joint development and promotion of a singular RAD framework.

The eight key principles of DSDM

DSDM is founded on eight key principles. Each principle supports the DSDM philosophy that “best business value emerges when projects are aligned to clear business goals, deliver frequently and involve the collaboration of motivated and empowered people”. 

It’s important to note that compromising on any one of the eight principles undermines the philosophy and effectiveness of DSDM.

The eight principles are:

  1. Focus on the business model. Every project team must work according to the business case and not treat the project as an end to itself. MoSCoW prioritization can help teams gain clarity in this regard.
  2. Deliver on time. Timeboxing should be incorporated at all times – even in projects without a fixed schedule or end date. Self-imposed deadlines help a team create a predictable delivery schedule that boosts morale through small and frequent wins.
  3. Collaborate. Collaboration between team members and key stakeholders is key to creating dynamic and effective cultures.
  4. Never compromise quality. Quality standards should be defined and agreed upon before project commencement. Then, they must be maintained through continuous testing, documentation, and review.
  5. Build incrementally from firm foundations. Project teams need to do enough design work upfront (EDUF) to build incrementally and avoid doing more work than is required.
  6. Develop iteratively. DSDM encourages iterative development based on client, user, and stakeholder feedback. Iterative development targets must be set with respect to the project environment.
  7. Communicate continuously and clearly. Where possible, DSDM suggests face-to-face meetings or workshops daily. Roles and responsibilities must be clearly defined. Documentation must be lean and produced in a timely fashion. This promotes highly transparent projects where stakeholders feel that their particular needs are heard, understood, and catered for.
  8. Demonstrate control. Project managers and team leaders must be able to demonstrate and communicate control of the project. In other words, the project is fully aligned with company objectives. Control also means that project managers track important metrics periodically to maintain project viability.

DSDM project management best practices

Businesses who want to use DSDM in a new project should consider these best practices. Given that DSDM is one of the early agile approaches, lessons learned here can be applied to most other agile frameworks.

Best practices include:

  • Ensuring that there is the complete and total buy-in for DSDM from senior management, employees, team leaders, and stakeholders alike.
  • Creating teams who have the power to make decisions autonomously, thereby avoiding delays as a result of tedious proposal and approval processes. Teams should also be given everything they need to succeed, including the relevant equipment, environment, and project management tools.
  • Being somewhat ruthless about prioritizing the needs of a project. To stay on time and budget, project teams need to be able to make tough decisions and scrap low priority tasks.

Key takeaways:

  1. The Dynamic Systems Development Method is an agile approach that adds structure and discipline to rapid application development (RAD).
  2. The Dynamic Systems Development Method is based on eight key principles that guide the creation of business value. However, project teams must follow all eight principles to avoid compromising the effectiveness of the DSDM philosophy.
  3. The Dynamic Systems Development Method incorporates best practices that are useful in many subsequent agile frameworks. They include total stakeholder buy-in, autonomous project teams, and ruthless task prioritization.

Related Business Concepts

scaled-agile-lean-development
Scaled Agile Lean Development (ScALeD) helps businesses discover a balanced approach to agile transition and scaling questions. The ScALed approach helps businesses successfully respond to change. Inspired by a combination of lean and agile values, ScALed is practitioner-based and can be completed through various agile frameworks and practices.
test-driven-development
As the name suggests, TDD is a test-driven technique for delivering high-quality software rapidly and sustainably. It is an iterative approach based on the idea that a failing test should be written before any code for a feature or function is written. Test-Driven Development (TDD) is an approach to software development that relies on very short development cycles.
feature-driven-development
Feature-Driven Development is a pragmatic software process that is client and architecture-centric. Feature-Driven Development (FDD) is an agile software development model that organizes workflow according to which features need to be developed next.
extreme-programming
eXtreme Programming was developed in the late 1990s by Ken Beck, Ron Jeffries, and Ward Cunningham. During this time, the trio was working on the Chrysler Comprehensive Compensation System (C3) to help manage the company payroll system. eXtreme Programming (XP) is a software development methodology. It is designed to improve software quality and the ability of software to adapt to changing customer needs.
dual-track-agile
Product discovery is a critical part of agile methodologies, as its aim is to ensure that products customers love are built. Product discovery involves learning through a raft of methods, including design thinking, lean start-up, and A/B testing to name a few. Dual Track Agile is an agile methodology containing two separate tracks: the “discovery” track and the “delivery” track.
timeboxing
Timeboxing is a simple yet powerful time-management technique for improving productivity. Timeboxing describes the process of proactively scheduling a block of time to spend on a task in the future. It was first described by author James Martin in a book about agile software development.
rapid-application-development
RAD was first introduced by author and consultant James Martin in 1991. Martin recognized and then took advantage of the endless malleability of software in designing development models. Rapid Application Development (RAD) is a methodology focusing on delivering rapidly through continuous feedback and frequent iterations.
mvc-framework
The MVC framework is a predictable software design pattern separated into three main components and suitable for many programming languages. The goal of the MVC framework is to help structure the code-base and separate application concerns into three components: View, Model, and Controller.
agile-methodology
Agile started as a lightweight development method compared to heavyweight software development, which is the core paradigm of the previous decades of software development. By 2001 the Manifesto for Agile Software Development was born as a set of principles that defined the new paradigm for software development as a continuous iteration. This would also influence the way of doing business.
devsecops
DevSecOps is a set of disciplines combining development, security, and operations. It is a philosophy that helps software development businesses deliver innovative products quickly without sacrificing security. This allows potential security issues to be identified during the development process – and not after the product has been released in line with the emergence of continuous software development practices.

Read Next: Business AnalysisCompetitor Analysis, Continuous InnovationAgile MethodologyLean StartupBusiness Model InnovationProject Management.

Main Free Guides:

Scroll to Top
FourWeekMBA
[class^="wpforms-"]
[class^="wpforms-"]