(2022-01-18) Jeffries Strawberries5 Strawberry Pie
Ron Jeffries: Strawberries 5: Strawberry Pie. Of all the mistakes I’ve made in software product development over six decades, the most damaging was not having working software available to ship before the patience of “the big guys” ran out.
change the conversation with the big guys from “when are you going to be done” to “could you to this next?” And that would make all the difference.
Yesterday, I wrote about GeePaw Hill’s emerging notion of the three shadows of a software product
the Increment: it’s the real thing that casts those shadows. It’s a Big Deal, in my view, the second biggest deal in the agile idea space.
(The biggest, surely, is the focus on People
We can identify some of the major ingredients of the Strawberry Increment Pie, but most of them are still too large to be single Strawberries
Tests
The Increment Pie has to work
Small Steps
I suppose one half-bun way someone could claim to meet my “always have running product” rule would be to create a “Hello World” on day one, and thereafter jam all the code in there but never make it work
The Way is, as Hill puts it, “Many More Much Smaller Steps”, and that’s a key thing to learn to do. (MMMSS)
Sometimes a step takes me an hour. Rarely it takes me two. Sometimes I don’t manage to make a step all day. I generally know tomorrow what to do in that case.
Refactoring
This is a huge lump of tasty strawberries, all needing to be taken apart. There are more than fifty named refactorings in Martin Fowler’s book on the topic
And we must improve the code.
I would almost be willing to say that the TDD loop, the red-green-refactor loop, embodies the essence of everything we need in building the increment.
All this needs to be done in a context of the “Whole Team”, the assembly of people who know what they want, people who provide funding, people who code, people who test, even a few people who think, who knows, we might need thinking.
These people will have to come together for many purposes, including...
It’s endless. And it’s all about people working together, despite their own independent needs and goals, in service of creation of our product. Sprint planning meetings and retrospectives don’t scratch the surface of the human interaction that we need. Mob programming and pair programming don’t begin to deal with the sharing of understanding that has to be developed.
Edited: | Tweet this! | Search Twitter for discussion