Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Grown Organically - Develop Software and Bonsai

Grown Organically - Develop Software and Bonsai

What does developing software and growing bonsai have in common? Not much at a first glance - But we can use one as a metaphor for the other. In this talk, I explain why.

Avatar for David Tanzer

David Tanzer

January 29, 2026
Tweet

More Decks by David Tanzer

Other Decks in Technology

Transcript

  1. Bonsai: Tree in a Pot Bonsai: Tree in a Pot

    Bonsai "Kenshin Tōge", ca. 800 Jahre alt (Wikipedia, CC BY 4.0, Author: Order of the Rose)
  2. Bonsai: Piece of Art Bonsai: Piece of Art • Represents

    a big tree in nature • Is a small tree in a pot
  3. MMMSS MMMSS • Many More Much Smaller Steps (GeePaw Hill)

    • No obvious shortest distance • Must be able to change destination • Hand-offs between large steps are expensive
  4. Priority #1: Health Priority #1: Health • As long as

    you don’t kill the tree, there are options • Healthy business • Healthy code • Healthy team
  5. One Step at a Time One Step at a Time

    • Response of the Tree = Feedback – No no work before you observe the response – Watch, water, fertilize, keep pests in check • Never work without feedback: – Stories, that build on one another – Long-running branches – Accepted in review, but feature-flagged
  6. Patience Patience With software products, patience is an important skill

    to make sure we don’t push the team faster than they can write good code, or make changes to the product faster than you can learn from users response to the changes. -- Andy Nortrup
  7. Wait… Patience or Speed? Wait… Patience or Speed? Bad •

    More code, faster • More features, faster → Local optimization Good • Better feedback, faster • More value, faster
  8. All Steps are Simple All Steps are Simple • TDD:

    Red-Green-Refactor • Refactoring: Extract variable / method, Move, … • Scrum: Planning, Review, Retro, …
  9. Steps Must be Small Steps Must be Small • Intrinsic

    benefits of Steps – Interruptability – Steerability – Reversability – Rhythm – … GeePaw Hill
  10. Key to Success Key to Success • Small steps •

    Applied consistently • Towards a goal • Over long periods
  11. Bonsai: Unsustainable System Bonsai: Unsustainable System • Small pot •

    Dense branches / twigs • Wants to grow big → Requires constant attention, steering & work
  12. Software: Unsustainable System Software: Unsustainable System • Requirements change •

    Technology changes • We learn and get better → Requires constant attention, steering & work
  13. Responding to Change Responding to Change • Future-proof architecture is

    adaptable • Only simple designs are easy to adapt • Remove unnecessary elements • Learn to refactor safely and in small steps
  14. Environment: Growth and Learning Environment: Growth and Learning How can

    teams learn to • Get better feedback faster? • Create software that can be adapted based on feedback? • Create processes that allow for fast iteration?
  15. Environment: Size & Speed Environment: Size & Speed • Just

    add one more person… (?) • “With half the people, we could do this project in half the time”
  16. Key to Success Key to Success • Sustaining software requires

    constant work • Create an environment where teams can thrive • Optimize for adaptability
  17. Learning by Watching? Learning by Watching? Video of a Bonsai

    Workshop • Student wires the whole tree (mechanical skill) • Master sets the branches and designs the tree (artistic skill) Did they maximize learning?
  18. The Main Product The Main Product "The most important product

    of software development is software developers" -- Jason Gorman
  19. We Learn by Doing We Learn by Doing • From

    mistakes • From successes • From repetition
  20. We Learn from Each Other We Learn from Each Other

    • By discussing • By solving problems together • By watching and trying something similar • By watching and trying something different
  21. We Learn by Teaching We Learn by Teaching • By

    digging deeper into a subject • By saying things out loud • By watching others how they understood us
  22. Way to Success Way to Success • Create software developers

    • Optimize for learning • Learn together • Learn and coach in a brain-friendly way
  23. David Tanzer David Tanzer • Technical Agile Coach • Trainer

    • Software Developer / Architect • Freelancer since 2016 • https://www.davidtanzer.net • https://www.devteams.at