The reality of software development is that software is never perfect. This is especially true for large and complex software programs. With enough care during development and sufficient testing, you can make an application good enough to meet customers’ expectations and/or meet specifications. And for most business cases, that should be good enough.
However to make an application extremely reliable or very responsive it is necessary to continue updating and improving an application after it has passed testing and/or been released to customers.
The reality is that software people (analysts, architects, designers, developers etc) will not produce an ideal software application at the first attempt. A large application (or suite) is invariably complex. Techniques exist to assist with the complexity however many judgement calls need to be made during the development process. A skilled development team will be able develop a satisfactory application even if some of these judgements are not optimal. That is, the application will meet specifications and customer expectations.
With continuous improvement, application development does not stop with this satisfactory release. The development program is ongoing. Subsequent releases are developed which not only fix bugs, but address suboptimal programming or design in the application. Major releases will also include new features.
At Motif Markets we incorporate continuous development into software development processes. We encourage our developers to re-work and refactor code which needs improvement. Our product roadmaps factor code improvements into new releases. We aim to minimise technical debt when possible.
The net effect is software applications which are more reliable, have better performance with increased user satisfaction.