This is just my impressions, but maybe they might help others who also switch to an Agile methodology. I’ve been working with Scrum for 6 months now, and I’ve also been “lead developer” on this team for the first time in my career, and have found some issues with my approach… This is normal, I understand, but in any case, sharing them might help others not to make the same mistake.
Technically, this was not my first exposure to Scrum… I was exposed to it in 2009, but I was not quite myself then… I was wired on methamphetamines every day and spent most of my time trying to figure out which of the voices I heard were real and which were only in my head… I don’t advise you do this. Consider this lesson one: Crystal meth and agile do not mix.
But getting back to what I actually intended writing about…
Scott Hanselman wrote an interesting article the other day about rockstar programmers… In my mind, rockstar programmers and agile also don’t mix. Before you disagree, listen to the voice of reason… and this one isn’t just in my head.
Looking at it from another angle: You don’t want to be a rockstar programmer, unless you are a glutton for punishment.
Why do I say this? Put it this way; there are just two of us (developers) on this team. The third (who never contributed anything of value anyway, but for one line of code this sprint, which was wrong) has sadly been removed from the team. But nonetheless, I made the same mistake as last sprint: I did all the actual functional code myself, because that way I knew it would get done.
Except this time, there were things not in the specification, and I screwed up a little: I underestimated the scope of the work. I never normally plan anything – my mind leaps straight from business documents and user stories into objects and methods – it’s my gift and sometimes also my curse. Sometimes, when the team is going through a document together, it takes them 45 minutes to understand something that I got in the first 30 seconds. It can drive me nuts, because I feel like we’re moving in slow motion.
This means that in meetings, most of the time, most of the input in terms of how things can be implemented comes from me. I’m new to this – in the past I was always super-quiet in meetings. Anyway, what’s happened over these last few months is the team has come to trust my judgment more and more. But I’m going on intuition, and I am not perfect. Yes, it’s nice that I can just jump into a conversation with people who actually attended the relevant meetings and come up with an expert opinion, and it’s great that the team relied on my judgment and all, but this time they relied too much on my input.
I found myself and my team in the situation where we had two days to go, and more than half the development not done. I worked late that night, then came in early the next morning, and by the time the rest of the team arrived, the working code was deployed. Then we all worked right into the night until 10PM, with me fixing all the bugs I had created in the rush, and of course since I wrote all the functional code, the onus was on me to fix the bugs. We both worked on it, but I am the one who knows the code, so my turnaround time was obviously way better than my companion. And as a result, I had to do 3 days of work in 1 day.
I mentioned earlier, I never plan anything… I wing it on mostly intuition. Don’t do that. That brings me to my only real point in this post:
PLAN your Sprint properly.
Technically it wasn’t all my fault. The rest of the team should have planned properly too. They were lazy and complacent, and that’s not my fault or my responsibility. But still, I feel responsible.
That’s it. Don’t be a rockstar. Rockstar’s fuck up occasionally too. They end up in rehab after losing all their possessions, and they bounce back with their brilliance, and make up for everything they lost. (Hell, I did that literally too and I’m no fucking rockstar.)
While the lessons I learned in the process of losing everything revitalized me and turned my life around, giving me foresight and hindsight I may never have gained otherwise, these lessons are not for everyone. Don’t be a rockstar, and don’t rely on one either.