I’m sure you’ve heard that marketing statement “One Size Fits All!” before, and I’m also sure you’re fully aware that whilst the statement holds true in the majority of cases, it’s also true that it isn’t a great fit. Taylorism is okay for that which can be used in a specific manner. A car is a good example, as in 99% of cases it will be perfectly suited to the driver. 1% of those won’t be able to use the car for one reason or another, or it may be troublesome for them to use it.
In software this is also the case, however the percentile division is much greater because it’s not a case of getting from A to B but instead of dealing with unique problems. Many software systems nowadays fulfil the most common tasks very well, but anything beyond this has a number of effects.
So people sometimes say to me “Why not just use WordPress?” or “Why not just use CRM?” and then I highlight the above points. Recently I had a meeting with two companies who did the exact same thing, and the plan was to develop a single software system at a reduced cost because we’d essentially be building the same thing, but upon closer review of their processes it was shown that not only do they record data differently but the very process of recording data was different. Even the database schema itself wouldn’t be the same, and yet these companies offer the exact same services.
So what’s truly the problem? It’s neglecting the ever important details of software systems that determine its success or failure. It’s noticing that company A do things very differently from company B. We suffer from a tunnel vision, blinkers of “the one-size glove”. It’s a kind of wishful thinking that actually causes us to doubt our own skills when we’re in the midst of software development.
What’s the result of the problem? It’s bad practises. Very, very bad practises. Nowadays I read articles saying “it’s perfectly okay not to have any DB-level constraints!” (although this is a topic for another article entirely). I cringe at this, not because I suffer from acute pedantry, but because the statement shows how people are happy to forfeit good principles for an easier ride on the software train.
Fortunately I only ever really develop bespoke systems, but if there’s one thing I’ve learnt from working in the software industry is that this syndrome of the one-size glove is becoming ever more present as a result of the rise in popularity of software systems capable of achieving many tasks. It generates huge problems in that businesses are spending more money to get less than what they could’ve got had they developed a bespoke system, and even when they get what they want it doesn’t end up doing it very well.
Fordism/Taylorism has its place even in software, but only for very common tasks. If your problem scope differs even very slightly from someone else’s, then you’re probably looking at a different software system to achieve your goals. Unfortunately most people find out only until it’s too late.
blog comments powered by Disqus