We help ambitious software projects realize the potential of DDD. We are only involved in with a few projects at a time, and we aim for high impact. The service bundle is worked out with each client, but is made up of some or all of the following.
Good strategy starts with understanding where you are now. We conduct a survey of your project, which generally takes one to two weeks, depending on logistics and the nature of the project.
Our assessment takes a broad overview of domain modeling and design in your project. We look for strengths and weaknesses, what is working well and what is holding you back, at both strategic and tactical levels.
Strategic Design Workshop
Our consultant joins with your business leaders and development leaders to identify options to align your development with the organization's business strategy.
Our approach focuses on defining the Core Domain and drawing a Context Map. The Core Domain is an area of software development that is directly tied to a strategic business initiative.
A Context Map is high-level view of the full range of conceptual systems being used in different parts of the software and software development and how they relate. This sounds very abstract, but it gives us insight into issues such as how much freedom to innovate a team will actually have, how expensive maintenance will be for custom solutions, and whether sophisticated design techniques can be applied effectively in a particular subsystem.
Core Domain Modeling Workshop
Now we focus in on a couple of design hotspots in the Core Domain and intensively brainstorm alternative models to resolve problems or more aggresively and directly enable the business in specific ways. These critical areas will have been chosen by your development leaders in collaboration with your business leaders.
Coaching a DDD Pilot Project
To really change the way a team works often requires the experience and objectivity of a coach. This is the highest impact way of introducing a knowledge crunching process or other practices. The coach is a hands-on leader who works with the team to get the process on track, facilitates design brainstorming with developers and domain experts, and continually assesses what the team needs.
A small, results-oriented project, led by top coaches, will demonstrate the possibilities and leave you with the core of a new, more capable team.