The Twelve Principles of Agile

The twelve principles of agile development describes a culture in which change is welcome, and the customer is the focus of the work. They include:

1. Customer satisfaction through early and continuous software delivery

Customers are happier when they receive working software at regular intervals, rather than waiting extended periods of time between releases.

2. Accommodate changing requirements throughout the development process

The ability to avoid delays when a requirement or feature request changes.

3. Frequent delivery of working software

Scrum accommodates this principle since the team operates in software sprints or iterations that ensure regular delivery of working software.

4. Collaboration between the business stakeholders and developers throughout the project

Better decisions are made when the business and technical team are aligned.

5. Support, trust, and motivate the people involved

Motivated teams are more likely to deliver their best work than unhappy teams.

6. Enable face-to-face interactions 

Communication is more successful when development teams are co-located.

7. Working software is the primary measure of progress

Delivering functional software to the customer is the ultimate factor that measures progress.

8. 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.

9. Attention to technical detail and design enhances agility

The right skills and good design ensures the team can maintain the pace, constantly improve the product, and sustain change.

10. Simplicity 

Develop just enough to get the job done for right now.

11. Self-organizing teams encourage great architectures, requirements, and designs

Skilled and motivated team members who have decision-making power, take ownership, communicate regularly with other team members, and share ideas that deliver quality products.

12. Regular reflections on how to become more effective

Self-improvement, process improvement, advancing skills, and techniques help team members work more efficiently.

You might be interested in the following courses:

Course Category: Development Methodologies

  • The Scrum Crash Course

    by Ajay Kumar Konda

    Scrum is simple; it consists of six time boxes (one of which is optional), three roles, and three ‘official’ artifacts. A sprint, the first of the six time boxes, is an iteration defined by a fixed start and end date; it is kicked off by sprint planning and concluded by the sprint review and retrospective. The […]

  • The Scrum Master's Responsibilities

    by Ajay Kumar Konda

    A ScrumMaster must have a deep understanding of the Scrum framework. The job of a scrum master is to help the customer and the team to work very closely ensure expected deliveries. Scrum Master facilitates the team members to reflect upon ways that they can improve their day-to-day communication and processes. It is the responsibility […]

  • Understanding The Agile Methodology

    by Ajay Kumar Konda

    Agile Methodology refers to the software development methodology that is centered around the idea of iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams.  The various Agile Methodologies share much of the same philosophy, many of the same characteristics and practices. But from an implementation standpoint, each of these methodologies has […]

Back to: Understanding The Agile Methodology > Quick Bites