Agile software development is more than frameworks such as Scrum, Extreme Programming, or Feature-Driven Development (FDD).
Agile software development also goes beyond practices such as pair programming, test-driven development, stand-ups, planning sessions, and sprints.
Today, Agile software development has become an umbrella term for a set of frameworks and practices based on the values and principles expressed in the Manifesto for Agile Software Development and the 12 Principles behind it. When you approach software development in a particular manner, it’s generally good to live by these values and principles and use them to help figure out the right things to do given your particular context.
One thing that separates Agile from other approaches to software development is the focus on the people doing the work and how they work together. Solutions evolve through collaboration between self-organizing cross-functional teams utilizing the appropriate practices for their context.
Some would argue that Agile software development is also a mindset seeded by the Agile Manifesto’s values and principles. Those values and principles provide guidance on how to create and respond to change and how to deal with uncertainty.
The first sentence of the Agile Manifesto encapsulates the whole idea: “We are uncovering better ways of developing software by doing it and helping others do it.”
In other words, when you face uncertainty, try something you think might work, get feedback, and adjust accordingly.
Agile focuses effort and resources on people building things that are delivered quickly to solve the highest priority problems in a rapid, test-and-learn fashion that quickly provides feedback.
Consequently, Agile is known for adding value and accelerates innovation. Project management elements like documentation, process, and structure are still important with Agile, but the No. 1 priority is value delivery.
Want to learn more? Tonex offers Agile Software Development Training, a 4-day course that covers the shift in the way organizations think. It covers the impacts at all stages of the software development lifecycle (SDLC). The training covers the effect on all the stakeholders within that lifecycle, from business analysts to developers to testers.
This course emphasizes the rapid realization of system value through disciplined, iterative and incremental software development techniques, and elimination of wasteful practices.
Attendees will learn the full spectrum of Agile Methods, including Scrum, Extreme Programming, Lean, Crystal Methods, Dynamic Systems Development Method, and Feature-driven Development.
For more information, questions, comments, contact us.