With the digital transformation comes greater customer responsiveness, whereby the software requires more frequent updates according to business needs. While traditional software development is based on the waterfall model, which tends to follow rigid, long-term plans with release cycles of several months or years, agile development principles embrace a culture of change and delivering value to customers in short release cycles of only a few days, ideally allowing for changes to be delivered up to several times per day. Here, agile methodologies offer a wide variety of benefits over the traditional waterfall approach.
They provide an increased level of transparency and awareness of the work that is ongoing and still pending, which strengthens effective collaboration among cross-functional teams. Given short iterations of work in well-prioritized iterations of usually only one to two weeks, defects can be removed quickly, eventually allowing features to be delivered in a more predictable, business- and value-oriented way. In particular, with agile methodologies, the definition of value is strongly driven and continuously evaluated by the direct feedback of real users early on in the development process. The short iterations between deliveries are enabled by fostering a high degree of automation and codified knowledge of the delivery process.
Overall, continuous delivery enables us to deliver software quickly with higher quality, increasing its value for customers while allowing for experimentation with less risk. Continuous delivery is the ability to get changes of all types - including new features, configuration changes, bug fixes, and experiments - into production, or into the hands of users, safely and quickly in a sustainable way. We will learn about continuous delivery in the next units.