August 2, 2008

...Learn TDD with Codemanship

Software Developers Make Bad Customers

It's demonstrably true that software developers - and ex-developers - make the worst customers on software projects.

I think we just find it too difficult to stand back from the details of the solution and focus on communicating the business problem.

The danger for projects is that developers are run ragged addressing trivial technical concerns - like naming conventions or the use of design patterns - while the big fish slip past our nets unnoticed.

Much of the thinking around software design is hearsay and opinion. Should member variables start with m_, or should camelCase be the way to go instead? I think that m_ is redundant, personally, and clutters up your code. But if it's going to take several hours to change hundreds of m_ variable names into camelCase equivalents, i might wisely choose to spend that money on something more important.

Even I - the world's greatest software developer - can be prone to a bit of back seat driving and losing sight of the bigger picture when some interesting technical detail catches my eye. I just can't help myself.

Neither, I suspect, can you. So let's remove ourselves from temptation and leave the business decisions to the business folk, most of whom simpy couln't care less what naming conventions we apply.

(Okay, so lack of customer concern for design quality can lead to even bigger problems, but we can't solve that by becoming the customer ourselves.)

Posted 12 years, 10 months ago on August 2, 2008