Dynamic Systems Development Method(DSDM)
Contents |
Introduction
The Dynamic Systems Development Method (DSDM) is a framework for Agile project management and delivery, helping to deliver results quickly and effectively. It was created in 1994 through a collaboration of project practitioners among many companies and from that point there is a continuous evolution. Firstly, in 2008 updated in DSDM Atern and in 2014 rebranded to DSDM Agile Project Framework.[1]
DSDM is a continual and incremental approach which embrace the values and the principles of the Agile development. These values are the empowerment and collaboration between the individuals and the teams, adapt and respond to the changes and continuous collaboration between project team and the business-customer. The DSDM approach always focuses on making people working more effectively towards achieving their goals. It is an approach while initially was used only for software development through the years and its evolution can be adapted in any technical environment for any kind of project.[2] The DSDM framework is trying to face well-known problems that project managers have to address in any kind of project like ineffective communication, late delivery, unmet need through the desired solution, delayed or late Return of Investment etc.[1]
The DSDM approach is based on the philosophy:
“Best business value emerges when projects are aligned to clear business goals,
deliver frequently and involve the collaboration of motivated and empowered people”
Furthermore, one of the main assumptions in DSDM approach is that nothing can be perfected planned from the first time and instead of setting unrealistic and unreasonable expectations, a perfection of 80% could be enough at least in the beginning[1] ,[3].This makes DSDM to differentiate with the other traditional approaches. For instance, other traditional methods like the ‘Waterfall’ approach needs 100% perfection in order to move forward to the next step or activity which has as a result wasted time, additional effort and back and forth steps. While with iterative DSDM approach is confronted these problems, since it is not aiming for the perfection from the initial phase.
Below, it would be briefly described the basic elements of the DSDM framework which compromise the constitution of DSDM(Fig.1). In particular, it would be mentioned the fundamental principle of the DSDM philosophy. Next, these principles are supported by a lifecycle process of 3 phases, the roles and the responsibilities, artefacts and some main techniques that are used from this approach, like Timeboxing, facilitated workshops and MoSCoW prioritization.
Principles
The DSDM philosophy is supported by 8 core principles which are focused on the business need, on-time delivery, collaboration and communication, incremental and iterative work practices, a non-compromising stance on quality and the need to demonstrate control. These principles are trying to embrace the Agile values and create a mindset to people-teams’ attitude toward to deliver consistently while remaining flexible. These principles are really critical and should be strictly followed and adopted in order the DSDM approach to succeed and the full benefits of this framework to get exploit. Otherwise, it cannot be delivered the best business solutions.These principles are supporting with the DSDM lifecycle process, the appropriate set of roles and responsibilities, the artefacts-products and some main practices. Below there is a brief description of these principles.[1] [4], [2] [5] [6]
1. Focus on the Business Need
When DSDM approach is following, it is important all the teams that are involved in the project to understand and focus on the business priorities and needs, since all the decisions that are making regarding the project are around how to fulfill the business needs and understand what and when to be delivered.
2. Deliver on Time
One of the main goals and success factor of a project is the delivering on time. For this reason, in DSDM approach the teams should follow and meet deadlines by setting timeboxes which are a planned in advance timeframe but at the same time have a more variable and flexible scope in the in the pre-set deliverable.
3. Collaborate
Through collaboration can be achieved increased understanding, more efficient way of working, shared ownership which all of that will lead to increased performance. In order to be achieved a greater collaboration and fulfilled this principle, according to DSDM approach the teams firstly should empower their team members to take decision regarding the project, then engage the right stakeholder throughout the project at the right moment and finally build one team culture. In addition, all of these will be accomplished by setting the right roles and responsibilities to the right people and through facilitated workshops where their knowledge can be shared effectively with other members of the project team.
4. Never Compromise Quality
Quality is really important for a project and level of quality and expectations should be agreed in the beginning. Everyone has to aim at achieving that level of quality. So as to accomplish this goal and principle, the teams that are involved in the project should firstly agree on the level of quality of the project before its deployment, then, guarantee that quality cannot be a variable, design, and document appropriately and lastly continuously testing from an early stage of the project.
5. Build Incrementally from Firm Foundations
One thing that differentiates the DSDM approach from the rest Agile one is the concept of establishing firm foundations for the project in advance of the incremental development. According to the DSDM approach, it is really important first to understand the scope of the business problem and the proposed solution(firm foundations) but not in that detail which may cause delays due to an over-detailed analysis of requirements. Then, after the firm foundations have established, it is followed the incremental delivery of the project so as to deliver real business benefit as soon as possible.
6. Develop Iteratively
According to this principle it is really rare an accurate business solution to developed and delivered at first without applied any changes and revaluation of the project. For that reason, it is needed a continuous process of development with which more details that are emerging later can be recognized, the creativity and the learning is encouraged, and embrace change since a lot of changes are needed in order to reach the desire result.
7. Communicate Continuously and Clearly
It is usual that there are project failures because of poor communication between the teams and individuals. The DSDM aim to improve communication and its effectiveness and in order this to succeed different methods and practices are used from this framework, like stand-up meetings(scrum), facilitated workshops, visual communication. Additionally, teams are encouraged to informal communication and keeping lean and timely documentation.
8. Demonstrate Control
The involved teams need to understand the value of project governance and the need to demonstrate control. According to the DSDM approach in order to fulfill this principle, the plans and the progress should be visible to all, the project to be managed proactively, the project viability continuously to get evaluated based on the business targets and the progress should be measured by focusing on the delivery of products and not in the completion of the activities.
DSDM Process
The DSDM approach regarding development and delivery can be characterized both iterative and incremental, having as a primary goal to meet the business need and then to deliver the required features. In order to support the DSDM approach and adopt the principles that described above a process model is used. This model (Fig.2) consists of 3 main phases the pre-project, project lifecycle and the post-project. The project lifecycle is divided into 4 sub-phases which are the feasibility, foundations, evolutionary and the deployment phases.[1],[2],[4]
1. Pre-project Phase
In this phase, it is ensuring that everyone has understood the project objectives and it is defined which projects are going to start initially.
2. Project lifecycle Phase
2.1.Feasibility Phase
In the feasibility phase, the project is examined both for its technical feasibility and the business cost-effectiveness. So this phase is critical since decisions are taking regarding the undertaking and investment on the project or the cancellation of it.
2.2.Foundations Phase
Once the feasibility phase has finished, it is further developed in order in that phase to be evaluated the business reasons behind the project, the potential solution that will be developed and how development and delivery will be handled from a managerial point of view. In this phase, it is not needed a high degree of details in the recording of requirements and less than few weeks will be needed even for big and with high complexity projects. Finally, the aim of foundations is everyone to understand the scope of the work and the way the project will be carried out.
2.3.Evolutionary Development Phase
The next phase is the evolutionary development in which the main focus is in the iterative and incremental development of a solution which will get towards the business’ requirements and objectives.
2.4.Deployment Phase
The last sub-phase in lifecycle process is the deployment one where it is tried to get the solution into an operational use and to be ready to get launched into the market.For example, in order to be clearer, the launch of a new tablet where multiple projects which run in different locations should be merged and deployed into one solution and launch in a single release. In this phase, there are also three sub-phases the assemble, the review and the deploy.
•Assemble : Gather and assemble of all the artefacts which are relevant to the development of the solution.
•Review : Evaluate and review the required quality based on the predefined objectives.
•Deploy : Get the solution into an operational use by training users, configuration of a software package etc.
3. Post-project Phase
In the last main phase, there is an evaluation of the whole project and it is checked in which extent and how well the predefine business objectives and benefits have been met. Of course, the benefits will be visible after a pre-defined period.
Roles and Responsibilities
One critical factor for the success of any project is the right collaboration and the effective way of working with people in their teams. Hence, in order to get this achieved, DSDM framework assign clear roles and responsibilities to everyone in the project, which can be clearly seen in the Fig.3. In that way, both the principles and the DSDM process are well supported and it is more likely to succeed the desired results.[4]
In particular, the roles are divided into three levels which are[2]:
Project level roles: Project level roles are usually the directors and managers of the project and they are responsible for the governance of the project.
Solution Development Roles: These roles are the ones which form the “heart” of the project since they are responsible for the development of the solution and they are the ones which in the end will deliver the solution.
Supporting Roles:These roles are the ones that assist and guide in continuous basis throughout the project so as to be followed the DSDM framework.
Then, once it has identified in which level is each individual, there is the assignment of the responsibilities which are based on the interest of each individual. These areas of interest are the business, solution/technical, management and process area and they have a respective color in the Fig.2. More specifically, with orange are the business interest roles in which area belongs people that have a business view and can provide business direction. These are the roles of Business Ambassador, Business Visionary, and Business Analyst. Then, with green are the solution/technical interest roles where these people are going to contribute to the development of the technical solution or they are going to provide technical direction. These are the roles of Solution Developer, Technical Coordinator, Solution Tester etc. Next, the blue ones, are the roles which are concerned the management interest and the have a more leadership role and are managing the teams and the projects. These are the roles of Project Manager and Team Leader. Last, the grey ones, are the roles in which people have a process interest are responsible in order to embody the DSDM framework in the whole process. Workshop Facilitator and DSDM Coach are the persons that are in charge of these duties. Of course, it is possible a role to be in two areas of interest, like the Business Analyst which has both a technical and business interest. In addition, in cases of small projects which means smaller teams, it is possible to have people who are assigned to multiple roles and responsibilities and vice versa. In big projects, the same role is assigned in more than one person and in that case, it is important the close and effective communication and collaboration between them.[1]
Artefacts
During the whole DSDM process and while the project proceeds there is a set of artefacts which are mainly deliverables(documents) throughout the project. The role of these artefacts or products, another way that are called, is to help the governance and ensure the smooth operation of the project. Of course, not all the products are needed in all kind of projects. These artefacts are assigned in the phases of the DSDM process and they can be divided into two categories, the evolutionary products and the milestone products. The evolutionary are the ones that are assigned in more than one phase and are used more than once during the project. On the other hand, the milestone products are assigned in specific phases and they have a checkpoint character. All the DSDM products are summarized in the Table 1.
For every product, it is clearly defined the purpose of it, in which phase should be delivered, who is responsible in order to produce it and who is going to approve it. For instance, one product is the feasibility assessment which is a milestone product which has to be delivered during the lifecycle process and more specifically in the feasibility phase and get produced by the Project Manager and the Project Governance Authority.
Core Practices
In order to ensure and support the whole DSDM process, different practices and tools are used. These are the timeboxing, the MoSCow prioritization, facilitated workshops, iterative development, Modeling and prototyping techniques. Below it would be really brief presented the three most common and used practices from the DSDM framework which are [1],[4],[7]:
1.Timeboxing
Timeboxing is one the core practices that is most used during the DSDM process. In particular, the timebox is a time interval at the end of which a target should be met and it is similar to the milestone or sprints that are used in the Scrum Agile Method. With the timeboxing apart from the setting of timeboxes with specific objectives, it is also established the process and the way how will the objectives be achieved. For example, an objective could be the completion of one or more deliverables or in other words the delivery of a product as it has described above. The usual duration of timebox is from two to four weeks and the reason for the relatively low duration is because it is believed that people can give much more accurate estimates in the near future and accomplished more effectively a small set of tasks.
2. Facilitated Workshops
Facilitated Workshops are structured workshops wherein team members work towards clear pre-set objective deliverables and they are coordinated from a neutral person which is called Workshop facilitator. The role of the facilitator is to guide the group through a process in order the group to achieve effective its objectives. This process should include should include defining the objective, identifying appropriate participants, creating an agenda, managing the logistics and distributing any pre-reading to participants. The purpose of the facilitated Workshops is to encourage collaborative working and enable high-quality team‐based decisions to be made in a shortened timeframe so as the people to get brought together as a group and communicate more effectively and generate more creative solutions.
3. MoSCoW Prioritization
MoSCoW is a straightforward prioritisation technique for helping to understand and manage priorities. The letters stand for:
● Must Have: requirements that are fundamental to the solution.
● Should Have: The important things for the business solution.
● Could Have: for requirements that can more easily be left out.
● Won’t Have this time: for requirements that can be included in later development.
MoSCoW Prioritisation can provide the basis for decision-making about project team activity at all levels. The advantage of MoSCoW is that it allows business expectations to be set at the Project level, in the knowledge that the team will definitely deliver the Must Haves, they are likely to deliver most or all of the Should Haves, and they may deliver some Could Haves.
Limitations
Although DSDM is presented as a mature and well-defined method which can be applied to all the kind of projects and business, this method has some limitations which are:
•The DSDM framework is more suitable for big organizations where all the roles and practices can be assigned and found, and the whole lifecyle process can be implemented. [6]For instance, it is not possible to implement this framework for a project management to start-ups since the size of team and the multile roles that are needed, cannot be found.[8]
•The big number of different roles can create administration problems during the project development process which has as a result misunderstanding on who is the decision maker.
•There are relatively high barrier to adopt this framework since switching to DSDM is neither cheap nor fast and requires a significant cultural change so as the organization to be in the position to implement this framework. In addition, one more barrier is that this framework requires a high maturity level from the organization. One more barrier is that DSDM is based on the user involvement and the close collaboration which is not always possible.[7][9]
•DSDM is really strict regarding the philosophy and the eight principles which has as a result to be restrictive, not flexible enough and difficult to work with comparing with other agile methods.[9]
Conclusion
In the above article, the DSDM framework has briefly presented and described. To sum up, the DSDM approach is an agile framework which defines really in detail the whole process on how to develop a project from the beginning where there is the definition of the project and needs is addressing, to the end and the delivery of it. The DSDM method always focuses on being on time and on budget, but it is more flexible in the delivery of the business solution that has defined in the first phase since through the iterative DSDM process is possible the concept of the initial project to be changed. It emphasizes the role of the people in the project and empowers them to take more responsibilities and have a more active role in the whole project. Not only through the role and the responsibilities that are assigned to each individual but also through the main principles that DSDM framework is based on. Until now in the most of the cases, the DSDM framework has been used in software development projects from big companies like Shell, Loyds Bank Insurance Services, British Telecom, British Airways, Deutsche Bahn, Hewlett-Packard, Renault have successfully used this agile methodology. [6] Nevertheless, DSDM consortium [1] is presenting the DSDM framework as a mature and more general agile method which can be used in all kind of business and projects.
Annotated Bibliography
Craddock, A., Richards, K., Tudor, D., Roberts, B., & Godwin, J. , The DSDM Agile Project Framework for Scrum (2012)
This is a pocketbook which describes a DSDM version which is designed to complement the Scrum method.In the beginning, there is a brief description of the SCRUM and then it is described the whole DSDM framework and how DSDM supplement in each focus point supplement this methodology. For instance, which characteristics can SCRUM borrow from the DSDM process, in which phases and how these can be adapted.
DSDM Consortium, The DSDM Agile Project Framework(2014)
This handbook is written by the DSDM Consortium, which is a group of experts, and it is an evolved version of the previous one "DSDM Atern".It presents and describes in details all the aspects regarding the DSDM framework, like the principles, the roles, and responsibilities etc. It is a really useful handbook so as to understand the DSDM method, how an agile project framework works and what it is essential so as to succeed.
Moran A.,Managing Agile Strategy, Implementation, Organization and People(2015)
Moran in his book examines the agile from a management perspective by focusing on matters of strategy, implementation, organization and people. A broad survey of the agile methodologies has been conducted and a comparison between of them. Then there is a more detail discussion and analysis on the agile programme and project management using the DSDM framework as a basis, and different aspects have been discussed like the governance, quality, risk, and configuration topics. Furthermore, there is an analysis on how agile can be implemented in wider organizations and which is the role of the people. From this book has mainly used the chapter about the DSDM framework.
Flora, H. K., & Chande, S. V. (2014). A Systematic Study on Agile Software Development Methodologies and Practices Flora and Chande in their article are presenting the agile software development methodologies and practices. Firstly, they are introducing you to the agile concept and its principles and then all the methods are analyzed based on some specific aspects. These are the background, the philosophy and scope, the features and benefits and finally the limitations of each one. In the end, the drawbacks of the agile software development are discussed based on the analysis of the methods.
References
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 [1] The DSDM Agile Project Framework (2014 Onwards)
- ↑ 2.0 2.1 2.2 2.3 Craddock, A., Richards, K., Tudor, D., Roberts, B., & Godwin, J. (2012). The DSDM Agile Project Framework for Scrum.
- ↑ Sunner, D. (2016). Agile : Adapting to need of the hour
- ↑ 4.0 4.1 4.2 4.3 4.4 Moran, A. (2015). Managing Agile Strategy, Implementation, Organization and People
- ↑ [http://www.mcpa.biz/2011/10/dsdm-atern-principals-overview/] DSDM Atern Principals – Overview
- ↑ 6.0 6.1 6.2 ["https://books.google.dk/books?id=MnRKjkaIdYwC&pg=PA16&lpg=PA16&dq=dsdm+principles&source=bl&ots=hoLrE4UXM-&sig=KGSq9dSoxtVKy6A_UKaG9HApqgU&hl=en&sa=X&ved=0ahUKEwjoy8K6w6_WAhVDIJoKHVUWBsQ4FBDoAQgnMAA#v=onepage&q=dsdm principles&f=false"]"Richards, K. (2007). Agile project management: running PRINCE2 projects with DSDM Atern"
- ↑ 7.0 7.1 Voigt, B.(2004). Dynamic System Development Method"https://files.ifi.uzh.ch/rerg/arvo/courses/seminar_ws03/14_Voigt_DSMD_Ausarbeitung.pdf"
- ↑ Abdelrehim, A., & Ibrahim, S. (2017). A Dynamic System development Method for Startups Migrate to C loud
- ↑ 9.0 9.1 Flora, H. K., & Chande, S. V. (2014). A Systematic Study on Agile Software Development Methodologies and Practices