Agile Methodology is the underlying ideology for how software delivery should take place. It does not, however, define the actual procedures needed to carry out this ideology. Those are addressed in frameworks like Scrum, XP, FDD, and Kanban (which provide “operating procedures” for software development).
The Waterfall Model, a prior and conventional software development model whose beginnings date back to 1956, also outlined how software development should be done. The model entailed the development of software in linear sequential phases. Each phase was dependent upon the deliverables of the previous phase. The workflow was one-directional like a “waterfall”.
However, it failed to meet the needs of the rapidly changing software industry. It was not flexible. Its linear/non-iterative design created complications. There were other models developed during the same period that proposed “Iterative and incremental” software development methods.
However, it wasn’t until 2001, when the Manifesto for Agile Software Development was published did the idea of iterative and incremental software development take off. The manifesto was a collaborative effort of seventeen software developers.
These seventeen engineers believed that the process of software development needed to keep in step with the fast-paced software industry. Agile meets those needs through a process of iterative and incremental development. Agile picked up where Waterfall fell short.
The manifesto defined four (4) core values for Agile software development. The values are:
As previously stated, Agile is a methodology or “ideology” and must be differentiated from its associated “frameworks”. Out of the Agile Methodology came many frameworks each of which describes in detail how agility is to be achieved. According to Zippia, an expert in the career development space, at least 71% of U.S. companies are now operating under an Agile framework.
TechBeacon cites the following companies as utilizing Agile Methodologies:
Agile is an umbrella term that describes the most current thinking on how to do software development. It has become a critical part of IT in the United States. Agile methods enable organizations to release software more frequently and deliver innovative products faster. By implementing its advanced techniques engineers are better able to meet the demands of the rapidly moving world of software engineering.
Also published here.