Dynamic Systems Development Method (DSMD)

Abstract

While in traditional development methods time and resources are variable and functionality is always fixed, in the Dynamic Systems Development Method (DSDM); functionality are variable, and time is fixed. The model main goal is to deliver the business solution rather than just delivering team activity. It creates the steps that can ensure the feasibility and the business sense of the project before it creates such projects. Such model stresses the collaboration among all the interested parties and it promotes the cooperation among them. In achieving such goal, the DSDM ensures that all aspects of the system has a clear picture among interested parties by creating different prototyping that can help achieving such goal (Clifton and Dunlap, 2003).

Clifton and Dunlap (2003) also explained that the core concept of the DSDM is as follows:

  • Active User Involvement – To end up with a final product to be useful for any organization the involvement of the users in the development phases is very important.
  • The Team Must be Empowered to Make Decisions – The flexibility that is given to the development team to make informed decisions is required for the project success.
  • Frequent Releases – The DSDM model concentrate on the frequent releases that allow user inputs during the crucial stages of the product’s development phases.
  • Iterative Development, Driven by User Feedback – Frequent feedback from users can be achieved through the iterations of the system development where partial solutions for immediate needs can be implemented and other functionalities can be added later during the iterations process of the product development.
  • Changes Must be Reversible – the fully known state of the product at all times allow easy backtracking when certain changes can’t work as expected.
  • Requirements are Initially Defined at a High Level – the details of the product requirements usually left during the course of the development while the high-level requirements are usually implemented at the beginning of the project.
  • Fitness for Business Purpose is the Goal – Technical perfection becomes less important than working on the business needs to meet its requirement and achieve the product that can help business improved.
  • Integrated Testing – User feedback becomes the most important part of the product development that can ensure that testing of the product in each step is technically sound, and that the development in each stage doesn’t have any technical flaws.
  • Collaboration and Cooperation are Essential – The success of any project using such model depends on the cooperation and the collaboration of all interested parties of the product, and as such; the involvement of all parties should work together to meet the business objectives.
  • 20% / 80% Rule – DSDM focuses on the 80% of the solution leaving 20% to be revised later while this 80% of the solution can be developed within the 20% of the time required to produce the total solution of the problem.

DSDM Model

Freetutes.com (2007) explained that DSDM is another approach to the system development that enables the development of the system dynamically where a rapid application development approach is promoted via implementing an incremental prototype. Such model is useful for the systems to be developed in a short period where the available requirements at a time can be used to be incorporated into the system. With such model, the analysis, design and the development phase can be overlapped to build the product. The DSDM has five-phases life cycle described as follows:

  • Feasibility Study – Where problem is defined and the feasibility of the desired solution will be verified. Also, part of this phase is to ensure that the suggested application can be suitable for Rapid Application Development (RAD) approach.
  • Business Study – Where the entire business requirements are specified at a high level in this phase and the business study of the desired system is complete. Once the system requirements are identified, the basic architectural framework of the desired system can be done in this phase where an incremental development process will be established to make sure that the development process is highly maintainable. Also, in such phase the standards for quality control activities that are required throughout the development process are identified.
  • Functional Model Iteration – Where an iterative prototype is build to be available for revisions from different users prospective to bring out the requirements of the desired system. The status of the prototype will be improved based on the feedback and the incorporating change where the cycle repeats itself until a part of the functional model is agreed upon. The final product of this phase is consisting of some software components that contain the major functionality of the product, and the analysis model required to build such product.
  • Design and Build Iteration – Where the development team ensure that the prototypes of such product are properly engineered to be suitable for the operational environment where the product components that were designed in the functional modeling phase are further refined to achieve the satisfactory standard. Within this phase the product will be tested and will be ready for implementation.
  • Implementation – Where the users are trained on the system and the system were put within the operational environment where four possibilities might be the end result of this phase:
  1. Everything was delivered as planned and based on the users’ demands and as such; no further development is required.
  2. Return to the business study phase to repeat the whole process when a new functional requirement was discovered and it’s required to be implemented in the system.
  3. The development returns to the functional model iteration due to a less essential part of the project that was missed during the above phases.
  4. Development team returns to the design phase and build iterations phase to satisfy a non-functional requirement that should be implemented.

The model assumes that all the above steps may be revisited based on the iterative approach required by such model, and as such; each phase required to be completed enough to be able to move to the next phase since it can be finished in the later iteration. Such concept will ensure that any changes that might happen during the development can be encountered and implemented. The model is not build in assumption to build the prefect product from the first iteration, however it provides almost complete picture of what the product will look like with the 80% of the desired system in 20% of the total development time. The model proved that such approach is powerful when there are circumstances of varying requirements within time constraints (Freetutes.com, 2007).   

Strength and Weakness

Clifton and Dunlap (2003) explained that the reasons behind using such model within the development lifecycle are the following benefits:

  • Direct and promptly visible results of the development.
  • The systems developed by such model embraced by its users, since they’re actively involved in the development process of the system.
  • With such method basic functionality is quickly delivered while other functionality can be delivered within regular intervals.
  • The model ensures that the communication barrier among interested parties of the system is broken down and any bureaucracy is totally eliminated within such model.
  • The model can show indicators of whether the project will be achievable, and that the system can be delivered on budget and on time.
  • The involvement of the users in this model will affect the project’s direction.
  • The model allows users to conduct testing through the development process and as such; it allows developers to get the early feedback on their effort and on the usability of the product.
  • The model conducting the early business study at the beginning of the project to eliminate any financial surprises during the execution of the project.

Freetutes.com (2007) explained that since the model is relatively new model and it is difficult to understand it, there are some of the strengths of such model are:

  • Users’ participation during the lifecycle of the project and the iterative nature of the model; creates a quality of the final product.
  • Rapid development within this model can add benefits to the business needs.
  • The above strength of the model can result in reducing organization’s project costs.

Conclusion

The core theory of the DSDM approach is nothing is built perfectly the first time, and to achieve perfection, it’s required for the development team to conduct an ongoing changes to the product based on the users’ feedback and business needs. The model can be very suitable for the businesses that face dynamic changes in the business rules and their systems. There are main phases within such model: The feasibility study, the business study and the functional model study. Finally, the model allow the business to grow and provide an easy way of changing business rules within their systems to meet the new business needs in a timely fashion (Chapin-McGill, 2010).

References

Clifton, M. & Dunlap, J. (2003) What Is DSDM? [Online] Available from: http://www.codeproject.com/KB/architecture/dsdm.aspx (Accessed: 03 February 2011)

Chapin-McGill, G. (2010) The History of The DSDM [Online]. Available from: http://www.ehow.com/facts_7174871_history-dsdm.html (Accessed: 03 February 2011).

Freetutes.com (2007) Dynamic System Development Method (DSDM) [Online]. Available from: http://www.freetutes.com/systemanalysis/sa2-dynamic-system-development-method.html (Accessed: 03 February 2011).

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: