Building software is both an art and a science, as many people have said. One might argue that when building business applications it is better to leave the art behind, and focus on the science. Business software needs to be reliable, scalable, and built on time and budget, after all. And it is true that when the conditions are right, achieving these goals is a science.
Those conditions are:
- The requirements are clear and correct.
- The underlying technology (libraries, application stack, etc) is familiar.
- The existing systems and infrastructure are well understood.
- There is good testing.
When those four conditions are present, it is actually quite easy to build software well – there is a science to it.
The trouble with saying that business software should just be science is that getting to these conditions is not easy – if fact it’s downright hard. That is where the art of building business software comes in.
And that art will be he subject of the next few posts.