Enterprise Application Development | Evolution Vs Revolution
It pays to think of Enterprise Application Development in two ways.
Evolution is the exploration, creation, delivery and feedback loop. Software is created, web pages, media and even test harnesses.
The evolution cycle is driven by the needs of the enterprise and the needs of the application’s users, maintainers and developers. It is also driven by the revolution aspect.
Bugs and shortfalls in the functional aspects of the system are discovered, prioritised and queued along with the change requests and new functionality requests.
Non-functional aspects can fall short of the mark. These are called internal (as opposed to external) quality factors. They include the ability for timely development that keeps change risk at an acceptable level. Also the application’s performance, responsiveness, security, resource usage and degradation are factored into the application’s evolutionary path.
Revolution is the runtime. The application is put through its paces by its users – be they people or other systems.
The revolution cycle and its quality depends on the evolutionary aspects and their quality.
Thus revolution is driven by evolution and evolution is driven by evolution. The 2 are two sides of the same coin.
The application’s evolution, it’s deployment and delivery cycle and subsequent evolution must have rhythm. It’s like a heartbeat – everyone involved comes to expect when the heart will pump out functionality and receive the waste products and feedback.
Sometimes the heart must beat faster – sometimes it must slow down. But what must remain as constant – is the beating.