A Human Being Is Not Equivalent to a Tool: Working with the Dynamic Systems Development Method
Respect and Confidence Are the Basics for DSDM (and All Agile Methods)
Dynamic Systems Development Method™1 offers a framework for solid and controllable agile software development projects while maintaining a focus on providing high priority benefits to the business in the shortest timeframe possible. DSDM is vendor and technology independent, requiring no tools or technology to purchase or be hamstrung by. As its name implies, Dynamic Systems Development Method embraces evolving requirements and design as the developers and the business rapidly and collaboratively converge on a high quality solution. All this makes DSDM a clear winner when it comes to realizing immediate business benefit or bringing products to market rapidly.
Working with the DSDM philosophy means adopting an attitude of collaboration, cooperation and commitment from everyone involved. This includes end-users, management and technology professionals. The benefits go beyond a good piece of software.
Rapid Application Development (first published by James Martin in 1991) became highly popular during the 90s, but it initially had a number of substantial shortcomings. For example, it had problems coping with the evolving requirements and possible solutions by end-users, flexible quality standards and systems and shared team responsibilities. These shortcomings and development of tools usable for RAD resulted in a wide variety of RAD methods. Those were very often owned by IT suppliers and within that, very often connected to specific (I-) CASE tools. The time had come for a very pragmatic and flexible public-domain method, which is where DSDM comes in. DSDM is pragmatic and flexible and has a clear and workable process. It is in the public domain to assure standardization and supplier independence (a substantial and expensive problem with methods tied to vendor specific tools). DSDM emerged in 1996 as a solution for RAD and evolved into the robust, scalable agile method it is today.
Traditionally most IT projects were executed under the responsibility of IT management and they were fully executed within the IT department. Core business processes are increasingly integrated with all departments of a business, and each of these departments are increasingly influenced by the solutions provided by the IT department. By now end-users of automated solutions know what is possible and know what they want. Time-to-market, high end-use quality and budgetary control have become very important issues in development projects for tailor-made software.
DSDM has been developed and adjusted to apply to those needs. Success requires involvement and commitment from management, who must take an active and facilitating role in development. The key is to success is (real) commitment to a few keywords (namely empowerment), availability of (human) resources during the whole project-life-cycle, collaboration, and cooperation. Simply put, one would say that DSDM needs a modern and proactive management approach.
DSDM is based on empowering the people who are the most capable (in terms of knowledge, experience and not in terms like "who is the boss") of making decisions at the right time in the project-life-cycle. DSDM is not the delivery of software according to a specification, but the delivery of software that applies to the actual needs and requirements of an organization. Flexibility is an absolute necessity to achieve this.
During the full life cycle of a development project, the future end-users determine and decide on what the software will do and how it will work. These end-users are empowered by their management, within the boundaries of the project, to make all necessary decisions. The purpose is not to relieve the management layer but instead leave the decision making to the people who can most accurately represent exactly how their day-to-day process is best supported by the future system.
Figure 1 The DSDM life cycle
DSDM focuses on prioritized business benefits. During project initiation, business benefits are defined and prioritized according to the strategic needs of the business by the future end-users, using the developers to provide guidance on time, effort, and risk.
Return on investment (time) is an essential criterion for the project. The end-users together WITH the developers are responsible for achieving this goal. This requires an attitude from the developers of working with instead of working for the future end-users.
During the project-life-cycle, products, like prototypes, are iteratively developed. Iteratively converging upon a solution embraces evolving insight (you can only really judge the value of a product when you have seen and tried it) and accommodates a changing environment most of the way through the development life cycle. By iteratively converging upon a solution, the resulting product fits the end-user's needs and incorporates the latest changes in the real-life requirements (such as laws, market pressures, technology, etc) which always occur and cannot be anticipated at project initiation. Real business benefit is therefore guaranteed.
Iterative convergence upon a solution is effectively managed and controlled by DSDM techniques and controls that guarantee delivery of a solution on an exact date, without date or budget overruns. DSDM has a long and proven history, superior to all other methods, for delivering business benefits in priority order without running over time or over budget.
Figure 2 Structure of the project team
This philosophy indicates that DSDM is more than a method; it is a holistic model for successful development and implementation. DSDM is an approach requiring everyone on a project to behave and perform differently from traditional projects. The IT or MIS department or can no longer prescribe solutions. DSDM facilitates a team to create a project that is fit for business purposes. This implies a role-change for everyone on the team, from the end-user organization to the developers. Within the team, people are working within the area of their specialty and any areas that their talent can add value to the team. The power within a team is in the real synergy that DSDM achieves. Combine this synergy with an efficient and effective process and you'll see speed and quality increase. This, however, requires substantial skill from everybody regardless of his or her background.
Traditionally management is only involved in projects to make role and task assignments, while developers are expected to work from detailed specifications. Only when the project hits formal mile-stones (for example with acceptance tests) does it become apparent how the effort is progressing (or not progressing) in accordance with the schedule. The project's processes are of little importance to management. For management, it is the long-term goals that count. Within the DSDM lifecycle, the project-environment is much different. The DSDM project contends with end-users from various departments outside of IT and is required to justify the loss of that talent from the day-to-day operations to the department management. Acceptance procedures and escalation procedures differ because different people are involved in the processes that are based upon different criteria. Management within a DSDM project is challenging, with the emphasis on rapid delivery of "functionality" verses tasks and the highly parallel manor in which work is performed and scheduled. Management inside and outside of a DSDM team must understand their new role with respect to the highly dynamic nature of this method and that this role is fundamental to the ultimate success of a DSDM project.
In many organizations, management approves a project without knowing what it really means at an operational level. When pressure on an organization increases (as a result, for example, of season-cycles or market conditions) promises are cancelled and end-users involved in the project have either too much to do (operational and project responsibilities) or are taken away from the project all together. Quality, motivation and acceptance are at steak in such an occasion. By creating a consistent project environment the management facilitates the project-team on its way to success.
Next to the business (and very often financial) objectives the "soft aspects" are also very important within DSDM. The DSDM philosophy is based on human values. Empowering people involved creates commitment. This leads to high quality within the product and greater acceptance. Acceptance leads to better use of the product. This creates a pro-active attitude from people involved. When you "do what you are good at", (in other words, turning talent into enterprise), both organization and individuals profit.
Practically, the team gets both the assignment and the responsibility to achieve the objectives within the boundaries of the project ("baselined at a high level"). This means more than assigning people or a team. Respect means that you accept that people do the things they see as best and this is probably different from your ideas. When you let this go as a threat and you trust that people are working towards the same objectives you can focus on your own talents. Synergy is the final word that links all efforts together.
Empowering is step number one (and not just lip service). Very often people forget that you not only have to give responsibilities to people but they have to accept them as well. Once the baselines are set the team has to work as a "micro-company" with its own targets. A company that is together for the duration of the project will be focused on business objectives. Entrepreneurship means shared responsibilities, shared commitment and a shared ambition, not only for one's own tasks and activities project priorities such as communication, risk-management, problem-analysis and budgetary control (regardless whether this is time, money or functionality). Traditionally this is concentrated at the project manager's role. Now it is a team responsibility.
The team has to be able to solve problems within the team itself. An additional advantage is that the team no longer drains expensive and scarce management time. Only on issues outside the project responsibilities does the team require management involvement. In these cases, the management can facilitate the solution and create a clear road for the team to maintain speed. This is what we call the self-cleaning powers of the team. It creates a no-blame culture where solutions, not problems, are issues to focus on. Therefore, the person who causes the problem isn't important; instead, what's important is the ability of the team to solve the problem. Errors, problems and pitfalls will be recognized sooner. Team atmosphere, quality, acceptance and speed are the beneficial results of an attitude like this. Again, all this requires a basis of respect and mutual trust.
Working with this attitude has substantial additional benefits that go beyond good software. Based on DSDM knowledge and experience, programmers develop a professional attitude (integrated professional qualities) and project participants grow both as professionals and as people, greatly benefiting the organization as a whole. These new skills reusable anywhere and anytime.
A continuous interaction between developers and future users guarantees a high level of quality in both functionality and usability. Little time is spent on repairs and adaptations on the evolving prototype. The principle of integrated testing requires continuous interaction, subsequently resulting in rapid and meaningful feedback, not at the end of a cycle, but continuously throughout the process. Integrated testing increases the visibility of developer's misunderstandings and misconceptions. Catching these errors very early in the life cycle represents enormous savings in time, effort, quality, and the rapid accurate evolution of the solution.
Stability and maintainability of the product should be based upon future use (and expectations around it). DSDM has defined 3 strategies ("short-term-tactical-delivery", "deliver-first-redesign-later" and "maintainable-from-the-start"). Formalized wishes and requirements regarding the product (such as the defined life-cycle of the product) are stated and used as a starting point for the definition of the level of quality at the time of implementation.
By applying any one of these strategies, unneeded work (redundant functionality, documentation, bells & whistles, etc.) is avoided. Real quality has been achieved by delivering a level of stability and standardization that fits the requirements for this solution.
You will not only save time, but also improve communication. Short communication lines and various techniques make communication quick, accurate, and effective. Facilitated workshops (with the defined benefits of speed, ownership, quality of decision making, oversight, consensus, buy-in from all stakeholders, and productivity), time boxing, MoSCoW (a prioritization technique) and empowerment increases the communication efficiency, drastically improving the rate at which beneficial functionality is delivered.
Incremental delivery assures delivery of benefit to the business much earlier than is possible with legacy methods. Solutions that are delivered more quickly to market or placed in the hands of users sooner begin earning a return on investment much sooner. Legacy methods attempt to deliver the entire solution (big bang) at much longer intervals, delaying any ROI, increasing the sunk costs, and ultimately putting the business at significantly greater risk. The DSDM approach makes a larger ROI and earlier returns a reality, thereby containing costs and reducing risk.
By actively involving the users throughout development, they will know how to use the system upon delivery. There is no delay for training and no delay for ROI. Ulimately, there is a much greater benefit than early ROI How many brilliant systems Many projects are canceled near completion or outright rejected by users upon implementation due to the lack of ownership or acceptance from end-users. When the users and the business are integral to the development effort, the user community claims ownership. The users have a stake in the successful deployment of the system and the users will do everything possible to make "their" system succeed.
Many organizational processes, including processes for projects, are focused on the mechanism and pre-defined products. DSDM approaches the process from the human perspective. People are not tools. They have different talents and evolving skills and ideas that can benefit the process and therefore the deliverables when facilitated and managed the right way. The holistic method of DSDM offers various opportunities get the best out of people benefiting both the individual and the organization.
Be warned, DSDM is not a magic wand. After hearing testimonials about the virtues of DSDM, you could quickly decide to introduce DSDM into your organization. The moment that DSDM is presented as a holy paradigm it becomes dogma. This is exactly what DSDM should not be. First, you must consider the maturity of an organization and the people involved. To make DSDM a success requires full application of the principles. People must assume new roles and embrace new processes. Teams and their management must be trained and mentored until they are ready to go it alone. DSDM must be skillfully adapted and wielded by an organization. The introduction of DSDM into an organization can reap great rewards for most organizations, but it is highly recommended that it be introduced correctly. The DSDM Consortium provides substantial guidance by way of a white paper outlining the approach to introducing DSDM into an organization. The white paper utilizes a DSDM approach to introducing DSDM into an organization, thereby reducing risk and giving an organization a rapid and healthy start to DSDM. DSDM can be your organizations game-changing competitive advantage. To learn more, explore the DSDM Consortium web site at www.dsdm.org. The DSDM Consortium in a nonprofit professional association with a mission to make the open DSDM method the worldwide standard for rapid agile development.
Principles of DSDM
Time boxing is a technique based on the facts that over 40% of custom built software is NEVER used. This together with the fact that most projects traditionally deliver too late to address the needs they were designed to address. When you take the business objectives for the project as a starting point you have the right angle. Every piece of functionality must be prioritized directly in relation to business objectives. The question is, in what way does it contribute to those objectives? The MoSCoW technique helps here:
are essential, the minimum usable subset, without them the objectives are missed
are really needed, but when you miss them you can define a workaround
still included, but you can easily do without them
Not enough value to include in this increment of development (these are usually greater than 40%)
When you prioritize in this way you have a clear indication of what should be there and what should not. For planning you can estimate the must haves and add some time (not pre-scribed). When you are producing on time you have time left for should and could haves. When you are short of time you leave out could haves first and later (when needed) should haves. You deliver functionality, highest priority order, on time and achieve the business objectives.
The DSDM Consortium
DSDM was originally developed based on the best-practice experience of Rapid Application Development users. Vendors and business in the IT market place joined forces to create a flexible framework for rapid application development projects. The intellectual asset (recognizable in the manual, white papers, etc.) was given in ownership to the non-profit consortium that was founded with the name DSDM Consortium Ltd. Since its formation in the UK in 1994, sister-consortia have formed in the Benelux, Sweden, Denmark, France, North America (USA and Canada), and soon in Norway.
Within the consortia vendor and end-user organizations work together (nonprofit!) to continue DSDM's enhancement and adaptation to the changing technology environment.
The author has over 15 years of experience in ICT (the technology that links information and communication together) and related business. Since 1994 he has been working on RAD and DSDM projects in various roles. He is accredited as a DSDM Practioner, Trainer, Examiner and Consultant; additionally he is an accredited Certified Professional Facilitator. He works as a business project manager in the networking organization "The Vision Web", a web-business company with approximately 500 employees mainly based in the Benelux. Many of the principles of the DSDM philosophy are recognized and implemented within The Vision Web. The author is also involved in the Agile Alliance (www.agilealliance.org), grounded in February 2001,as one of the seventeen authors.