Report: On Scalability (Part One)

Scaling a digital platform involves much more than just scaling its technological components

--

By: Matthew Sinclair, Partner and Vice President of Engineering at BCGDV

In the first of a two-part series on digital scalability, BCG Digital Ventures Partner and VP of Engineering Matthew Sinclair explores the three kinds of scalability and where digital businesses should deploy their efforts for maximum scale.

The operator of any digital platform solving real problems for real users at production scale, needs to have a deep understanding of what it means for that platform to be scalable. In the simplest terms, scalability implies that:

The growth of the cost curve for the entire platform is flatter than the growth of its revenue curve.

In the ideal scalability scenario, the growth of the cost curve should be detached from the growth of the revenue curve, at least for each “growth discontinuity”. That is, for a given range of scale, the costs of the platform should be relatively stable for growth within that range. Additionally, the costs of moving from one scale range to the next should not be excessive or require a massive re-architecture and/or re-provisioning effort.

The following scalability discussion assumes a multidisciplinary teaming approach across vendors and clients with a focus on SaaS products. Hopefully some, if not all, of the insights are applicable to more general product, engineering and design teams in other contexts as well.

Kinds of scalability

Within this definition, there are three different kinds of scalability that a platform operator must be aware of:

1. Runtime scalability: ensuring that the production runtime environment for the digital platform scales through a range of performance levels without degradation or failure.

2. Build scalability: ensuring that everyone on the product development, design, and engineering teams can move as quickly as possible to build the software that powers the digital platform.

3. Collaboration scalability: ensuring that everyone on the product development, design, and engineering teams can collaborate as a multidisciplinary team as effectively as possible both with each other and with clients.

In turn, each of these different kinds of scalability relates directly to one of the stacks that a product team leverages to build, deploy, and run their digital platform:

1. Collaboration Stack: The software and service components used by a multidisciplinary team to collaborate within the team and also with clients when building software.

2. Build Stack: The software and service components used to physically build and then continuously integrate, test, and deploy the software that powers the digital platform to production.

3. Runtime Stack: The combination of software, services, infrastructure (e.g., compute, network, and storage fabrics) that the digital platform executes on at runtime.

Scaling a product and team vs. scaling a digital platform vs. scaling a client deployment

Beyond the basic types of scalability, there is also the question of where a team might deploy their scalability efforts. From this lens, there are three primary domains that can be scaled:

1. People: Scaling the product, design, and engineering teams to improve the effectiveness of their multidisciplinary teaming.

2. Platform: Scaling the technology that underpins the digital platform to improve its runtime performance for users.

3. Client: Scaling the client engagement processes to increase the velocity with which the client can deploy new features to customers.

Scaling the people

Scaling people is arguably one of the most challenging parts of scaling a digital platform. The most effective way to build a digital platform is to give multidisciplinary teams of creative professionals agency over their ways of working. Some of the elements that set high performing teams apart from their less effective counterparts include:

1. Experimentation: the ability to constantly try new things without being stuck in local maxima. This involves coming up with new ideas to try in the form of conjectures and having the freedom to design and run experiments to test out new ideas.

2. Failure fitness: the ability to quickly recover from failure and be resilient to setbacks. Getting comfortable with failure and effectively learning from it is one of the secret sauces of genuinely great teams.

3. Learning loops: the ability to quickly integrate learnings into existing processes through internalization (learning and internalizing successes and failures) and iteration (constantly updating existing methods with their learnings).

4. Aerodynamics: the ability to operate at high velocity without injury to people on the team and beyond. For example, being able to transition:

  • From functional silos towards SLAM (self-managed, lean, audacious, and multidisciplinary) teams
  • From centralized to decentralized structures
  • From hierarchies to networks
  • From role rigidity to role fluidity
  • From rank to experience
  • Towards greater psychological safety for the team in the form of trust, respect, and permission

Building these attributes into the organization’s operating system is critical for success in people-powered digital platform businesses.

BCG and BCG Digital Ventures have done much work with scaling people and teams for next-generation ways of working using the Innovation Flywheel” approach.

Scaling the platform

Scaling the software that powers the digital platform needs to take into account three factors:

  1. Architecture: how the various layers of the software system (e.g., manufacturing, assembly, and distribution) fit together and interoperate with each other and the deployment environment on which it is running.
  2. Deployment: how the topology of the runtime environment executes, including underlying compute, network, and storage fabrics from the cloud, hybrid, or on-premise environment in which it runs.
  3. Operability: how the system generates data about its runtime operation that can feed into monitoring and operations for performance tuning and security.

There are a variety of generally accepted best practices for each of these platform scalability factors. The secret to tuning them comes from defining the right metrics for the platform and capturing them for analysis, insight, and operability.

Scaling the client

A high-performing team of people and a great digital platform capture two-thirds of the challenges of scalability. Addressing specific client needs is the third leg of the scalability stool.

SaaS systems can be characterized by the degree to which they need to change to adapt to the individual context of each client’s specific needs and challenges.

At one end of the spectrum, we have SaaS offerings that are more or less undifferentiated with an identical feature set available off-the-shelf for each client. At the other end of the spectrum, we have offerings that require deep integration with existing client systems or specific customizations, configuration, or even bespoke development to meet the client’s needs.

We can think about the different types of change across a continuum with the following five degrees:

1. Configuration: changing configurable parameters of the application by the end-user or implementation team without the need to touch core platform source code of any kind.

2. Customization: composition or scripting of existing components to enable or disable features or capabilities with minimal need to touch source code.

3. Adaptation: minor changes or extensions to existing components that cater to geographical or regulatory localizations or client-specific nuances that might result in client-specific or client-adapted components, but all based on existing components of the platform.

4. Bespoke: development of new capabilities and functionality with a specific purpose for a particular client or end-user that results in entirely new software, but that is applicable only for a single client’s installation.

5. Core: development of entirely new capabilities or features of the platform by the core product, engineering, and design teams for deployment as part of the core product, which can then be offered to any client.

As you move along this continuum, the software engineering required moves closer and closer to the core platform and requires more involvement from the core product, engineering, and design teams. Ideally, you want to build capabilities into the platform so that most of the changes can be implemented as close to the top of the list (ie, configuration and customization) as possible. Still, clients will inevitably have specific requirements that demand adaptation and even bespoke development to suit their needs.

The most significant gains from a scalable client engagement process are found at the boundary of customization and bespoke development.

Interested in joining BCGDV? See our current vacancies.

Want to find out more? Start the conversation with BCGDV.

Find us on Twitter @BCGDV, LinkedIn, and Instagram.

--

--

BCG Digital Ventures - Part of BCG X
BCG Digital Ventures

BCG Digital Ventures, part of BCG X, builds and scales innovative businesses with the world’s most influential companies.