Roadmap: How to Adopt the Design Driven Implementation Practice
This roadmap describes how to adopt the Design Driven Implementation Practice.
Main Description

Start by reviewing the following key concepts and tasks:

These will introduce you to the basics of what you need to know about solution development in the context of DDI.

After reviewing the above you can:

  1. Understand the solution design practice of your organization and the work products it produces. These will be an inputs to your work.
  2. Familiarize yourself with incremental development. One key aspect of DDI is to implement the solution by increments, focusing on a small piece of the solution first, and adding additional functionality incrementally during subsequent development cycles.
  3. Identify the tools you can leverage with your team. It can be tools to automate key activities like static code analysis, unit testing or design to code mapping. Talk to other teams to learn from their past experiences. They can have used or identified tools in the past to increase their productivity.
  4. Improve the quality of your implementation by reviewing assets such as:

  5. Set up your development environment.

Common Pitfalls
The most frequent pitfall is to consider only functional requirement during your development activities. A common mistake is to overlook non-functional requirements (availability, security, performance, etc...). Realization of both functional and non-functional requirements will ensure the success of your Design Driven Implementation.

Another common pitfall is to be driven by programming language trends and implement the solution based on bleeding-edge technology. It significantly increases the level of risk of your project. Don't forget there is no value in the technology itself. Only the realization of the initial business need is a success factor. Try to benefit from past achievements and reuse technologies your organization is thoroughly proficient in.

Try also to avoid reinventing the wheel each time you develop an element. It prevents you from focusing on critical parts of the system where you really have to find innovative solutions. Chances are another team (or even the open source community) has already implemented solutions to most common problems. Effective reuse is a key success factor. It improves productivity and code maintainability.

Another pitfall in the practice is to minimize the importance of code reviews. The consequence is to discover the problems too late in the process. They are then difficult to solve. Try to plan and conduct regular reviews to detect potential problems as early as possible. It will increase the overall quality of the solution.

More Information