Working as a digital company

Embrace the digital world

Working as a digital company

If we look at the expectation of the market, a digital solution need to

  • Be highly performant
  • Evolve at a fast pace
  • Be geographically agnostic
  • Be only data dependent

To address those needs, a digital company must be different in both applied processes and followed objectives

Let’s highlight each of the need and the expectation to the company that provide digital products

The performance of a digital solution, aside from the classic product measures (take rate, satisfaction, …) is measured by 10 standard metrics :

  • Service/system availibility
  • Reliability (Mean Time Between Failure and Mean Time To Repair)
  • Response Time
  • Security
  • Throughput (aka Bandwidth)
  • Capacity
  • Scalability
  • Latency
  • Service and Helpdesk
  • Cost per customer

Those measures are defined to emphasize the high importance of the trust that a customer can have on the ability that he will have to use the provided service.

See more details on the metrics on this link The Cloud Service Industry’s10 Most Critical Metrics

In a high competition market, a defective product is rapidly replaced by another one and the energy required to regain the trust is higher than the first adoption.

For this reason, the digital service is by nature a dual contract : a functional contract and a production contract.

  • The functional contract define the expected behavior and data exchange (see link) and is defined by an API (that define the format and the semantic of the information) and a functional description (that explain the relationship between the input information and the effect on the system and/or the information provided in return). The expected evolution rate of the functional contract is a useful information to help the user plan their service use and update of their own ecosystem
  • The production contract provide the expected performance for the 10 metrics, the expected dependencies to other services and, sometimes, to some physical products. It is also mandatory to define the dimensional changes that will trigger a reevaluation of the production contract (for example a number of concurrent users exceeding 10000). The last dimension of the production contract is the cost contract that explicitly define the relationship between the evolution and the measured cost.

Both contracts have to be defined at the same moment by the team taking into account the business engagement, technical dependencies and needed company resources to realize them (infrastructure, monitoring, deployment, ….)

As the majority of the industrial companies is doing the digital transformation, the eco-system and the expectation on digital services are changing at a high pace. Bitcoins, AI, voice control, automatic data synchronization, smart cameras are digital services that have emerged rapidly and that are changing the shape of the eco-system by opening roads to new industry domains : domotic, home surveillance, entertainment, transactions ….

To be digital, a company needs to be prepared to deliver often, cover quickly new request of services and to progress by quick iteration. As digital change is highly relying on innovations, the development of the portfolio will encounter a high level of direction changes, successes and failures (an average innovation rate is 30% success). To allow profitability of the investment, the development process need to allow a true iterative process based on a learning principle.

Learning implies to start out of the confidence zone of the team, target a new acquisition, acquire the needed knowledge by internal or external coaching, expand the ability by a set of measurable steps.

Each step need to be small enough so that the failure of a step has a minor financial impact and is used by the team as a good indication of a direction that cannot be followed at short term or a knowledge that need more preparation.

A learning process will produce tangible results and have a growing pace if the team and the direct management have the courage to measure with the same criteria a success and a failure, and if it is understood that a planned activity needs to be fully stopped if the failure indicate a bad direction.

A direction failure is part of an exploration process and does not imply any judgment on the team. However, the root cause of the failure needs to be capitalized to accelerate further explorations

A failure caused by insufficient knowledge needs to be addressed by direct management by appropriate training and assessment with the team of their ability to acquire the missing knowledge. If the acquisition is considered as highly challenging (cost or mindset difficulties), the search of an external digital provider needs to be organized by product management.

By design, a cloud digital service is expected to behave in a way that is geographically agnostic. But this implicit engagement is an important dimension of the service.

To allow full compliance, the digital service will have to address the following questions related to its users : Connection and Proximity

The connection between the user and the service will involve to create a link over the global network. Depending on several factors (use of public internet or private company network, use of multiple physical segments like wifi, fiber, 4g), the impact of the global network can have a huge influence of the perception of the service performance to the user.

To limit this impact, it is common to have several instances of a digital service located in different places in the globe and served to the user with a transparent mechanism that assigned the closest communication pipe (distance is measured by network latency and not physical proximity)

To provide the access to the connection, the service needs also to address the IAM (identify and access management) so that it’s usage is reserved to the expected users and protected from the others.


Finally, the global agility of a digital system resides in the fact that digital services interact with each others only based on their data contract. To avoid complex dependencies, many digital services have evolved to a stateless exchange (for example REST) which means that the data provided by a digital service does not rely on any other information than the one provided in the exchange request.

Without stateless data contract, the expansion in a system with multiple parallel activities is both difficult to predict or to investigate.

On the other hand, once simplified, with technical mechanisms like centralized logging and synchronized clocks, the digital system can be monitored with efficiency.

To work in a data driven environment, each team need to be fully accountable on the data contract provided by their components and work with others team based on their data contract

In other words, even if there is a need to have some consistency in the ecosystem, the majority of the relationship between services will not imply to understand the technological stack used to provide it. Teams negotiate contracts with each others being clients or providers of the services.


Having those dimensions in mind, a company needs to have adequate communication to the team of the expectation.

Several companies have made the choice to inforce the direction to the teams by defining an organization based on squad. Each squad is in charge of one or several services.

To maximize efficiency, each squad has a technical and execution autonomy. The exchange between the teams focused on the production and the functional contract.

Finally, to preserve the eco-system consistency and maximize use of the infrastructure of the company (and to allow team member transfer or replacement), the production and functional contract is extended by a deployment contract that define :

  • the expected documentation (user and maintenance)
  • the automatic tests available to test the functional and production contract
  • the build information
  • the deployment information

In many companies, the build and deployment activity is optimized by an automated build system (CI) and an automated deployment system (CD). Those 2 systems are, most of the time, considered as an internal digital service and provided by a dedicated squad.

Execution autonomy implies that the technical preferences are let open to the squad and that needed infrastructure can be self provisioned by the team. Several technics can be used to have a good traceability of resource allocation (tagging, partitions …). Like other contracts, the squad will be responsible of the justification of the resource use.

The hierarchical managers will help the squads by facilitating, with the help of the technical experts, the discussion between the teams and the convergence of the practices and technologies if they reduce the overall efforts in the company. This process can also be emphasized by digital community in the company social network

The performance of each team is defined by the measure of the deployment, production and functional contract of the digital services that they provide. This measure can also be used to solve inter-team disagreement on services simplification.

In term of process, many digital companies follows a devops process that promote a iterative evolution based on data with 6 activities

  • Continuous business planning
  • Continuous development
  • Continuous testing
  • Continuous release and deployment
  • Continuous monitoring
  • Continuous feedback and improvement

In many companies, devops process is restricted the a team performing the release and deployment, but the process is not specific to a team. With autonomous squad, this process is applied inside the team as the general process (see this techtalk for details)


Many of the needed practices exists in classic hardware domain : for example, in embedded software, an algorithm that is accurate but does not performed in the expected time slot will be rejected and redesigned.

However, as a good cloud environment allows to rebuild, deploy and test very quickly, the iteration process has to be more agile in the digital world.

As an highlight. automatic test and monitoring is a must have to allow quick feedback loop on changes and maintain a high pace of evolution.

Depending of the time allowed, size of the system, ability to change people and processes, the digital change can happen in different way in the company.

However, the deep understanding of the core difference between digital and non-digital solution is critical to prepare the company transformation.

Several companies decide to isolate the team first to create a digital culture and, based on the business, will reintegrate this team (or not) when the first digital products are mature.

The most important part in the plan of the digital transformation is to manage the change and the communication as a high factor of success.

As highlighted in this talk, even if their experience will facilitate the learning phase, teams and managers will have to be put out of their confidence zone to progress. An invasive monitoring or micromanagement will stress the team and prevent them from trying new directions needed for the realization of the digital services.

As digital is a new environment paradigm, applying processes from previous industrial generation will create frictions and difficulties in the team.

However, as functional, production and deployment contracts are at the hearth of the process, the control of the digital change is easy if the metrics are defined based on a thin automatic data collection from product life cycle

Tags: