Agile Development in the Cloud

The most modern approach to application development is focused on rapid and continuous delivery. Previous “legacy” practices, following traditional ideas such as releasing applications once or twice a year, are now out of vogue. It is not just a trend but an expectation in some organizations that end-users will receive [even if they don’t want], frequent updates and new software releases, as often as quarterly or monthly.

Many commercial software manufacturers are already using software release cycles measured in weeks if not days, launching not just bug fixes but true new features regularly rather than saving up these enhancements for a big “annual product launch.”  Amazon.com has release periods of less than a day.

The automation and cloud management systems used by the public cloud providers such as AWS, can also be used in a private or enterprise cloud to facilitate rapid application development, testing, and continuous pushing to production as quickly as you and your organization can muster. The figure below compares notional application delivery cycles for a traditional application to a cloud-based continuous delivery application (future state).

application delivery cycle—traditional and with continuous delivery

This image presents a non-traditional application development in a cloud-based development. Technically, this new pace and style of application development is not specific to the cloud; however, the cloud does provide unique capabilities such as elasticity, software-defined networking, on-demand Development/Testing as a Service (Dev/Test), shared application lifecycle platforms and tools, and an enormous worldwide hybrid infrastructure.