Monday, June 04, 2007

Quality to go faster

Over the weekend, I was watching a report on the Renault Formula One racing factory and something really struck me. From all of the images and video I've seen of Formula One factories and of the garages at races, they are all very clean and very organized. In addition, these people are trying to out perform one another in terms of innovations and technology. Lots of money is at stake. Quality is very important from a competitive point of view and from a safety point of view. With all of the pressure on them to be fast and accurate, they manage to keep their workplace nice and tidy. What struck was the level of quality that was required to allow these teams to develop high quality work in an extremely competitive environment.

I believe that the more quality that is achieved with a codebase, the more quickly the needs of the business can be achieved with that codebase. I'm not talking about the exterior quality that the users see in the product/service and I'm not saying that the external quality isn't something that is important. I'm talking about the internal quality, the quality of how the code is used to produce the externally seen features.

As a business, why should you care about internal quality.
  1. Maintainability - a codebase of high quality will be easy to read, easy to understand and easy to maintain. Additionally, by definition, the codebase should be low on defects. Add this all up and you should find that less resources are needed for maintenance and support.
  2. Flexibility - a codebase of high quality will be a codebase of many simple solutions combined in simple and elegant ways. This leads to loosely coupled code which is independent of its surrounds. This, in turn, leads to a codebase that is easily modified, requiring less time and resources to add features that will return value.
  3. Retention of Developers - a codebase that is easy to maintain and add features to will allow developers to focus on higher order rather than mundane tasks. Developers prefer challenges to routine (that's what the computer if for, after all). Happy developers will be far less likely to leave leading to less staff turn over.
Unlike Formula One, the pits and the factories aren't as easy to take our sponsors through and demonstrate to them how their money is being spent. I strongly believe that if we could map our codebases to pit areas than a large majority of businesses would be shocked and would demand that action be taken. (Ideally, I believe this is what they should do. What I believe they would do is something completely different...) In the end, I believe that quality is something worth doing from both a business and a technical point of view and that there are great gains to be made in a business by spending the time to constantly improve its quality. The first step is recognizing that is important.

1 Comments:

At 04 June, 2007 21:41, Blogger Michael Neale said...

Whilst the "pits and factories" of software aren't as tangible, the few really good BAs I have known (and they have been a few) often do take an interest in the technology. They are happy to be "shown around" the more accessible bits of the code, to get an appreciation, and spend time with the team. Everyone wins - its great when people with completely different but valuable skills can respect each other (sometimes they even start liking the technology !, start reading blogs etc).

 

Post a Comment

Links to this post:

Create a Link

<< Home