Many people have commented on the statement that Kent Beck made in Snowbird around his purpose for the meeting. I wasn’t there of course, so I am most likely paraphrasing, but the generally accepted representation was that he wanted to “heal the rift between development and the business”. As I was attending the first of the conference season
events, Mile High Agile, I started to wonder how well that has worked. I’m not thrilled with what my conclusions currently are. I’m hoping someone can show me where I’m wrong.
First, some history. This might seem a little self-indulgent, but I promise that I do have a point, if only to set some context. I discovered eXtreme Programming back around 1999. I read the book and rejected it, until I met people who were doing it. It was truly revelatory. People were happy. The business oriented folks were working together collaboratively with the rest of the team. Not at a daily meeting, but throughout the day. I started digging deeper and realized that someone had finally found a way to make software that managed the balancing act between good engineering and good project management. With that in mind, I went to the first XP Universe. I left even more energized and ready to take on the world.
The next few years were fun and challenging. Most of my time was spent practicing and evangelizing XP, and then agile came along. I continued to be part of development, and attended many, many conferences and discussion groups. And that is where it gets weird. At the early conferences, the mix between developer and manager/project manager was a little lopsided toward the programmers.
Then there was a shift and all of a sudden it was hard to find someone at the conference who wasn’t a Scrum Master, the head of a PMO, a senior portfolio project manager, CSM, CSPO, SA, or EIEIO. Several keynote speakers who I really admire started asking, “where are the programmers?” This has led me to wonder, what now? The rift was starting to heal, but it seems to be growing wider again. Far too much attention is being spent on “what processes and tools do we need” and not enough on “how can we deliver working software?” What can we do to reverse this trend?
So, now that I’ve indulged in reminiscences, it’s time to do something about it. I’m not a big fan of just sitting around arguing over a course of action without actually doing something about it. So let’s get the software development back into agile software development.
We can begin by refusing to accept a separation of “management practices” and “technical practices”. There are just agile practices. The next time we’re going to spend training money on agile stuff, let’s skip the story writing and framework training, and let’s spend it on test driven development (TDD) or refactoring. Better yet, let’s spend that time and energy on DevOps. And don’t just send “Dev” to these classes. Wouldn’t it be cool if the technical folks had the same understanding of what agile means? And the next time you’re inclined to ask for or write another report about “progress”, ask yourself “can I express this in terms of working software?”
So this is my call to action: The time for the healing to start again is now. What will you do to make it happen?