The Customer is Always Wrong
Jun 2021 - Alex Alejandre

How many times have you thought or heard: “What if there were a tool so powerful you could write your specifications in it, it would make them happen?” Well… That’s what a programming languageis! “No, no. I mean in human language, for real people!” Well, that’s COBOL!

Every vendor knows your customers can barely articulate what they want - and the clearest parts are invariably mutually exclusive. Just imagine them putting it in a coherent, rule-based structure (software), considering the solution holistically (authentication, security, maintenance etc.)

“But that’s what business analysts are for!” Indeed, clients and stakeholders need their hands held, because they overwhelm existing BI tools which should allow them to generate the statistical data they’re looking for themselves, instead yielding poorly worded disasters.

“AI!” Ok. The poor AIs will establish an MVP’s scope as departments pose a litany of what if questions at the weekly project meetings and creep. The AI tool will manage creatives' and management’s worse instincts where leadership has failed. Sounds good!

This is why we see less code from more senior programmers, with senior engineers starting to forget how. Coding’s the easy part. The talented and experienced must face true difficulties: requirements, design, planning.

This brought us Agile. If specifications are so hard to collect, let’s just make rewriting them a weekly habit! (Often, businessmen are too lazy to specify even when they know how.)

Here are some crumbs of wisdom:

  • The art of writing a perfect specification is called programming

  • The clearer, more detailed the specifications, the higher the success rate. Flow charts, diagrams and a finite list of requirements equal a job done. (See the specifications “manual”, formal documents and recomendation to finish architecting before hiring developers in the Mythical Man Month)

  • AI’s beginning to excel at art, but only because we don’t demand precision (though looking at the hands…) Pretty forests and cities hold endless variation, their visual complexity approaching beauty. Alas, business requirements require precision. Random variant solutions merely resembling vague input requirements won’t solve real world problems. You have to reflect through your problem, grey areas, snags, dilemmas, slowly re-re-reiterating through your solution space.