Mark Needham

Thoughts on Software Development

If they were that rubbish…

with 2 comments

Jay Fields certainly seemed to make some waves in the blogosphere with his recent post about 50% of the people in business software development needing to find a new profession.

As a consultant I often go onto projects where a significant amount of difficult to understand and often untested code is in place. At times it feels like the people who have written it really don’t care about the quality of their work which can be very disheartening.

There is, however, nearly always a reason that this has happened. The most frequent being that the team was under severe time pressure where getting the code into production was the be all and end all. I don’t prescribe to this approach myself but if speed of delivery is the overriding priority then things which lead to quality such as Test Driven Development, OO design and Refactoring go straight out the window.

I worked on a team where we were actually explicitly told that we should stop testing our code because it would help to increase the velocity that we were achieving. The idea was that we could finish the development phase earlier and then the increased bug count would be taken care of in the UAT phase. A radically different approach than I’ve become used to over the last couple of years.

I only had to work like this for a few weeks and I found it very difficult. The quality of our work is one of the things that keeps developers motivated, so taking this away proved to be somewhat demoralising.

Although this approach leads to big problems when trying to add new features after the initial release, it does meet a business need otherwise these people wouldn’t have a job.

At the end of the day the people with the gold make the rules so who am I to disagree.

Written by Mark Needham

August 8th, 2008 at 7:15 pm

Posted in Coding

Tagged with , , ,

  • http://www.thoughtworks.com Chris

    Your absolutely right. Sometimes it makes perfect sense to make a tactical decision to trade-off quality (and quality checks, like tests) in order to meet a business objective.

    The problem is that a large percentage of business decision makers (and, often, developers) do not realise the longer term ramifications of these tactical decisions and hence make them too hastily and are surprised by the eventual outcome.

    It’s up to people who do know to give the people with the gold all the information and ensure they are well informed of possible consequences, enabling them to make effective decisions. And if the fully-informed decision is to still take the tactical route, then who are we to disagree?

  • David

    The managers making these decisions usually realize that by the time those longer term ramifications come around they’ve already transferred to a different department. Also, it’s not their gold they’re playing with. They’re more interested in accomplishing goals, not true ROI.