DEV Community

Cover image for What is Agile?
bonds
bonds

Posted on

What is Agile?



                                                                                             (January 2023)

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 1950s

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. Workflow was one directional like a “waterfall”. However, it failed to meet the needs of the rapidly changing software industry. It was not flexible. It’s 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 for Agile Software Development

The manifesto defined four (4) core values for Agile software development. The values are:
-Focus on individuals and interactions rather than processes and tools
-Focus on delivering working software rather than comprehensive documentation
-Focus on customer collaboration rather than contract negotiation
-Focus on responding to change rather than following a plan

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 describe 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:

Cisco
Lego
Barclays
PlaStation Network
Royal Philips
Panera Bread
Fitbit
Ericsson

Agile Frameworks

Adaptive software development (ASD)
Agile modeling
Agile unified process (AUP)
Disciplined agile delivery
Dynamic systems development method (DSDM)
Extreme programming (XP)
Feature-driven development (FDD)
Kanban
Lean software development
Lean startup
Rapid application development (RAD)
Scaled agile framework - SAFe
Scrum
Scrumban

Conclusion

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.

For more on the 12 principles of agile as well as the history behind the making of the Agile Manifesto for Software Development, visit the Official Agile Manifesto Website



For more tech content, please browse the JustTechMeAt website and YouTube Channel.

Sources:
16 Agile Statistics [2022]: What You Need to Know About Agile Project Management – Zippia. 14 Sept. 2022, www.zippia.com/advice/agile-statistics.

Christopher. “10 Companies Killing It at Scaling Agile.” TechBeacon, 15 Oct. 2020, techbeacon.com/app-dev-testing/10-companies-killing-it-scaling-agile.

Wikipedia contributors. “Agile Software Development.” Wikipedia, 26 Sept. 2022, en.wikipedia.org/wiki/Agile_software_development.




(originally posted to the website)

                          

~Invitation~
I invite you to join me on my blog and YouTube Channel where I post tech content covering various topics.


~Relevant Blog and Channel Topics~
Computer Science
Software Engineering
Data Engineering
Artificial Intelligence
Machine Learning
Cognitive Computing
Blockchain
NFT
Virtual Reality
Augmented Reality
Leetcode
Computer Networking
FAANG
Tech Hubs
Agile
Hacker Rank
Data Structures
Algorithms
Time Complexity
Big Data
Python
Java
R Programming

Top comments (0)