Let’s Just Build A Generic System!

Common technical conversation: “Well, why don’t we just make a generic system, and then we’ll tweak it to work with every specific implementation as we roll it out?”

There follows a long conversation from any good project manager that runs roughly like this:

a) In order to avoid having to completely rework much of the innards of a “generic” system, you need to know all the ways in which the specific systems could be exceptional.

b) In almost every case, if you knew the data in (a), there would be no reason to build a “generic” system, because you could simply start building the specific systems.

c) No, customer, your case is not an exception to (b).

d) OK, happy to do it your way. Please sign this spec, and pay attention to the bit that states that change requests void deadline commitments and will be charged extra at a higher than standard rate.

Most “simple projects,” at least in the tech world, tend to be complex projects that have not been subject to sufficient scrutiny to have their complexities identified.

Emphasis mine. Via Will Obamacare’s Exchanges Be Ready on Time? – The Daily Beast.

Are you stuck with a legacy PHP application? You should buy my book because it gives you a step-by-step guide to improving your codebase, all while keeping it running the whole time.

13 thoughts on “Let’s Just Build A Generic System!

  1. Nice idea with the charged extra :-). It’s true that there is no such thing as a generic system that can solve everything (i don’t count C or other programming languages as a system).

    Problem here is that even if you create really complex system that allows your client to do everything he needs it will be too complex for him to use and he will not be able to use it.

Leave a Reply

Your email address will not be published. Required fields are marked *