Anyone in the business knows this, and deals with it every day. The whole industry is devoted to overcoming this problem.
Anyone not in the business has no idea of what is going on there – they seem to think software lives in a pure world of its own – and is not connected with the people who make it. They pay no attention to what is happening in software development – a force that is reshaping their lives entirely. For them, the less the know about it the better.
At one time, this strategy of knowing nothing was the right way to be – back in the Middle Ages. But we are no longer there – and we have to deal with today’s problems. Which seem huge – even insurmountable.
This is where we are – with a huge problem, we do not know how to solve. By saying this, however, we have made the first step in solving the problem – defining the problem itself.
We have to guard against those who deny the problem exists – or have simple solutions that cannot work. We have to say this is a BIG problem – and we are determined to solve it.
Let me use an example – Twitter. Whose development has been well documented in Hatching Twitter: A True Story of Money, Power, Friendship, and Betrayal – a story of software insanity. The writer does not describe how they were developing their software – he is only writing about software people – not about software development – about which he knows nothing.
I do know something about software development, and I can see how they went wrong – right off the bat. They should have decided to use Java to write their software. This was such an obvious choice it hardly needs saying – but they did not make it. They should have decided what their product was going to be – and how they going to make it, step by step. Before they started coding it.
They should have planned what they were going to do – before they did it. If they changed their minds, once they started working on it – no problem, they could just start over – using what they had learned from their first attempt. The emphasis should have been on quality software – not on instant solutions.