(2022-01-14) Jeffries Strawberries2 Increment Rhythm Brackets

Ron Jeffries: Strawberries 2: Increment. Rhythm. Brackets. Today’s topic, well, topics, are the Increment, Rhythm, and Brackets. They go together

Increment

I have written often about the Increment. That’s because, to me, it is the single most important element in creating a software product in the agile fashion

Rhythm

if there is a minute in your product’s development cycle when you do not have a ready-to-ship, integrated, working, tested product, with all the capabilities you’ve so far accomplished, if there is a minute when you don’t have the Increment, you’re doing it wrong.

It’s surprisingly easy once you get the beat. Which is our next topic.

I owe GeePaw Hill for this term. You may also hear the term “cadence”.

The Tests Run
Ship it. This is in some ways the key rhythm of software development. If we can arrange things so that every hour, every fifteen minutes, every five minutes, every tiny interval, when the tests run we can commit our code …
We’ll have a shippable increment, all the time

We need to attend to them, and to keep them as orderly as possible.

We do that by looking all around. Which is the next topic:

Brackets

The idea is that at each rhythm to which we wish to attend, there should be “Brackets” that surround it. In the opening or entry bracket, we look forward, planning what we intend to do over that interval. And in the closing or exit bracket, at the end of a rhythmic interval, we look back at what really happened, learn from it, and then turn around to face in the direction of the next opening bracket.

The opening Bracket is “prospective” and the closing Bracket is “retrospective”. (OODA)

Generally, most of our brackets are nested one inside the other: (Triple-Loop Product Management)

One more thing for this topic, and it’s important:

Smaller is Better

It is probably possible to open and close a bracket so often that the overhead wipes out all the work. Certainly if we held a meeting every time we wanted to write a line of code, that would be too much. Or would it? In Mob Programming, we run a continuous meeting.

When we do TDD, and write the next test, that opens a bracket. When the test runs, the bracket is closed. Ship it.


Edited:    |       |    Search Twitter for discussion