So what is it about quality? We all want it, we all expect it in other products that we buy and yet a goodly number of us try to cut corners on delivering it given half a chance. That is how it seems from a couple of responses to last week’s Blog piece `Unbreakable’? Software? Harr! I made the silly mistake of suggesting that ` …
This will end in tears.
I used to work in the games industry as a programmer, way, way back in the late '80s and early '90s. I prided myself on my code back then, but noticed an increasing willingness by many to compromise on code quality as time passed and team sizes grew.
When I started, the very concept of downloadable patches didn't even exist -- the Internet was still some years away from the mainstream. Today, patches, bug-fixes and painfully shoddy code and QA procedures litter the industry. It's bad enough that there are so few original titles; you'd think they'd have worked out how to write a bug-free FPS after more than ten years of the bloody things.
The increase in development team sizes has, I think, a lot to do with this cultural change. Projects were led by programmers and ex-programmers who had been promoted into management roles. Which is weird since programmers are not exactly famous for their people skills. Today, many of these people are still at the top of the food chain and their repeated cock-ups make for depressingly familiar reading in the likes of Gamasutra's "Postmortem" columns.
The end product is no longer the point for many programmers: it's the puzzle-solving "How can I get this to work?" element that attracts many, with the result that, often, once the puzzle has been solved to their satisfaction, they lose interest in going that extra mile: making the code reliable and maintainable.
It doesn't help that so many programmers are borderline autistic either. I've worked for documentation teams and, believe me, some programmers' attitudes to giving out even the barest API reference info for their code beggars belief. You'd think they were being paid to write local code for local people -- and sod the proles who can't work out the function's purpose and usage from their often cryptic function names.
To me, programming was always an extension of writing and translation rather than mathematics. I cannot abide a poorly written or translated document, so I couldn't consciously bring myself to write shoddy code either.
By today's standards, that makes me a raving lunatic.
Great Mind's Think Alike ............
Jack Ganssle in his series "Build Better Firmware Faster" and got the same reaction as you did. Especially for Ada. But the Beancounters just can't even stand The writing the Spec. part.
I have three words for embedded C++ "Death by Pointers".
From the Republic of Texas!
Quick call Homeland Insecurity!