Dynamic Systems Development Method
   HOME

TheInfoList



OR:

Dynamic systems development method (DSDM) is an agile project delivery framework, initially used as a software development method. First released in 1994, DSDM originally sought to provide some discipline to the
rapid application development Rapid application development (RAD), also called rapid application building (RAB), is both a general term for adaptive software development approaches, and the name for James Martin's method of rapid development. In general, RAD approaches to ...
(RAD) method. In later versions the DSDM Agile Project Framework was revised and became a generic approach to project management and solution delivery rather than being focused specifically on software development and code creation and could be used for non-IT projects. The DSDM Agile Project Framework covers a wide range of activities across the whole project lifecycle and includes strong foundations and governance, which set it apart from some other Agile methods. The DSDM Agile Project Framework is an iterative and incremental approach that embraces principles of Agile development, including continuous user/customer involvement. DSDM fixes cost, quality and time at the outset and uses the MoSCoW prioritisation of scope into ''musts'', ''shoulds'', ''coulds'' and ''will not haves'' to adjust the project deliverable to meet the stated time constraint. DSDM is one of a number of agile methods for developing software and non-IT solutions, and it forms a part of the Agile Alliance. In 2014, DSDM released the latest version of the method in the 'DSDM Agile Project Framework'. At the same time the new DSDM manual recognised the need to operate alongside other frameworks for service delivery (esp.
ITIL The Information Technology Infrastructure Library (ITIL) is a set of detailed practices for IT activities such as IT service management (ITSM) and IT asset management (ITAM) that focus on aligning IT services with the needs of business. ITIL d ...
)
PRINCE2 PRINCE2 (PRojects IN Controlled Environments) is a structured project management method and practitioner certification programme. PRINCE2 emphasises dividing projects into manageable and controllable stages. It is adopted in many countries wor ...
, Managing Successful Programmes, and PMI. The previous version (DSDM 4.2) had only contained guidance on how to use DSDM with
extreme programming Extreme programming (XP) is a software development methodology intended to improve software quality and responsiveness to changing customer requirements. As a type of agile software development,"Human Centred Technology Workshop 2006 ", 2006, P ...
.


History of DSDM

In the early 1990s,
rapid application development Rapid application development (RAD), also called rapid application building (RAB), is both a general term for adaptive software development approaches, and the name for James Martin's method of rapid development. In general, RAD approaches to ...
(RAD) was spreading across the IT industry. The user interfaces for software applications were moving from the old green screens to the graphical user interfaces that are used today. New application development tools were coming on the market, such as
PowerBuilder PowerBuilder is an integrated development environment owned by SAP since the acquisition of Sybase in 2010. On July 5, 2016, SAP and Appeon entered into an agreement whereby Appeon, an independent company, would be responsible for developing, se ...
. These enabled developers to share their proposed solutions much more easily with their customers – prototyping became a reality and the frustrations of the classical, sequential (
waterfall A waterfall is a point in a river or stream where water flows over a vertical drop or a series of steep drops. Waterfalls also occur where meltwater drops over the edge of a tabular iceberg or ice shelf. Waterfalls can be formed in severa ...
) development methods could be put to one side. However, the RAD movement was very unstructured: there was no commonly agreed definition of a suitable process and many organizations came up with their own definition and approach. Many major corporations were very interested in the possibilities but they were also concerned that they did not lose the level of quality in the end deliverables that free-flow development could give rise to The DSDM Consortium was founded in 1994 by an association of vendors and experts in the field of
software engineering Software engineering is a systematic engineering approach to software development. A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software. The term '' ...
and was created with the objective of "jointly developing and promoting an independent RAD framework" by combining their
best practice A best practice is a method or technique that has been generally accepted as superior to other known alternatives because it often produces results that are superior to those achieved by other means or because it has become a standard way of doing ...
experiences. The origins were an event organized by the Butler Group in London. People at that meeting all worked for blue-chip organizations such as British Airways, American Express, Oracle, and Logica (other companies such as Data Sciences and Allied Domecq have since been absorbed by other organizations). In July 2006, DSDM Public Version 4.2 was made available for individuals to view and use; however, anyone reselling DSDM must still be a member of the not-for-profit consortium. In 2014, the DSDM handbook was made available online and public. Additionally, templates for DSDM can be downloaded. In October 2016 the DSDM Consortium rebranded as the Agile Business Consortium (ABC). The Agile Business Consortium is a not-for-profit, vendor-independent organisation which owns and administers the DSDM framework.


DSDM

DSDM is a vendor-independent approach that recognises that more projects fail because of people problems than technology. DSDM’s focus is on helping people to work effectively together to achieve the business goals. DSDM is also independent of tools and techniques enabling it to be used in any business and technical environment without tying the business to a particular vendor.


Principles

There are eight principles underpinning DSDM.Agile Business Consortium
The DSDM Agile Project Framework (2014 Onwards) Handbook - Principles
These principles direct the team in the attitude they must take and the mindset they must adopt to deliver consistently. # Focus on the business need # Deliver on time # Collaborate # Never compromise quality # Build incrementally from firm foundations # Develop iteratively # Communicate continuously and clearly # Demonstrate control


Core techniques

* Timeboxing: is the approach for completing the project incrementally by breaking it down into splitting the project in portions, each with a fixed budget and a delivery date. For each portion a number of requirements are prioritised and selected. Because time and budget are fixed, the only remaining variables are the requirements. So if a project is running out of time or money the requirements with the lowest priority are omitted. This does not mean that an unfinished product is delivered, because of the Pareto principle that 80% of the project comes from 20% of the system requirements, so as long as those most important 20% of requirements are implemented into the system, the system therefore meets the business needs and that no system is built perfectly in the first try. *
MoSCoW Moscow ( , US chiefly ; rus, links=no, Москва, r=Moskva, p=mɐskˈva, a=Москва.ogg) is the capital and largest city of Russia. The city stands on the Moskva River in Central Russia, with a population estimated at 13.0 millio ...
: is a technique for prioritising work items or requirements. It is an acronym that stands for: **Must have **Should have **Could have **Won't have * Prototyping: refers to the creation of prototypes of the system under development at an early stage of the project. It enables the early discovery of shortcomings in the system and allows future users to ‘test-drive’ the system. This way good user involvement is realised, one of the key success factors of DSDM, or any system development project for that matter. * Testing: helps ensure a solution of good quality, DSDM advocates testing throughout each iteration. Since DSDM is a tool and technique independent method, the project team is free to choose its own test management method. * Workshop: brings project stakeholders together to discuss requirements, functionalities and mutual understanding. *
Modeling A model is an informative representation of an object, person or system. The term originally denoted the plans of a building in late 16th-century English, and derived via French and Italian ultimately from Latin ''modulus'', a measure. Models c ...
: helps visualise a business domain and improve understanding. Produces a diagrammatic representation of specific aspects of the system or business area that is being developed. * Configuration management: with multiple deliverables under development at the same time and being delivered incrementally at the end of each time-box, the deliverables need to be well managed towards completion.


Roles

There are some roles introduced within DSDM environment. It is important that the project members need to be appointed to different roles before they commence the project. Each role has its own responsibility. The roles are: * Executive sponsor: So called the ''project champion''. An important role from the user organisation who has the ability and responsibility to commit appropriate funds and resources. This role has an ultimate power to make decisions. * Visionary: The one who has the responsibility to initialise the project by ensuring that essential requirements are found early on. Visionary has the most accurate perception of the business objectives of the system and the project. Another task is to supervise and keep the development process in the right track. * Ambassador user: Brings the knowledge of the user community into the project, ensures that the developers receive enough user feedback during the development process. * Advisor user: Can be any user that represents an important viewpoint and brings daily knowledge of the project. * Project manager: Can be anyone from the user community or IT staff who manages the project in general. * Technical co-ordinator: Responsible in designing the system architecture and control the technical quality of the project. * Team leader: Leads their team and ensures that the team works effectively as a whole. * Solution developer: Interpret the system requirements and model it including developing the deliverable codes and build the prototypes. * Solution tester: Checks the correctness in a technical extent by performing some testing, raise defects where necessary and retest once fixed. Tester will have to provide some comment and documentation. * Scribe: Responsible for gathering and recording the requirements, agreements, and decisions made in every workshop. * Facilitator: Responsible for managing the workshops' progress, acts as a motivator for preparation and communication. * Specialist roles: Business architect, quality manager, system integrator, etc.


Critical success factors

Within DSDM a number of factors are identified as being of great importance to ensure successful projects. * Factor 1: First there is the acceptance of DSDM by senior management and other employees. This ensures that the different actors of the project are motivated from the start and remain involved throughout the project. * Factor 2: Directly derived from factor 1: The commitment of the management to ensure end-user involvement. The prototyping approach requires a strong and dedicated involvement by end users to test and judge the functional prototypes. * Factor 3: The project team has to be composed of skillful members that form a stable union. An important issue is the empowerment of the project team. This means that the team (or one or more of its members) has to possess the power and possibility to make important decisions regarding the project without having to write formal proposals to higher management, which can be very time-consuming. In order to enable the project team to run a successful project, they also need the appropriate technology to conduct the project. This means a development environment, project management tools, etc. * Factor 4: Finally, DSDM also states that a supportive relationship between customer and vendor is required. This goes for both projects that are realised internally within companies or by external contractors. An aid in ensuring a supporting relationship could be ISPL.


Comparison to other development frameworks

DSDM can be considered as part of a broad range of iterative and incremental development frameworks, especially those supporting agile and
object-oriented Object-oriented programming (OOP) is a programming paradigm based on the concept of " objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of p ...
methods. These include (but are not limited to)
scrum Scrum may refer to: Sport * Scrum (rugby), a method of restarting play in rugby union and rugby league ** Scrum (rugby union), scrum in rugby union * Scrum, an offensive melee formation in Japanese game Bo-taoshi Media and popular culture * M ...
, extreme programming (XP), disciplined agile delivery (DAD), and Rational Unified Process (RUP). Like DSDM, these share the following characteristics: * They all prioritise 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.


See also

*
Lean software development Lean software development is a translation of lean manufacturing principles and practices to the software development domain. Adapted from the Toyota Production System, it is emerging with the support of a pro-lean subculture within the agil ...
* Agile software development


References


Further reading

* Coleman and Verbruggen: ''A quality software process for rapid application development'', Software Quality Journal 7, p. 107-1222 (1998) * Beynon-Davies and Williams: ''The diffusion of information systems development methods'', Journal of Strategic Information Systems 12 p. 29-46 (2003) * Sjaak Brinkkemper, Saeki and Harmsen: ''Assembly Techniques for Method Engineering'', Advanced Information Systems Engineering, Proceedings of CaiSE'98, Springer Verlag (1998) * Abrahamsson, Salo, Ronkainen, Warsta
Agile Software Development Methods: Review and Analysis
', VTT Publications 478, p. 61-68 (2002) * Tuffs, Stapleton, West, Eason: ''Inter-operability of DSDM with the Rational Unified Process'', DSDM Consortium, Issue 1, p. 1-29 (1999) * Rietmann: ''DSDM in a bird’s eye view'', DSDM Consortium, p. 3-8 (2001) * Chris Barry, Kieran Conboy, Michael Lang, Gregory Wojtkowski and Wita Wojtkowski: ''Information Systems Development: Challenges in Practice, Theory, and Education, Volume 1'' * Keith Richards:
Agile Project Management: running PRINCE2 projects with DSDM Atern, TSO (2007)
'
The DSDM Agile Project Framework (2014)

DSDM Agile Project Management Framework (v6, 2014) interactive mind map


External links

{{commons category, Dynamic Systems Development Method
The Agile Business Consortium (formerly, DSDM Consortium)

AgilePM wiki