Better Software is Simpler Software
Software and its source code fundamentally underpin all developments
on the digital agenda. Yet we do not communicate often about software quality explicitly. We focus on application areas, such as e-commerce and easy-to-grasp external quality factors (like security). The danger is that we miss the opportunity for creating and sharing know-how about the quality of software that runs everywhere.
Software quality is a crucial factor of success of Europe's digital agenda. There is the opportunity now to do something about a lurking threat: overly complex systems.
The internal quality of software governs:
* how expensive it is to build and maintain
* how well it can be adapted to changing circumstances
=> i.o.w. how easy can it be understood and manipulated?
The external quality of software governs:
* how easy to learn the system is for its intended audience
* how well it can be applied in unforeseen circumstances
=> i.ow. how easy it can be understood and used by its audience?
Software projects fail because ... why? We often do not even know precisely. Ask anyone involved in failing software projects and they will sketch situations of Kafkaesque proportions. Software projects fail because we do not understand the software that is being build, and they fail because we do not understand how to use the software that has been build. Software is actually quite easy to make very complex, but that does not imply that it has to be complex!
My message is: better software is simpler software. A digital agenda for Europe should put simplicity of software systems as a primary goal.
While creating the next generation of overly complex software systems may instill awe and reverence, creating simpler software would enable understanding, which empowers us to reach our goals far better.