WebLog!
Doing Windows, Filling Pockets And Reading Palms, Making Software That Works!
For Health, Home And Office

775.346.8185  •  skype: FutureWareSCG

Software Code Development And The Sausage Factory

You don’t need to be a coding expert to get a good feel for code quality. All you need to do is look at the code you paid for, keeping in mind Bismarck’s comment about sausages.

In my salad days, I had a VW Superbeetle, maintaining it myself with the help of a book titled The Zen Of VW Repair, no longer in print. From oil changes to setting the plugs, I kept the VW running until I no longer needed it. I did keep it, initially as a second and then a third car, and then relegating it to storage from which I’d drive it occasionally just for fun. I had it completely refurbished long after I no longer had to rely on it for transportation, basic, fun or otherwise.

I no longer do car maintenance, haven’t for some time, and would probably have trouble popping the hood of our current ones. Cars have become far too complicated to do much beyond keeping the gas tank full and taking it to the dealer every 3K miles or so. Salads are electives now, not required.

We still buy new cars every now and then, and although I don’t really know much about their innards, I do look at the engine compartment when shopping, for a simple reason. The organization suggests a lot about the care and quality of the rest of the car, from the engineering to the manufacturing and, not least, maintenance. The inference is very direct: It the engine compartment looks well laid out, clean, easy to get to the various filler caps and such, then the rest of the car, the parts I can’t see, are probably similarly well laid out.

Coding is much like writing a book in that there’s no single right way, but there are a lot of wrong ways. Software, particularly the coding, is very much like a car’s engine compartment. You don’t need to know a thing about the language, implementation constructs, patterns, or any of the other codecraft arcana. If the code looks well laid out and organized, readable, with meaningful and understandable comments, then there’s a good chance that it has been thought out and carefully done, suggesting reliability and easy of maintenance. Not a 100% guarantee, but a good hedge. 

Ease of maintenance is, ultimately, what we’re looking for. Software ownership and maintenance costs easily exceed the initial development or procurement over the life of the product, particularly for customized line of business applications. The person who did the initial development and coding will have moved on to bigger and better things, with those left behind having to assume the burden of figuring it all out, which boils down quickly to increased maintenance costs and decreased reliability.

Occasionally FutureWare brings in some software developers for specific projects, either our own when we’re busy, or on behalf of a client who contracted with us to do some work. Part of that process is to ask to look at the first three pages of any module that the prospective developer crafted. We don’t keep it, just look at it. Not a hard and fast determining factor, but it does have some illuminating influence. Neat and tidy does it, but it can be a messy process getting there, through the storyboarding, coding, testing and QA. Similar to how sausages are made.

A Word From Our Sponser

Never Lose Track Of Digital Assets Again! One of FutureWare's productivity tools Media Asset Tracker A powerful design productivity tool that works for you!

Tags: , , , , ,

Leave a Reply