Stackademic

Stackademic is a learning hub for programmers, devs, coders, and engineers. Our goal is to democratize free coding education for the world.

Follow publication

From Hell’s Kitchen to MasterChefs

Ingredients for World-Class Software

Erik Schön
Stackademic
Published in
9 min readNov 18, 2023

--

Photo © Michael Becker/Fox
Photo © MasterChef Australia

Are you curious about your craft and want to get better at building services, products and solutions using software? Then please join Erik Schön (hacker, software researcher, system engineer, product manager, engineering manager, executive, writer) on a journey from Hell’s Kitchen to MasterChefs — based on experiences from Steve Denning’s Learning Consortium where leading companies like Spotify, Riot Games, Barclays, Microsoft and Ericsson share successes and failures during regular, global site visits with the mission to change the world of work.

World-Class Cooking

How come programmers like cooking? Quite simple!

© Randall Koutnik, @rkoutnik on Twitter/X

What do you need to make a world-class dinner? Great tools! Great ingredients! Great recipes! Great skills!

But what tools? What ingredients? What recipes? What skills?

Well, it depends on the answer to the question: What’s the job to be done?

What is the job to be done? CC BY-SA 4.0 Erik Schön

Is it feeding a starving teenager? Is it satisfying a picky 5-year-old? Is it a romantic first date? Or, is it the weekly family dinner?

Based on the answer to this question we can decide what the right ingredients, tools, recipes and skills for the job are!

What are the right ingredients, skills, recipes, tools? It all depends ... CC BY-SA 4.0 Erik Schön

And, what did we forget? Time, preparations and creativity!

So, between Hell’s Kitchen and MasterChefs, there are better tools, better ingredients, better recipes, better skills, better preparations, more time and a pinch of creativity!

© Hell’s Kitchen, Inc., The Muppets Studio/Disney, Banijay Group, respectively

World-Class Software Development

Let’s talk about ingredients, recipes, skills, tools, preparation and creativity in a software development context!

What have we learned about software development since Ivar Jacobson invented blocks, modules, sub-systems, sequence diagrams & use cases at Ericsson in 1968 and Winston Royce wrote his grossly misunderstood paper Managing the Development of Large Software Systems in 1970?

A valuable source of inspiration is what the members of Steve Denning’s Learning Consortium, e.g. Spotify (online music), Riot Games (online gaming), Barclays (fintech), Microsoft (cloud, development tools and office applications) and Ericsson (complex network products) have been sharing and learning from each other during regular site visits since 2015.

Visualizing World-Class Software Development

The visualisation below shows the capabilities needed to succeed and bring joy to customers, colleagues and owners by delivering world-class software and how the capabilities depend on each other.

It distills the essence of what the software development community has learnt over the past 50 years including lessons from movements like Agile, Lean software development and Lean Startup, in particular patterns as practiced over the past 10 years by Spotify, Riot Games, Barclays, Microsoft and Ericsson.

In the illustration below there are three parts in different colours: purpose (green), discovery (purple) and delivery (blue). The purpose part describes why we do things and the wanted outcome. Next, the capabilities in the discovery part describe what we do, how we can do that in an effective way by doing the right things and how these capabilities depend upon each other. Finally, the capabilities in the delivery part describe how we can do things in an efficient way by doing things right and how these capabilities depend upon each other.

Note how discovery and delivery depend upon each other, they are deeply intertwined. Note also how more fundamental capabilities such as respect and collaboration appear at the bottom of the picture.

Capabilties for world-class software development and how they relate to each other. Structure: Anatomy of Excellent Development (Ericsson)
Content: CC BY-SA 4.0 Erik Schön

This is an example of an Anatomy of Excellent Development. It is a dependency graph of capabilities for a team or organisation and it is used to visualise, assess and improve a team or an organisation. An anatomy of excellent development shows the wanted capabilities for a team or organisation that are needed to fulfil the mission of being excellent at software development.

This approach for improvements by building capabilities has been used in product development organisations since 2006. It is based on system anatomies that visualise what product capabilities are needed to fulfil customers’ needs and has been used for products since the early 90s. You may notice the similarities with Value Chains used in Wardley Mapping, developed independently by Simon Wardley (swardley) in the early 2000s, and, Maturity Mapping, independently developed by Chris McDermott and Marc Burgauer in 2018.

The illustration below shows examples of specific practices and tools (the “how”) that could be used to fulfill the capabilities (the “what” and “why”). The capabilities are about what is needed and this is independent of context; exactly which methods and tools are needed to realise the capabilities are context-dependent, i.e. the specific needs and abilities in a given context. References to all these methods and tools (and more ;-) can be found at the end of the article in the chapter “For Further Inspiration and Learning” under the heading “Methods, Processes and Tools”.

Examples of context-dependent methods and tools for realising the capabilities for world-class software development. CC BY-SA 4.0 Erik Schön

How to Reach World-Class Software Development

An anatomy of excellent development is used to evaluate methods/practices/processes/ways of working in order to pick the most suitable one(s) for the job at hand as well as to understand the principles (“what” & “why”, sometimes called “doctrine” or “first principles”) behind the approaches, practices, methods and tools (“how”). It can also be used to assess the current capabilities of your team or your organisation and visually present the results to enable discussion, synchronisation of perspectives and, ultimately, agreement on what needs to be done.

Having a team or a leadership team discussing strengths and weaknesses w.r.t. these capabilities will lead to a common understanding of what area(s) to focus on first when improving the capabilities of the team or organisation.

How about a concrete example right now?

Where do we start the improvement efforts to get to world-class software?

Ask your customers:
What’s the one thing we do really well?
What’s the one thing we should improve?

In parallel, ask yourselves:
What’s the one thing we do really well?
What’s the one thing we should improve?

In the example below, after asking their customers and asking the organisation, the leadership team of the organisation, after some debate, has realised that the most important thing to focus on and to start improving is the knowledge of users and their needs.

Example: The most important thing to focus on and start improving. CC BY-SA 4.0 Erik Schön

Below we see what alternative methods that the leadership team can select to improve the understanding of users and their needs. Which method(s) to select (in this case: Lean Startup, Design Sprint, Design Thinking, Jobs to be done or Impact Mapping) depends on the specific needs and current abilities in the organisation.

Example: Methods and tools that can be used to improve a prioritised capability. Structure: Anatomy of Excellent Development (Ericsson)
Content: CC BY-SA 4.0 Erik Schön

The Characteristics of World-Class Cooking

Back to cooking as a metaphor for software development through Lao Tzu’s eternal wisdom from ~500 BC (as interpreted by Ames&Hall) to help us go from Hell’s Kitchen (including the Swedish Chef ;-) to Master Chefs:

A never-ending menu from limited ingredients. © Hey Yet

Optimise limited ingredients creatively for a never-ending menu.

Preserve and extend ingredients and combine them in different sequences, colours, textures, flavours, fragrances, …

Use a little bit of the more pricey ingredients to flavor a lot of the more common ones.

Take advantage of the seasons.

Prepare the food to provide maximum surface area and cook it as to sear in the nutrients while minimising the use of fuel.

Getting the most out of your ingredients means keeping the garbage can empty.

Cook and eat to harmonise the ingredients to let the natural flavours speak for themselves.

YOU are the MasterChefs! Go beyond slavishly following a recipe!

Prepare the ingredients using suitable recipes, skills and tools — creatively!

And, since context changes everything, always remember to ask:

What is the job to be done? CC BY-SA 4.0 Erik Schön

What’s the job to be done?

For Further Inspiration and Learning

This article originates from an invited talk I gave at the Lean Product and Process Development Exchange (LPPDE) Virtual Summit in November 2023 (slide deck). I have re-used parts from my articles Doctrine or Dogma? and Strategy in Action. I also presented parts of the content as a 10-minute lightning talk (slide deck) at the Agile Sweden 2024 conference.

Photo © Michael Göthe

You can find my work on leadership, strategy and ways of working, e.g. the books The Art of Change, The Art of Strategy and The Art of Leadership, at Yokoso Press, Medium and YouTube.

Additional articles, books, presentations and videos for further inspiration and learning below.

World-Class Product Development

Beck (Kent Beck): Extreme Programming Explained
Bosch (JanBosch): Beyond Agile
Cagan: Inspired — How To Create Tech Products Customers Love
Larman & Vodde (Bas Vodde): Scaling Lean & Agile Development
Marshall (Bob Marshall): Product Aikido — The Exemplar Doctrine
Poppendieck & Poppendieck (Mary Poppendieck): The Lean Mindset
Reinertsen: Principles of Product Development Flow

Steve Denning’s Learning Consortium

Please note that Steve Denning’s Learning Consortium (SDLC) changed name and scope in May 2024, see the Changing the World of Work — Consortium of Leaders (COL).
The Steve Denning Learning Consortium (SDLC)— Reports: 2015-2022
Denning: The 12 Stages Of The Agile Transformation Journey
Denning: How Microsoft Vanquished Bureaucracy With Agile
Schön (Erik Schön): Mental Leaps — More, Faster, Better, Happier, and Innovative
Schön (Erik Schön): Doing Strategy the Interactive & Flexible Way — Strategy as Football
Schön (Erik Schön): How Do We Get Speed, Innovation and Engagement?
Sundén (Joakim Sundén): Customer Obsession and Agile Mindset at Riot Games

System Anatomy

Sandahl: What is a System Anatomy?
Taxén (editor): The System Anatomy — Enabling Agile Project Management

Anatomy of Excellent Development

Duka & Hribar: Anatomy of Excellent Development

Methods, Processes and Tools for World-Class Software

Doing Things Right — Respect
Non-Violent Communication
Psychological Safety
Trust
The Antimatter Principle

Doing Things Right — Collaboration
Cross-functional teams
End-to-end teams
Find, remove, handle dependencies
Feature/system anatomies

Doing Things Right — Feedback, Learning & Improvements
Retrospectives
Short, daily stand-ups
Pair/ensemble/mob programming/software teaming
Code reviews
Test-Driven Development (TDD)
Continuous Integration (CI)
Continuous Delivery (CD)
DevOps

Doing Things Right — Quality
Pair/ensemble/mob programming
Refactoring (“Scout Rule”)
Code reviews
Test-Driven Development (TDD)
Continuous Integration (CI)
Static code/program analysis
Code/test coverage

Doing Things Right — Velocity
Visualise the work
“Elephant Carpaccio” slicing
Find and remove wait times
Find and remove bottlenecks
Find and remove handovers
Value Stream Mapping (VSM)

Doing Things Right — Throughput
Focus
Work on few things in parallel
Kanban boards for teams and organizations

Doing the Right Things — Users and Needs
Lean Startup
Design Sprint
Design Thinking
Jobs to be done
Impact Mapping

Doing the Right Things — Vision
Playing to Win
Wardley Mapping
Objectives & Key Results (OKRs)
4 Disciplines of Execution (4DX)

Doing the Right Things — Validation
Lean Startup
Design Sprint
Impact Mapping
Prioritization
Business Model-Canvas

Simplicity — the art of maximizing the amount of work not done — is essential

Kudos

Peter Palmér and Juha Tammi of the Lean Product and Process Development Exchange (LPPDE) for inviting me to speak at the LPPDE Virtual Summit.

Stephen Denning and members of Steve Denning’s Learning Consortium for generously sharing patterns for successful (and unsuccessful ;-) software development.

Åke Sundelin, Jonas Wigander, Inga Lill Holmqvist, Lars-Ola Damm and Hendrik Esser for collaboration and inspiration around system anatomies and anatomies of excellent development.

Francesco Cesarini and my colleagues at Erlang Solutions for helpful feedback on earlier presentations on this topic.

Johannes Lindman, Johan Ivari and Christian Fredriksson for feedback on a draft version of this article.

Simon Wardley (swardley), Marc Burgauer, Chris McDermott and Michael Göthe for inspiration around strategy, Wardley Mapping and Maturity Mapping.

Björn Tikkanen, Henrik Kniberg and Jonas Boegård for encouragement to write things up.

This is provided as Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) by the author, Erik Schön.

Wardley Mapping is provided as Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) courtesy of Simon Wardley (swardley).

Stackademic

Thank you for reading until the end. Before you go:

  • Please consider clapping and following the writer! 👏
  • Follow us on Twitter(X), LinkedIn, and YouTube.
  • Visit Stackademic.com to find out more about how we are democratizing free programming education around the world.

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Published in Stackademic

Stackademic is a learning hub for programmers, devs, coders, and engineers. Our goal is to democratize free coding education for the world.

Written by Erik Schön

From hacker, software researcher, system engineer to leader, executive, strategizer. Writer: #ArtOfChange #ArtOfLeadership #ArtOfStrategy http://yokosopress.se

No responses yet