Agile Development is an innovative approach to managing information technology (IT) development teams and projects. This broad term generally refers to incremental software development methodologies (such as Scrum, XP, and Crystal) which integrate continuous feedback to facilitate progressive improvement. While these software methodologies are all distinctive in their own rights, they also share an inherent adaptability. Their flexibility allows for the project and software to constantly evolve through continuous planning, continuous testing, and continuous integration. This very process results in generating cultural changes in the workforce that have actually been driven by technology.
As these types of software continued to create new paradigms in the software industry, there arose a need to more formally define this innovative approach. In 2001, the Agile Manifesto was created to establish the commonalities of “agile” software. The Manifesto emphasizes the value of individuals and interactions, working software, customer collaboration, and response to change. In fact, the agile approach and the ensuing changes involve not just the software developers, but also the managers and clients of the project.
Based upon the formulation of the Manifesto, it became evident that Agile Development is actually more of a philosophy with a set of specific variables and principles. In essence, the Manifesto embraces the need for a more collaborative approach to managing projects and promoted sustainable development. Moreover, it underscores that simplicity (“the art of maximizing the amount of work not done”) is fundamental. Since then, several methodologies to include Dynamic Systems Development Method (DSDM), Lean Development, and Feature-Driven Development (FDD) have also come to be collectively recognized as agile because they also uphold the values and principles set out by the Manifesto.