Programmer Productivity?

I’ll admit I’m a bit confused. Do we still believe that it’s meaningful to talk about the productivity of individual programmers?

Assuming we had some agreement in our business as to how exactly one should measure the productivity of a programmer (we don’t), what good would it do us?

Let’s say we discovered that he most productive programmer is 6.7 times more productive than, wait, than who? Than the average programmer? Than the worst programmer? I don’t know, but let’s pretend we did know, and had learned that 6.7 was the magic number. What would we do with that number?

Could we use it to find and hire the most productive programmers? How would we go about that? Should programmers add their productivity factor into their resumés? How often should they update it? When should they measure it? On their best day? On a day when they’re performing at their average level? Maybe going for an average over the last 12 months would be most useful? Seems a bit convoluted, doesn’t it?

How about using it to evaluate employees? What would that be like? Should an average programmer that happens to be in a stellar team get to reduce his factor, so he doesn’t look better than he really is? What about a star programmer in a mediocre team? How would we calculate his adjustment factor? After all, it wouldn’t be fair if his productivity score was harmed because he had to work with programmers worse than him.

Seriously, folks. We know the answer to this silly riddle by now. Productivity in software development isn’t controlled just by the individual, it is controlled by how several individuals interact with each other.

If you are, or have been, a programmer, you might recognize this situation: there’s a tight deadline, but nothing’s getting finished, because you’re spending all your time training the new hires that were brought in to help you hit the deadline. If that’s never happened to you or someone you know, maybe this situation is familiar. You have several really great programmers on your team, but nothing’s getting finished, because they’re all busy either quarreling or not speaking to each other at all. Yes, individual programming skill matters greatly. So does the ability to work effectively with others. It’s not either or, it’s both. And that’s still not enough. To be productive, programmers need a supportive environment, and I don’t mean (just) nice colleagues. I’m talking about being in an organization designed to maximize the effectiveness of those who work in it. My guess is that’s not an organization obsessed with measuring the productivity of individual programmers. It’s an organization obsessed with delivering great results, and having a
great time while doing it.

Who’s That From?

One of my fears when writing is that I will replicate, nay steal, what someone else has already said. – “Come on, everything has been said before”, was what I was told when I revealed my fear to a couple of speaking partners at the AYE conference a couple of years ago.

Speaking of the AYE conference. AYE, or Amplifying Your Effectiveness (which is not about some personal productivity technique, but rather about discovering more about how you can use yourself to get the results you’re after in your work), was instigated by Jerry Weinberg, whom I know as the world’s greatest consultant. I’ve learned so much from Jerry: a lot from his books, and a lot from attending his workshops and speaking to him. Every so often, I just grab one of his books from my shelf and read a random passage. It always inspires me, and sometimes surprises me.

Tonight, I was both inspired and surprised. Rereading a random passage from one of Jerry’s loveliest books – Secrets of Consulting – I found that what I read was just what I needed.

The passage I stumbled upon was one about the value of “listening to the music”. In essence, this is about how, as a consultant, you need to be in touch with all your senses and emotions, because they can all give you useful information.

What fit me so well this time was the fact that contrary to what I remembered, Jerry was not the source of the phrase “listen to the music”. In his book, Jerry very clearly attributes this phrase to a person he calls one of the world’s greatest consultants: Nancy Brown. I had no idea who Nancy Brown was, but I was completely sure that that phrase was Jerry’s, and nobody else’s.

This finding comforts me, because it reminds me of something I know I knew, but that I keep forgetting: even great writer’s are inspired by someone else. Or maybe more correctly: great writers especially, are inspired by someone else. Either way, there really seems to be nothing new under the sun. The story one person tells originated with someone else. The originator learned it somewhere else, and so on.

So what have I learned? Nothing really. I already knew I shouldn’t be afraid to publish on the grounds that what I say might already have been said. I remembered this one more time today. However, I did something else too. I published this little text, even though I’m quite certain I’m not the first person coming to this insight. And guess what: I’m almost OK with that.

David Schmaltz: McMethod

In his newsletter, David Schmaltz writes: “I’ve taken an article I previously published and reconfigured it into a format that seems to play into the shrinking attention spans and expanding information need. A Bed Time Story.”

David is here to remind us to trust ourselves, not just pre-packaged methods. Here is one of his efforts towards that goal. Enjoy, I myself really like it.

McMethodBedTimeStory

Född: A l f r e d

Den 11:e juni 2009 föddes mitt andra barn! Kärleken var enorm från första stund. Obskrivbart. Han älskar att äta och kan även tänka sig att sova, fast bara lite grann, ibland. Det första jag tänkte när han kom ut var: “Han är så lik sin storasyster”. Han luktar underbart och skriker jättehögt och jag älskar honom bortom ord.

My Most Loved Mac Software

The Mac universe is filled with cheap (or free) little pieces of wonderful software. Here are some that I would not want to work without:

  • Quicksilver. Whenever someone asks me why I don’t just use Spotlight, I know that they still haven’t discovered Quicksilver’s ability to shuffle around files. Quicksilver is so seamless and useful that I feel handicapped whenever I push Ctrl+Space on a Mac without Quicksilver installed.
  • TextMate. A lovely text editor, which I use both for writing (I collect fieldstones using Jerry Weinberg’s “fieldstone method” and organize them in a TextMate project) and for manipulating text. For example, I sometimes export a list of people from our sales system. It usually comes out as a comma separated list of values. In TextMate, it’s easy to create a simple macro to wash away everything I don’t need, and keep only – for example – email addresses.
  • Dropbox. Speaking of gathering fieldstones. Because I wanted to access my fieldstones both from my Mac Powerbook and from my Linux machine at home, I set them up on a Dropbox account. Dropbox is very transparent, and simply shows up as a regular folder on both machines. Anything I drop in my Dropbox folder on one machine is automatically synchronized to the other machine as soon as I turn it on. Simply lovely.
  • 1Password. Remembering passwords is a nuisance. With 1Password, the need to remember them pretty much goes away. The program stores my passwords in an encrypted file, and automatically brings them up and fills out login forms when I tell it to. 1Password integrates even with the Safari 4 Beta I’m using. Whenever I want to login somewhere, I just click the “1P” button, and it digs out the right username and password combination for the site I’m currently on. Once in a while, I switch over to Firefox. When I do so, 1Password tags along and helps me out there too, since it integrates with that browser as well.
What makes these particular programs so great? Below are some of the properties I associate with these successful pieces of software.
  • Transparent. They never pop and disturb me, and when I use them, they simply do what I want them to do without any hassle.
  • Specialized and Useful. They aim to help me with some specific thing, and do it very well. They also solve actual problems.
  • Elegant. They do what they do with style. Because of this, I like them even more than I would if they where ugly but useful.
  • Fitness. These are all examples of software that integrates seamlessly with the system it lives in. For the developer, this could be less than positive if Apple decides the functionality fits in so well that it ought to be integrated into the operating system itself. Apple: if you do – buying the software from the people who made it or hiring the developers is the only right thing to do. We’re talking about software that is so good that it helps sell the Mac itself.
What’s your favorite Mac software, the kind you wouldn’t want to work without?

Slides from Learning Together @ Öresund Agile

My talk at Öresund Agile yesterday went ok. I was slightly nervous before, as always. Once I started speaking, my 30 minutes flew by, though. Not clear on how relevant people thought my material was – we’ll see if some feedback drops in. My intention was to introduce a few useful concepts about learning to people in the agile community who hadn’t heard about them before. Embedded below are my slides, which may not be that useful if you weren’t at the conference, but that’s OK. If you were there, maybe they can serve as a small reminder of what I spoke about.

If you want to do some research on your own into the things I talked about, here are some links for further reading:

  1. The Two Great Wastes
  2. Origins of the “knowledge pyramid”
  3. Ikujiro Nonaka on knowledge
  4. Book tip regarding dialogue

PSL in Sweden

My colleague and friend Magnus Ljadas and I are currently working to get Jerry Weinberg’s legendary (yeah!) workshop Problem Solving Leadership to Sweden, starring Gerald M. Weinberg himself, Esther Derby, and Johanna Rothman. We’re aiming for January 2009. To gauge the interest on the market, we’ve put up a form where anyone who’s interested in participating in this 6-day intensive workshop can sign up with us. We put the page up a couple of days ago, and a bunch of registrations have already rolled in.

We’ll be adding more information to the page as this moves along, but if you’re interested (and you should be, if you’re in software and want to hone your leadership skills), you should sign up right now.

Magnus and I participated in the PSL in Albuquerque, New Mexico, this March, and it was great. You get to experience effective and not so effective problem solving leadership hands on. For me, this was just right. Because I’ve read a lot of Jerry’s works before, the concepts per se were not new to me, but to experience them like this moved what I knew in my brain right into my heart and stomach. The entire week worked up to the final hours, which for me meant participating in an exercise that let me experience what I want work to be like. Flowing, natural, intense, adaptive, fun, effective. All of those. This, combined with the practical tools taught during the workshop made these days in Albuquerque an excellent investment of both time and money.