The agile methods have the following important principles in place that help in guiding users in whatever agile method they might apply to approach software design and implementation of systems, as well as a wide range of other projects.
- Customer satisfaction through early and continuous software delivery is prioritized – Customers are happier when they receive working software at regular intervals, rather than waiting extended periods of time between releases.
- Accommodate changing requirements throughout the development process – The ability to avoid delays when a requirement or feature request changes.
- Frequent delivery of working software – Scrum is an example of agile method that accommodates this principle since the team operates in software sprints or iterations that ensure regular delivery of working software.
- Collaboration between the business stakeholders and developers throughout the project – Better decisions are made when the business and technical team are aligned.
- Support, trust, and motivate the people involved
- Enable face-to-face interactions – Communication is more successful when development teams are co-located.
- Working software is prioritized – Delivering functional software to the customer is the ultimate factor that measures progress.
- Agile processes to support a consistent development pace – Teams establish a repeatable and maintainable speed at which they can deliver working software, and they repeat it with each release.