My last few workplaces have sacrificed building a team for "individual responsibility". My experience is that it is just another name for "cowboy coder". Granted, they may just be managing it incorrectly. I have certainly seen my share of mismanaged "agile" adoptions. But, all I have is my experience, because they have yet to provide a single resource that indicates how this is supposed to work. There's no list of values, principles, and related practices. We've repeatedly watched production crawl along until days of crazy, heroic effort are required. That sure sounds like cowboy coding to me.
They stopped having conversations with the team about new stories. It's the "responsibility" of the lone developer to identify the technical requirements. To architect the new changes. To decide what tradeoffs are most effective. I stand corrected, it is the responsibility of the sole developer to manage the Epic, we don't mess with mere Stories any more.
Pairing slowed, then stopped. There is no healthy buzz about the work place. Just keyboards tapping. The white board remains blank 90% of the time. We work in close proximity, but in isolation. Why would anyone ask someone for help? We don't have the faintest idea what they are working on, what their problem domain is, or what decisions have led them to this point. Our ability to assist is minimal, at best.
Standups devolved into a status meeting for the manager. Even the iteration meeting was a time for the manager to spend a few moments with each individual, either confirming that the Story (Epic) will indeed be carrying over, again, or assigning us our new Epic. There was little discussion. And little interest for the rest of the team. It's not their responsibility, why should they care?
What happens to the production cycle? It's not pretty. Delays stretch out. Developers can disappear for weeks and not a single line is commited to master. Stories are carried over from iteration to iteration, sometimes for months. See what I said about Epics?
Can It Work?
I try to imagine where this model might work. I think it might work for "The Rockstar". The completely self-sufficient, never makes any mistakes, knows exactly what to do without discussion, egotistical, ninja. The type of developer who thinks the only role of the manager is to keep everyone else out of their hair. I have yet to meet someone like that who is truly productive. I have heard about them. My teammates are not that.
There are always a few developers who have requested this world. I have yet to see satisfactory output from them, before or after the shift.
We aren't rockstars. We're just damn fine developers. Proud of our work. This new world has left us behind.
Like most, our team is a mix. We have interns. Some seasoned developers coming up to speed on rails. We have developers acting as System Administrators. We have a silos of information that must be disseminated. Quickly. Continuously. As we all learn more about our domain, our code base, and our tool sets, we need to share this knowledge efficiently, not hoard it.
Insights into a Better World
Interestingly, it seems that every single time someone has a discussion, they receive helpful input from the developers around them, and yet, discussions rarely happen.
We've had a couple times where the entire team focuses on a single issue and we have obvious, in-your-face, productivity. Exactly what agile predicts. Yet, once the crisis is over, we are instructed to revert to the separate and conquer mode. It's baffling.
Do I sound bitter? There is some bitterness. I gave up pay, and more, to come here and help them build an agile team. Instead, I get this. I tried sharing practices, then principles. I tried patience, letting them feel the pain, so they could identify what wasn't working. I tried showing how it could work, proving it by producing good results, against adversity. I switched to sharing visions of what it could be like. I tried shining a flashlight into the dark corners.
I kept hoping that they would see the issues. That I could show them what was lacking. Show them how wonderful it could be. Once I did that, I hoped they could not help but make real changes. I was met with apathy. Eventually, they asked me to stop sharing. To redirect my passion.
I miss XP. Where the human was taken into account. The social creature. The fallible creature. The capable of amazing things (sometimes) creature. I miss working to create a super team, where every developer feels a part of something bigger.