Sunday, November 29, 2020

Lean for Digital Transformation

 

1. Introduction


A few months ago, my last book “The lean approach to Digital Transformation” got published by Dunod. This book is built in response to paradoxes and situations of frustration and misunderstanding, which I often observe as a senior executive. Here are the three examples that I quote in the book introduction:

  • Many large companies complain about the low return on investment from their digital service development programs. After a period of strong enthusiasm, when you look at the business numbers, you realize that usage remains low and that these projects have generated only a small part of additional revenue. In addition, quite often, recent and small players - startups - have interfered in this scope of digital services, to step into the digital relationship with the customer. “We have the means, the talents, the customers, the brand awareness… and we are being overtaken by startups”.
  • The speeches on digital transformation, the creation of value through data, reinvention with artificial intelligence are so numerous and deafening that there is not a company that has not decided to adopt "exponential technologies" : cloud, machine learning and data science, artificial intelligence. Yet adoption of the data-driven ambition is slow, and value creation does not replicate what is found in leading digital companies, what Salim Ismail calls "Exponential Organizations." You can find POCs everywhere (proofs of concept) but the scaling up is long and laborious.
  • Enthusiasm for digital transformation has coincided with a massive adoption of new IT project development “agile” approaches. Many companies have hoped that this change of method would bring them closer to the software performance of the "Web Giants", yet progress in terms of reliability, speed of deployment, and even more speed of adaptation to the market and to competitors ( what managers associate with "agile") are weak and disappointing. The creation of new digital platforms has not succeeded to erase the slowness and the frustrations that many managers express about their IT departments.

 

I am mostly writing this blog post because some of my readers do not read French. Half of the material of the book may probably be found in this blog, but the other half will have to wait for an English edition. I am working on it, but the outcome is not clear, while I have received many requests for a translation. This summary will not replace reading the book, but at least it should give you a fair idea what this book is about. In a nutshell, the book develops the three capabilities that are essential for a successful digital transformation:

  1. To know how to co-create digital services with users, whether they are customers or future customers. This ability combines observation, dialogue, and iterative experimentation. The approach proposed in this book is based on the Lean Startup approach, according to an extended vision that combines Design Thinking and Growth Hacking. Companies must become truly "customer-centric", from observation, listening to co-development.
  2. To develop an information system (IS) which is the backbone of the digital transformation – which I call  exponential information system” in this book to designate an open IS (in particular on its borders), capable of interfacing and combining with external services, positioned as a player in software ecosystems and built for processing scalable and dynamic data flows.
  3. To build software “micro-factories” that produce service platforms, which I call “Lean software factories”. This “software factory” concept covers the integration of agile methods, tooling and continuous integration and deployment practices, a customer-oriented product approach and a platform approach based on modularity, as well as API-based architecture and openness to external stakeholders.

 

The other reason for writing this blog post is to address the lean foundations that give the title to the book. Part of it is rather obvious: the book is organized, as its subtitle says, from customer to code and from code to customer. The first direction is covered by the Lean Startup approach – though my own filter of applying Lean Startup in a large company – while the second direction matches the Lean Software factory.  But the influence of lean thinking is much deeper and is better captured by the “love of customer” and the “love of code” that this book tries to advocate. Thus, this post organization is quite simple. Section 2 provides a summary of the book content. Section 3 is a short essay about the deep relevance of lean to succeed with your digital transformation.

 

2. Book Outline

This book is organized in three parts. The first part deals with digital transformation, that is, the transformation of the company in the face of the acceleration of the digital revolution. This part lays the foundations for the rest of the book, since it describes the objectives of this transformation: continuous adaptation, innovation, and better intimacy with customers. It deepens the analysis of Designed for Digital and extends it with a complete presentation of the Lean Startup approach to building digital services.

The second part deals with information systems and the central role they play with digital transformation. Software "is eating the world", in the words of Marc Andreesen, and digital transformation affects all activities and businesses of the company, beyond the more restricted perimeter of information systems. But the information system is the backbone on which new software activities are grafted. It must carry an ambition of openness, agility, and continuous modernization, necessary for the digital transformation.

The third part describes software factory and platform principles. It focuses on understanding how to use best practices in software development, from tooling to automation, agile methods to lean practices, to transform software development. The concept of the software factory also applies, but in a different way, to the heart of the information system and to its borders, to produce the "digital platforms" mentioned in Designed for digital.

2.1  Digital Transformation

The first chapter is entitled "Why a digital transformation?". Our starting point is the radical change in the relationship between the enterprise and its customers in the digital world. In a world of abundance, the company must build conversations with its customers and develop an intimacy that legitimizes the relevance of the solutions it offers. The digital world is made up of ecosystems and platforms that demand more openness and cooperation with partners, letting the customer become the architect of her experiences. The company is therefore approaching its digital transformation to better meet the expectations of its customers and to better produce the products and services that its customers expect. Digital transformation affects the entire value chain, from R&D and solution design, to the marketing and operation of these solutions, including the production of hardware or software components. The digital revolution - the ubiquity of connectivity, the abundance of data and the exponential power of processing - is driving itself into design and manufacturing, for example through artificial intelligence applications.

The second chapter, "Homeostasis: Continuous Adaptation to Change", deals with the profound change in the organization of the company which is necessary to adapt to the continuous and accelerated change that characterizes the digital world. The company must become an "exponential organization", a network of autonomous and reactive teams, organized around a common objective, capable of absorbing and benefiting from the continuous flow of technological innovations linked to the digital domain, from connected objects to machine learning. The digital transformation of the company consists in developing, over the long term, the potential of the situation - the digital capacities - which will allow it to act quickly and agile in the face of an opportunity. Today's digital world is complex and uncertain, the agility of responding to its opportunities requires "letting go" in action. The field of strategy shifts from forecasting actions to developing capacities. The first skill of a digital company is its ability to continuously learn from its environment, technology, and customers. The role of managers is changing, as the voice of the customer and that of technology take more space, and this change deserves to be supported.

The third chapter, "Lean-Startup: lean applied to digital innovation", is devoted to the first of the three capabilities, the co-construction of digital solutions with its users. The Lean Startup approach can be broken down into three phases. The first, which corresponds to the application of Design Thinking, consists of observing, then formulating and testing hypotheses about the needs, latent or not, of future users. This step, which is the most important, results in formulating a promise to the customer, that of responding to a real need. The second step iteratively selects the different elements of solutions that contribute to solving the problem, in the form of a minimal product. This minimal product, the MVP, is updated frequently and iteratively, based on explicit and implicit customer feedback. The MVP is instrumented to make it possible to discover the uses and validate, or invalidate, the elements of the solution. The third step, often referred to as "Growth Hacking", continues this iterative tuning to make the experience simpler, compelling, and viral. The digital product becomes a support element of its own marketing and commercialization. The development of virality is based on building a community of enthusiastic users who become ambassadors of this new experience.

2.2 Exponential Information Systems

Chapter 4 is entitled "The Information System as a Foundation for Digital Transformation". Its theme is the construction of an IS capable of frequently renewing itself and, therefore, of being able to use the continuous flow of software progress, such as artificial intelligence and machine learning which will be the subject of the following chapter. There is a clear parallel with "exponential organizations" and we find similar ideas in the architecture of the exponential information system: importance of interfaces, openness to the outside, modularity. The information system is the backbone of the management of the company and the development of digital platforms that serve as interfaces with the outside world, whether they are customers or partners. The digital information system must therefore be responsive and agile, while guaranteeing a flawless quality of service that is expected by customers in today's digital world. A constantly evolving information system that absorbs new functions must be designed, and above all maintained, to limit its complexity. This chapter deals with design techniques and management methods to limit technical debt, guarantee resilience, and optimize quality of service.

 


 

The next chapter, “Taking advantage of exponential technologies”, is devoted to artificial intelligence in the broad sense, a family of computational methods and techniques that give software significant capacities, from the processing of knowledge to the automation of data-driven complex tasks. The digital revolution - the abundance of data, the ubiquity of connectivity and the dramatic increase in computing power - has led to spectacular advances in artificial intelligence techniques. Chapter 5 deals with the implementation of these exponential technologies in the enterprise, and the conditions for success from the point of view of host technology systems, such as the information system. This implementation relies primarily on the architecture and data infrastructure of the enterprise. Developing solutions that take advantage of advances in artificial intelligence is a lifelong learning loop, which simultaneously improves data, algorithms, and usage. The role of human operators in the development of this virtuous cycle is fundamental, artificial intelligence is a skill to be developed, not a magic technology that should be acquired.

Chapter 6 focuses on the systemic conditions for building an exponential information system and is entitled "Governance, architecture and situational potential". The first section looks at the conditions, in terms of culture and organization, for lean and agile software development practices to develop harmoniously. The lean approach strengthens agile practices to better address the complexity and the size of information systems. The two keywords of the necessary governance are flexibility and responsiveness, especially in decision-making. This approach also applies to system architecture, to combine long-term durability, performance, and agility of systems. The role of architects evolves with the implementation of lean and agile approaches, but the importance of service-oriented architecture (SOA), modularity and reusability of APIs only intensifies in the context of digital transformation. Furthermore, a system that constantly evolves through incremental approaches runs the risk of continual increase in complexity. Governance must be established to master complexity in order to produce sustainable development of the company's digital capabilities

2.3 Software Platforms and Digital Services Factories

Chapter 7, “DevOps and Software Factories,” addresses the third capability that is essential for successful digital transformation: to organize software micro-factories using the DevOps approach. This chapter develops an integrated vision called “lean software factory” in successive stages. The first step is to automate the software product development process, to achieve continuous integration and deployment (CICD). The second step is to place this CICD process in a product loop organized around cross-functional teams that combine development and operation responsibilities, hence the name DevOps. The DevOps approach is both a collaborative approach (development improves the automation of operations, and continuous feedback from operations improves development), a technological approach (using tools that treat infrastructure as a scriptable resource in order to increase automation) and a “product” approach (unlike an IT project, there is not a beginning and an end, but a constant cycle of delivery and improvement). Adding lean practices to the agile approach takes on its full meaning through the product approach. The Lean Software Factory is a learning factory, which develops both the love of the customer and the love of code that we mentioned in the introduction.


The next chapter is entitled "Stable Platforms for Changing Services". It deepens the contribution of the platform concept to digital transformation, as highlighted in Designed for Digital. The platform is both an extraordinary value accelerator, thanks to the power of network effects, and an intermediation tool with an open ecosystem of partners. Knowing how to build digital platforms is therefore a necessity to achieve the ambitions of openness and of leveraging the capacities of digital ecosystems. The platform approach can also be developed more locally, as a "product platform", to accomplish some of the objectives described in Chapter 4: to increase modularity, reuse, and the development of internal user communities. This chapter highlights the adequacy between the construction method developed in the previous chapter, (software micro-factories) and the operating requirements of a digital platform. The third part is, therefore, an illustration of the principle of this book: the skills and the manufacturing methods determine the speed and the quality of the execution, which are the essential conditions for the success of the strategy. This applies both to the entire digital transformation or to the construction of a single digital platform, materialized by the emergence of its ecosystem of partners.


3. Why is Lean Relevant to Digital


3.1 Lean Roots: Continuous Learning and Continuous Adaptation

The lean roots are the principles that are common to the four components of the book : new organization patterns (Enterprise 3.0) to match the VUCA world and its digital transformation; the Lean Startup approach to co-creating digital services; exponential information systems; and Lean software  factories. The four following principles are a common thread for the book, which appears in every page:

  • The VUCA nature of the world requires continuous adaptation to the environment. Lean organization principles, from Kanban to just-in-time (pull vs push), are designed to create a flow of value creation that adapts continuously to what the environment expects.
  • In this complex world, the first differentiation that companies must build is the collective skills and knowledge that comes from continuous learning.  Especially critical in a VUCA word is the “meta-skills” (capability) to learn from misfits or errors. This is precisely the antifragile behavior that was mentioned earlier: successful companies in a VUCA world are not designed, they grow from the collective knowledge accumulated when the enterprise reacts to unforeseen situations. The famous “A3” of the lean practices is a cornerstone of the antifragile continuous learning behavior.  
  • Collective learning” is critical : although most learning is actually individual, in a complex world, we need both to learn as a team from each other (from lean practices such as kaizen, or the team crafting iteratively its work standard) and to learn collective behaviors that make collaboration more effective. 
  • Innovation is everyone’s job : everyone is called to improve and innovate, because it would be a waste not to benefits from every single brain in the company but mostly because innovation opportunities are everywhere. The only way to adapt fast enough in a VUCA world is to make innovation (smart adaptation) a fully distributed process. Toyota’s famous motto - “to build people before they build cars” – is even more relevant in the digital world.

3.2 Lean Mindset: Focus on Customer

The book’s subtitle is “From customer to code, from code to customer”. Customer-centricity is the most salient trait of companies that succeed in the digital world. Expressed with a short paragraph, “customer-centricity” may sound shallow or weak, so I will only focus on four traits of customer-centric companies :

  • Customer satisfaction is the polar star of the company’s strategy and goals; hence it may be used as to unify conflicting goals when different teams work together to fix a problem. You may remember from the Theory of Constraints that when multiple goals create a conflict, one should at higher level goals until a common factor is found.  Focusing on the user, and more specifically the user experience (a more global view of customer satisfaction) help teams to resolve their conflicts when their “ways of working and designing” do not match.
  • Listening to the user is critical, it must happen frequently in a VUCA world (this is the root of agile methods). A large part of the book deals with this listening, since the digital world offers many ways of listening, even though the most classical form is still required.
  • The voice of customer must be shared and made available to all workers. Once more, this is especially important in the world of digital services. Everyone in the product team must have access to the customer feedback loop.
  • « Love of the product » feeds customer-centricity. This may sound counter-intuitive since focusing on the product and the consumer are often seen as different directions. However, the lean way of thinking tells that you must love the product that you build to fully satisfy your customer. This is true in general, as is expressed by many testimonies about the love of the product from Toyota teams, but is especially relevant for digital (software) products that are both “knowledge accumulators” and “customer interfaces”.

3.3 Lean System Thinking

The lean approach is strongly related to system thinking. A key tenet of lean is to help people understand the system that they are contributing to. It includes long-term thinking, which is why lean brings additional value to agile methods for software development. Without going into the details that are covered in the book, I want to emphasize:

  • The importance of visual management to develop a shared system understanding. Visual management in the lean practice is not only for managing backlogs and kanbans, but it must also be used to visualize everything that is complex, from problems to architecture.
  • System thinking, which is necessary to adapt the system (in the digital world, this translates into continuous architecture). Complex system thinking focuses on delays (a major source of mismanagement – think of the COVID crisis) or reinforcement loops. The book is full of practices that are mostly the management of negative loops (technical debt, weight of software) or positive ones (developing today’s skills for tomorrow’s agility).
  • The necessity to keep time for regular clean-ups, exemplified by lean 5S practices. Lean advocates for clarity by removing what is not necessary, as part of regular work practices. The applicability to software development is just obvious.
  • The importance of keeping “buffers” to operate below capacity level. This is one of the most important lean systemic principle – a direct consequence of queuing theory. Activity chains are more agile, adaptative and resilient when the utilization rate is kept under control and far from the “full occupancy” mode.

 

3.4 Lean Software Development

As I have told many times in this blog, the concept of “lean software factory” has been strongly influenced by “lean software development” references, such as Mary and Tom Poppendieck’s books. Here I will pick four major traits, where I see the influence of “lean thinking” in software, that I have chosen to develop in the book :

  • Software craftmanship, which is the importance of the right way of working, the elegance of the solution, the insights drawn from experience, the know-how from the community, applied to software. The idea that there exists a “better way of doing things” is expressed with the lean concept of the “work standard”. This is not a “best practice”, it is the continuous and relentless pursuit for excellence.  Writing software for the digital world requires skills and knowledge, which must be valued, recognized and developed (the reverse order is on purpose).
  • Right on the first time is the proper way to develop software in a digital world because the complexity and the expected rate of delivery make it too hard and expensive to fix errors later. Part of this focus on software quality is addressed through craftmanship, but it also means that we want to detect errors as early as possible – a TQM principle made a lean principle. Hence lean software development heavily relies on TDD (test-driven development) and CICD (continuous integration and continuous development). Continuous integration may be seen as applying lean principles to reduce the “integration debt” (keeping future possible integration issues without seeing them).
  • Constantly care for and improve your work environment so that you can work more efficiently. The lean practice for this is « 5S » and it applies to software development as well. “Sort” in the context of software development means to clean-up dead code and to re-factor; “Systematize” tells about modular organization, from classes to packages to microservices. It also represents the application of coding standards and the organization of tests in a test-driven approach. “Shine” is about making one’s code more readable and elegant, through coding standards, code reviews, improving the scores from qualimetry tests. “Standardize”, in the lean sense, is the continuous improvement of the team way of working.  “Sustain” is about making these “standard” practices a regular behavior for the team, so that long-term benefits may be reached.
  • Code that is required to be changed regularly and shared for collaboration needs to be loved. The use of “love” here emphasizes the subjectivity of what “elegant” or “good” code is, but the business benefits are very tangible, from agility (ease of modification) and software quality (fewer bugs) to cost effectiveness (code that is easier to share, hence to reuse). One could say that the love a complex task well done is part of the lean ambition towards excellence (for anyone in the company), but this is intensified by the collaborative and ever-changing nature of software in a VUCA world. Agile methods won’t help if you own an ugly code repository full of technical debt.

 

4. Conclusion

To conclude this post, I would like to emphasize three key ideas from the “Lean Approach to Digital Transformation” book:

  • Exponential Information Systems play a key role to support the digital transformation of companies, they act as a backbone for the growth of digital services. This statement is shared with many recent excellent books such as “Designed for Digital – How to architect your business for sustained success” or “The Digital Transformer Dilemma”.
  • Systems Engineering has never been so exciting, the constant flow of technology innovation and practices brought by the “digital leaders” creates a new playground. The “Exponential revolution” described in “Exponential Organizations” is happening now, which creates multiple opportunities that companies may leverage if they adopt the tools and methods from the best software companies, as Mik Kersten points out in the introduction of “Project to Product”.
  • From customer to code, from code to customer”: These are the two capabilities that companies must develop to succeed their digital transformation. This transformation is “grown, not designed” to paraphrase Kevin Kelly.  Exponential Information Systems grow from a lean mindset and culture, geared towards customer satisfaction and software craftsmanship.


 

 

1 comment:

Yves Caseau said...

As a (great) illustration of the importance of "the love of the product", you can read Elon Musk in https://www-entrepreneur-com.cdn.ampproject.org/c/s/www.entrepreneur.com/amphtml/361458

 
Technorati Profile