People vs. Process

26 Nov 2008
An consultant colleague that I had the pleasure of working with a couple of years ago gave a talk during a developer conference here in Malmö a week ago, and he called me a few days before that just to toss a couple of ideas related to that talk.

We had an interesting conversation (that I really feel needs to be extended into a lunch sometime soon) about the relation between software development processes, the project and the individuals. Simply put, I find that traditional software development processes has a very strong focus on the project itself, reducing the individual into a replaceable production unit. Kind of like factory robots where you can have any number of robots all of which are identical. They behave in and identical manner and will react in the exact same way given a certain input.

Well, people are not robots. We are all different and we react in different ways given the same input. I believe that this is one of the major reasons why more than half of all IT projects fail to deliver on time (article in Swedish), even though there are a good number of very well documented processes to follow to achieve that particular goal.

As a side note, in the article that is linked above it says "270 IT managers has answered questions on why IT projects fail. 54 percent claim that the delivery was not on time". It sounds as if they mean that the reason the projects fail is that they were not delivered in time. In my world a missed delivery date is not the failure, it's an effect of a failure in the project. I hope this is just an effect of the editing of the article as such though...

So, what's wrong with the processes? In theory, nothing much I suppose, in practice, the fact that the members of a team are not seen as individuals. In all projects that I have been involved in and that has failed in some way, the core problem has always been communication between people. Regardless of the development process in use, at the end of the day it all comes down to communication between people.

So I think that many companies would have a lot to gain in building efficient development teams that can be used for various development projects where the team itself gets to work out the process that works well for them, instead of having a new team form for each project, using a process that is cast upon them from management. Make sure that the development teams work well together, that they have a culture of knowledge sharing, learning and delivering.

A process can never protect the project from incompetent team members. If companies put greater effort into attracting and recruiting competent persons, they would not need to spend as much effort in trying to control them.
Bookmark and Share

Comments

Add comment


(Will show your Gravatar icon)

  Country flag

biuquote
  • Comment
  • Preview
Loading