Software-Defined Excellence for Michelin
We’re very glad to welcome again Yves Caseau, Michelin Chief Digital & Information Officer, on our blog. This time, Yves will be sharing with us why Michelin aim to be a software-driven company. You will be thrilled to see how a major industrial actor like Michelin is changing its perception on software and now sees it as an enabler to excel in the tire business of course but around and beyond it. This article is the first of a series that will showcase this change.
TL;DR Would it generate vocations to join our engineering teams, we won’t mind because guess what: we’re hiring software engineers too ;-)
As Marc Andreesen said, “Software is eating the world”. When products and services become a blend of physical and digital components, this “digital transformation” is not only about making digital pieces easy to share, to transport in time and space, or to duplicate, it is also about the capacity to leverage software to control and optimize these digitized processes. Automation through software started many decades ago but the novelty of the “digital world” is the need to adapt to constantly changing world, to cope with the acceleration of change. This requires considering software no longer as static assets but as flows. Software capability is then the capacity to deliver a continuous flow of software solutions that evolve as fast as the company’s outside environment. This has two major consequences. First, as noticed by Ram Charan in “Rethinking Competitive Advantage” or Mik Kersten in “Project to Product”, each company must understand and adapt the software flow practices of the “best in class”, such that the famous digital giants (Amazon, Google, Facebook, Netflix, etc.). In a world where agile software is eating the world fast, there exists a risk of digital disruption for companies that fail to adapt the ways of working of the digital native companies. Fortunately, both the tools and the practices of the Web giants have been widely popularized, so learning from the best is definitely possible. Second, because change must accelerate, “Taylorism” (to separate thinking from doing) is no longer efficient: technology is business and business is technology. Short decision cycles demand a mindset shift in the company, where people with business responsibilities have a keen interest with technology that is matched by the business interest of those in charge of technology.
At Michelin, we aim to be a software-driven company, in the same way that we are a data-driven company. What we do mostly is tires, services or materials. Sure, in the future, some revenues will come from data products or software products. But all what we do today is already “software-driven”, in the sense that the user experience as well as our competitiveness, depends on software. Our software excellence drives Michelin competitiveness at every step of the value chain: R&D, Manufacturing, Supply Chain, Services, and Customer Experience. What defines a software-driven company is the combination of three ambitions. First, as noticed in the previous paragraph, a software-driven company must follow the recommendations of the reference book “Accelerate” : it must master the practice of CICD (continuous integration and delivery) and implement DevOps product cycles. This is the technical dimension of gearing up to deliver continuous software flows. The need for speed and change means that the process that manufacture software solution – the software factory – is more important than the outcome itself, which will be renewed continuously.
The second ambition is software craftmanship, because no technology or process methodology is a substitute for elegant code, that is, code which is easy to share and to modify, and as free as technical debt as possible. As noticed by Arnaud Lemaire, the strategic agility of a company, as far as its digital products are concerned, is governed by the speed at which code may be changed. Agility is surely a mindset and a collaborative practice; it is also a code property. Craftmanship unites the pleasure of a “job well done”, in a Toyota lean sense, the virtue of code excellence from a collaboration, maintenance and evolution perspective and the development of unique competitive skills. Last, a software-defined company must find its place in software ecosystems and grow its software skills continuously. Craftmanship, as well as CICD and DevOps automation, require experience, which comes both from training and practice. Becoming a software-driven company is a long-haul journey.
There is no single recipe to become a software-driven company, it depends on each company’s maturity and industry, from a service ecosystem viewpoint. However, I see three dimensions that are universal: craftmanship, ecosystemsand focus. Craftmanship is not decided nor steered by managers in a top-down way. It is cultivated in a bottom-up approach, to develop “software pride”, the pleasure of producing an elegant piece of code and something that works well in a sustainable way. I suggest focusing on communities to develop “show & tell” practices, from the team scale with frequent code reviews to a larger scale with “code fairs”, adding the competitive and “fun” dimensions of hackathons. Although there exist “good programming practices” and “bad smells”, there is no universal coding standard that one should try to mimic. In the Toyota lean tradition, the standard belongs to the team and is a tool for capitalization and continuous improvement. Craftmanship focuses on full lifecycle and sustainable performance; it is not about the “sprint for value delivery” but a “marathon focused on user satisfaction”.
The second dimension recognizes that there is too much to be done without leveraging the strengths of software ecosystems such as SaaS (software as a service) and open-source solutions (and their communities). The famous Bill Joy quote, “there are more smart people outside your company than within it”, still applies in the digital world. To achieve successfully a fast and continuous “digital transformation”, a company must benefit from outside help as much as possible. This means that a software-driven company needs to be curious, open, with an “outside-in” mindset to search for, recognize and leverage software opportunities that are lurking outside. This leads to the last recommendation, that of focus. The systemic advice is to reduce the scope of what you were planning to do, so that you can increase your “refresh rate”, the speed at which you may adapt. This is one of the famous Google principles: “It’s best to do one thing really, really well”. In the digital world, to do something really, really well means to iterate and to learn continuously from your environment. So, you should always aim at doing less, not more … which requires to let others do what you left aside. For instance, companies must standardize as much as possible what is not “core” to their value creation proposal (what does not help them to differentiate) and rely on SaaS solutions (which lets others worry about evolution, maintenance, and sustainability) to apply their own software strengths on a more limited “core” scope of business solutions.