The celebration of the tenth anniversary of the Agile Manifesto three years ago brought to light a curious aspect: The methodologies of Agile are so mainstream that they are largely taken for granted. Only organizations that are firmly committed to other paths do not default to the modern practices of Agility -- the embrace of change; the coding in short sprints; the frequent, automated testing; and short feedback loops, both from the process itself and from the customer.
The success of Agile in advancing software development so much in such a short period of time is nothing short of spectacular. Agile techniques now seem so natural and intuitively obvious that many developers cannot recall how software could have been developed other than via Agile approaches. So marches progress.
However, it's becoming clear that Agile alone is no longer sufficient to keep up with the demands of the present day. This deficiency is due in part to the fact that it was formulated to address older needs, especially the inability of projects to adapt to changing customer requirements.
Today, however, software complexity and the need for constant updates are making it difficult for leading edge organizations to keep up without moving beyond Agile and embracing continuous delivery (CD). Unlike its immediate forebear, continuous integration, the two words "continuous delivery" mean exactly what they appear to mean: a process -- or more accurately a project pipeline -- that constantly generates a deployable, tested product, even if feature-incomplete.
Read the rest of this article on Dr. Dobb's.