Search

I code because I love to code. Solving problems, and seeing people using stuff I created gives me a huge kick. But still, some coding projects are fun, and some are horrible. What is the difference between the two?

A couple of years ago I worked in a project that technically wasn’t very exciting. We had a lot of legacy .NET code, and the database we were using was a Win16 thing that should have been shot dead a long time ago. We accessed with it through a couple of unstable 16-bit COM objects. To make matters worse, we used a third party chart and grid utilities that just wouldn’t cooperate with us. And still, every morning, I was eager to get to work. I really enjoyed working in the project, and I was sad about getting close to the end of it. Let’s call this project Alpha.


In another project I remember, the client basically gave us free reins. We could do things how we wanted, both technology and methodology wise. We picked all the fun stuff, like WPF, WCF and nHibernate. We had no legacy code at all. The team was an experienced group of developers. Everything looked perfect. And it was the worst project I’ve ever been on. I’ve never been so angry, sad and frustrated in my professional life. Every morning was dreadful – I didn’t want to go to work and I counted the hours until the end of the day. Let’s call this project Beta.

I’ve been racking my brain, trying to come up with what the difference was. Clearly, the technical challenges are not what defines a project as enjoyable or not. So what it is then? What made Alpha a fun project, and Beta a nightmare?

The biggest difference, in my opinion was that in the Alpha project, the client had a very strong feeling that this project was a do-or-die thing. Everyone cared immensely how things were progressing. It’s not hard at all to have a sense of urgency when the client cares so much about what you do.

In the Beta project, our boss and project manager was only doing this project part time. For him, it was a long shot, outside of the “real” business we were engaged in (consulting). The client had a similar situation – they were high-paid consultants themselves, and saw this project as an interesting side-kick, not core business. They didn’t have time to really be involved in the project.

I get my kicks from fulfilling someone’s needs. I want to feel that I’m making a difference. Either by changing peoples way of working, and improving their quality of life, or by making a great product that someone really cares about. One of the key things a good product owner brings to the team is this feeling that what the team is doing matters. Share your enthusiasm freely with the team – it will make them better!

Something to say?