Managing Digitalization Complexity in Scaling for Complex Products

Scaling complex digital products is a challenging task that requires careful planning, coordination, and execution. When dealing with products that require more than one team, it's essential to manage digitalization complexity effectively to ensure smooth scaling and product development. Here's how to approach this challenge:

2024 02 17

Starting with the Right Number of Teams

When beginning the scaling process, start with a single team to establish a burndown chart. This team should comprise the best solution architect, developers, and business analysts to work through the initial 'fog' and evolve and figure out key requirements. The goal is to lay a solid foundation with the required architecture, which can then be split into modules and their respective teams. As the architecture emerges, it will be monitored and evolved further, dividing the product into three or more sub-product teams.

Key Tasks of the Initial Team(s)

The initial team or teams have several critical tasks to accomplish:

  • Set up the system architecture and structure the team to minimize the coordination required.

  • Set up the product backlog and clarify user requirements.

  • Divide and conquer by aligning user stories with Objective Key Results (OKRs).

  • Decide on the number of product owners required, define the product tactics, strategy, and vision.

  • Select the right tools for the Kanban/Scrum board.

  • Set up the development environment, such as the Git source code repository.

  • Establish a common framework, design patterns, programming languages used, and quality control measures, such as a regression testing framework.

  • Set up a continuous integration and continuous delivery (CI/CD) pipeline.

  • Automate deployment to de-risk via A/B testing and avoid large batch releases.

Synchronizing Teams in the Steady State

Once the product development is in a steady state, synchronizing teams to ensure their work output is compatible with each other is crucial. Here are some strategies to achieve this:

  • Use "Just Talk" for direct communication to sync only the required parties when needed.

  • Assuming the solution architect has split the work well according to the software engineering principle of "Tight Cohesion & Loose Coupling," the time spent on communication and coordination should be minimized.

  • All teams should use a common framework in the same way to get things done for data, logic, and presentation.

  • The solution architect should also establish a Common Organizational Business (Data/Process) Dictionary & Clean Code to ensure consistency and clarity across teams.

By following these guidelines, managing digitalization complexity in scaling for complex products can be more structured and effective, leading to successful product development and growth.