No one has ever asked me, “Ron, if you were to create a new software development framework, what would it be like?” This series of articles answers that question. However, yesterday, I was asked to express my view on one of today’s modern approaches to “Agile”, complete with a new brand name and punchy slogans and all that. Here are some general thoughts about that.
Back at the time of the Manifesto, I was only about a half-century old and was full of the excitement that came from watching the first XP team profoundly out-perform the larger team they had been part of, working on the exact same problem. It was kind of a perfect lab experiment, as it seemed that the only thing that changed was how they worked1.
Seventeen aging white men2 came together in Snowbird, to talk about their common interests in what were then called lightweight methods.
The whole point of the meeting, it seemed to me, was to find common ground3. And we wrangled quite a bit to find the things we agreed on. The values were fairly easy, though there were issues even there. The principles came about after the meeting, through a series of email exchanges and more wrangling. All in all, we found a lot of common ground.
Truth is, there was a lot more common ground even then. We weren’t trying to write down every little thing we agreed about, we were trying to put together a punchy two-page manifesto that spoke to the major ideas we shared. And today, I think we’d find many more things to agree on, including things we have learned between then and now.
Common interests. Common ground. Agreement. That’s what I went away from Snowbird with, a solid feeling that these people, all of whom seemed smarter than I am and quite admirable, all shared some important common views on how software should be done. And those views seemed to me to make the lives of programmers better, while delivering better results to the people who pay the bills.
I was very excited and optimistic about that. Of course, I was only a half-century old at the time, so perhaps I can be forgiven my youthful enthusiasm.
After the Manifesto, things changed. 9-11 happened, and the economy went into recession or whatever they called it. Times got tough for consultants, since consultants are easier to let go, and easier not to hire, than salaried employees. It became important to people in the “Agile” community to distinguish themselves and their offerings from the others.
There had already been a few “brands” out there, DSDM, Scrum, and XP among them. Along came Crystal, and Adaptive, and others. There were hybrids, like XP@Scrum. There were approaches with slight modifications, like Industrial XP.
There came to be more and more competing approaches, such as Kanban[i]4 and Lean and Lean Startup and Scaled Agile and Disciplined Agile and it goes on and on.
Distinguishing your offering is a sensible thing to do, whether you’re a software consultant or a manufacturer of cars. Note, however, that the auto manufacturers don’t claim to be delivering a different kind of thing. It’s not that Ford makes automobiles, but Chevy makes wheelerators and the Ferrari company builds sportotrons. The car companies do talk about types of vehicles, with “sports activity vehicles” and “family sedans” and so on, but they don’t try to convince you that they’ve invented some truly new way of getting around.
To me, even such apparently disparate ideas as Lean are made up of very similar ideas to “Agile”, such as creating shorter feedback loops, looking to the customer, ensuring effective flow of work, and so on.
I think we could have worked in a way to join people’s thinking together, to build on each others work in a more direct fashion. I think in so doing, we’d move from “Should we do SAFe or Dad”, to more useful questions and answers, like “How can we shorten time to market” and “Let’s draw a value stream map”. I think that would have been better. I think it would have been a hell of a lot better.5
So while I am writing here about a “new framework”, I’m really writing about the items I’d focus on in doing effective software development, not about the Ron Jeffries Brand Software Development Method™.
I guess I’ll never learn.
A couple of related articles:
Of course many things changed. We had a different team, including a few fairly clever new people, and without quite a few of the people from before. We had people with experience trying to do the same thing before. We had a team made up entirely of volunteers who were excited about trying something new. And so on. Still, it was a much better comparison than we usually see. ↩
Obviously more diversity would have been good. At the time, this stuff was quite new and, as far as I can recall, there were not any women or people of color working actively in the area. I emphasize “as far as I can recall”. There may well have been. If so, they weren’t visible enough to get invited. I didn’t do the invitations, so please don’t blame me. None of us would make that mistake today. ↩
We did want to rename the thing, of course, since “lightweight” suggests weakness and we knew that we had a very strong approach to software development. ↩
There are two or three different kinds of [Kk]anban. Who knew? ↩
And yes, I might generalize these thoughts to Republican vs Democrat, Labour vs Green vs Plaid Cymru, Christianity vs Islam, and so on. Why can’t we all try to work together just a bit? ↩