Let’s Stop Discussing Post-Agile: We Still Can’t Agree on Agile
I had dinner with a colleague. While we were settling into our coffee, he asked me, “What does post-agile mean to you?”
I was no longer calm and relaxed. “That’s a nonsense word. Post-agile!”
Here’s why I reacted the way I did.
We have known about miniature milestones, or inch-pebbles, since the 1940s. That’s how we made progress in projects, regardless of the type of project.
We have known about deliverable-based planning since the 1940s or earlier. In fact, until waterfall took hold, that’s how all projects worked. You planned for a deliverable, and once you completed it, you planned for the next deliverable.
That means we have known about iterative planning for decades.
We have used iterative planning, rolling-wave planning based on small deliverables, for many years. But what about software practices we associate with agile?
In the 1980s, we had cleanroom development. You were supposed to develop tests first and integrate as you proceed. It was all about preventing defects.
Back when I learned to program, we had continuous integration. We had to integrate as we proceeded because we had linking loaders. We had to know how to put our applications together. You couldn’t integrate at the end—you might not have enough memory to link everything. And if you waited until you had coded everything, you would have no idea where the problems were if the executable didn’t work.
I first paired in 1982. Our applications are much more complex now. Our tools support better and faster work. But we still can’t think any faster.
Software product development is about learning, not about coding or testing. As we complete requirements, we learn more about what the system can do.
Now, pretty much everyone is on the agile bandwagon, regardless of whether their cultures support agile.
When I consult with organizations, I see people who talk about agile but don’t do much agile.
Agility is about the ability to change. I see four-week iterations; a ScrumMaster who only believes in the “master” part; teams who cannot achieve done on anything, regardless of the timebox duration; and managers who still pull people off and insert people on teams. I see many more problems.
We haven’t achieved agile, never mind gotten to post-agile.
I have long said that in waterfall, the project manager imposes discipline on the team. In agile, the team creates its discipline: How will they work on and complete features?
Managers need discipline too, to manage the project portfolio so they don’t impose multitasking on a team. And managers need to nurture teams and create an environment in which people can do their best work.
I have no idea what, if anything, will be post-agile. Let’s get agile working first. The ideas are not new. How we implement them might be.