Agile software development is an umbrella term for a set of frameworks and practices.
The specifics of Agile software development is based on the values and principles expressed in the Manifesto for Agile Software Development and the 12 Principles behind it, including:
- To satisfy the customer through early and continuous delivery of valuable software
- To welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale
- For business people and developers to work together daily throughout the project
- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly
Most Agile authorities believe that 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.
There’s a big focus in the Agile software development community on collaboration and the self-organizing team.
That doesn’t mean that there aren’t managers. It means that teams have the ability to figure out how they’re going to approach things on their own.
It means that those teams are cross-functional. Those teams don’t have to have specific roles involved so much as that when you get the team together, you make sure that you have all the right skill sets on the team.
Want to learn more? Tonex offers Introduction to Agile Programming and Software Development, a 2-day course where participants learn the basics of the Agile method and how to apply this methodology to programming and software development projects.
For more information, questions, comments, contact us.