Note: Thanks to Phil Thornley for his kind words and knowledge on the topic.
I have just finished (skim) reading “Lean Enterprise – How high performance organisations innovate at scale” and thought it worthy of a book review post (mainly for me if I’m being honest to remember what I have read but also for you to read my notes and then buy the book if of interest).
Rather than trying to be a high brow lyrical reviewing genius I’m simply just going to note down thoughts I enjoyed from the book:
Many organisations are striving to be a digital enterprise. What many more conventional companies must realise though is that simply dropping technology on an organisation does not automatically turn it into a cash cow overnight.
Enter stage left the Lean Organisation “maximize customer value while minimizing waste. Simply, lean means creating more value for customers with fewer resources.”
Tasks should be accomplished faster, simpler, better, and cheaper, with employees engaged as full partners in continuous improvement.
Companies should not necessarily obsess about cutting costs; rather employees and managers should collaborate to figure out ways to drive out waste in their processes and decisions. This will ultimately lead to the creation of a well-functioning technology organization, while reducing the need to constantly put out fires.
Despite digital/tech being all pervasive I love the fact Humble et al point out that “a lean enterprise is primarily a human system.” Now I LOVE digital however I also LOVE real human interaction and the vast majority of companies will not survive without #awesome colleagues.
People are the organisations competitive advantage “As the pace of social and technological change accelerates, the lean approach pioneered by Toyota becomes even more important because it sets out a proven strategy for thriving in uncertainty by embracing change. The key to creating a lean enterprise is to enable those doing the work to solve their customers’ problems in a way that is aligned with the strategy of the wider organization. To achieve this, we rely on people being able to make local decisions that are sound at a strategic level — which, in turn, relies critically on the flow of information, including feedback loops.”
Digital/tech act as the enabler and nitrous oxide to collaboration and access to resources.
1/ IT itself needs to be turned into a competitive advantage versus being seen as a cost center. Change the mindset of those in, or linked with, IT.
2/ The adoption of a lean enterprise needs to go hand-in-hand with an innovation culture.
…And how do you achieve the above?….
a/You build it, you run it. “Teams that build new products and services must take responsibility for the operation and support of those services, at least until they are stable and the operation and support burden becomes predictable. By doing this, we also ensure that it is easy to measure the cost of running the service and the value it delivers.”
b/Turn IT into a product development organization. “Product development lifecycle and strategies should be used to deliver internal products and services as well as customer-facing ones.”
c/Invest in reducing complexity of existing systems. “Invest in ongoing improvement work with the goal of reducing the cost and risk of making changes to existing services.”
The key to success is not how much cash you splash on digital/tech rather how you enable colleagues to help run things and deliver products quicker, simpler, better, and cheaper.
You should create a culture of everyone wanting to continuously get better.
Do not have ‘external’ code reviewers as it slows throughput and doesn’t aid stability. Instead opt for peer review as they ultimately work on the code base together and should want to improve it together.
Software testers are not responsible for quality. Tests are there to prove only that the code is not deployable, not that it is a quality product and is ready for release. Testing should be baked into the development process all the time at every stage.
People are best motivated when they can have mastery, autonomy and purpose. This goes back to my post on winning hearts and minds about motivating via purpose.
*Innovation* finding a new service/product to market requires a different process than maintaining or extending an existing service/product. The distinction here is made between explore and exploit phases.
a/Explore – focus on defined experiments to pivot between different potential solutions to find a good product-market fit = Lean startup.
Lean Startup = ”Limiting initial investment and creating resource scarcity is essential to managing the risk of innovation. Given that most innovative ideas will fail you need to come up with simple quick experiments to eliminate bad ideas rapidly…. In a scientific way…. The principles of constraining time and resources, thus limiting down-side, and building a minimum viable product to test your value hypothesis as soon as possible with real customers should be applied at the start of every endeavour… Organizations tend to start projects with large teams because they assume (wrongly) that this help finish sooner… In building complex systems… inevitably leads to system bloat, increased complexity and dependency management, inefficiency and poor quality.”
“We should explore and experiment with radical process changes, known as kaikaku in Lean terminology… we should try ideas out with a relatively small, cross functional part of the organisation with people that fall in the “innovator” category.
The Deming cycle is a nice model for process improvement and changing organisational culture.
“When designing MVPs to experiment, it is important to identify one key metric that will tell us if the assumptions in our hypothesis are valid…. One Metric That Matters (OMTM).
“Invest energy in collecting the metrics that help us make decisions… If you have a piece of data on which you cannot act, it’s a vanity metric… A good metric changes the way you behave”.
Mission command is useful to help transform an organisation and is where execs communicate the mission that needs to be accomplished. Then moving down the hierarchy, colleagues have the authority to execute and change their plans so that the mission will be accomplished. Command and control = sucks.
Build a runway of questions, not requirements (need to think more on this). Based around story mapping “your software has a backbone and a skeleton – and your map shows it”.
Water-Scrum-fall is a hybrid approach to application lifecycle management that combines waterfall and Scrum/agile development methodologies.
A flexible approach that embraces both traditional and Agile development principles allows development teams to use whatever practices and techniques best meet the needs of the problem being solved. The need for flexibility and integration of development and systems operations teams
…essentially gave rise to DevOps
“People need to understand that they must always be working towards the vision and that they will never be done with improvement. We will encounter problems as we move towards the vision. The trick is to treat them as obstacles to be removed through experimentation, rather than objections to experimentation and change”.