I've been having a great time lately, helping developers be even better at what they do. The most fun comes from working with programmers who might have gotten a little jaded. They have been around the block a few times, and seen a lot of trends come and go. Along the way, they started to look on programming as the thing they do to pay the bills, rather than the craft they fell in love with when they were first learning. Seeing them start to have fun again, and make great things, is the biggest reward for what I do. As with any interaction, I'm learning a lot along the way, myself.
One thing I'm discovering is that even though the vast majority of blog posts, tools, discussions and conferences focus almost exclusively on process, if you truly embrace Agile, the process is meaningless. I'm not just railing against the usual suspects here. This isn't another call to abandon overbearing, high ceremony structures like SAFe. I'm saying that I really just don't care about process anymore.
Ok, so hear me out. If my team is doing small increments of some thing called "value", do I really care if they are stories, or technical stories, or even requirements? Nope. I just care that my customer said they need something like this. And I work directly with my customer to understand what "this" is. If my customer can't be available, yes I will work with someone who does have the ear of the customer. But it will be in terms of the next thing we are making, and we will use real software for examples. Now if you want to write this on an index card somewhere? Fine. You want to put them in a very expensive tool with a million rules around the workflow? That's cool too. But that isn't where I'm going to put my energy. I'm going to put my energy into the quality of my software, and into satisfying my customers' current needs, not what I am imagining in the future.
While this might sound like I'm going off the deep end, I believe this is what we originally were aiming for in the Agile world. Note that the Manifesto starts with
"Discovering better ways of developing software". It does *not* say we are discovering better ways of planning projects. As a matter of fact, the very first value is Individuals and Interactions over process and tools. How we got from that to having entire industries built around process and tools is a question that bothers me, but I'm willing to put that aside.
So I'll make you a deal. I will help my teams move cards around boards, make estimates for delivery if you really want them. We will do the ceremonies you ask of us. What I require in return is that you do *not* then turn around and say Craftsmanship is too expensive. If you argue to me that writing software well takes too much time and costs too much, I will suggest that we need to remove the waste inherent in all the ceremonies first.
So what do you say, do we have a deal?