[go: up one dir, main page]

DEV Community

Cover image for What are the 12 Agile Principles?
Helitha Rupasinghe
Helitha Rupasinghe

Posted on

What are the 12 Agile Principles?

Agile is made up of 12 guiding principles that serve as the foundation for project teams.

These principles help guide project teams to complete their projects with agility.

In this post, we'll go through all of these principles and provide a quick explanation for each one.

Early and continous delivery of valuable software

Our highest priority is to satisfy the customer through early and continous delivery of valuable software.

It is important to regularly provide customers with working software as soon as possible instead of making them wait a lengthy period.

Embrace change

Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

This indicates that even if your project is in an advanced/late stage of development, you should not be scared to make adjustments. As long as the change benefits the customer, you should try to implement it.

Frequent Delivery

Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

Agile works in sprints to quickly develop and deliver software that actually works instead of getting bogged down in documentation.

Cooperation

Business prople and developers must work together daily throughout the project.

This means that having business and technical teams collaborate has a lot of benefits since you end up with a better product that meets both business and technical objectives.

Autonomy and Motivation

Build projects around motivated individuals. Give them the environment and support they need and trust them to get the job done.

In agile, teams are self-reliant, and they do the work by themselves. There is no need for micromanagement.

Instead, it is important to motivate and support teams by providing them the tools they require to complete their tasks.

Better Communication

The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

Face to face communication is the most successful form of communication and is strongly recommended for agile projects.

Also, it is important for agile teams to be collocated as it helps them develop a better understanding between themselves and increases their productivity as a team.

Working Software

Working software is the primary measure of progress.

The most important goal and major KPI (Key Performance Indicator) is to deliver working software. If your software/product does not work at the end of the day, you have not met your goal.

Stable work environments

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

Teams can work on projects for an extended period of time. They should work at a moderate pace that allows them to deliver quality work without being burned out.

The lesson is that you shouldn't take on more work than you are capable of accomplishing, nor should you take on less work when you have the potential to do more; it must be just right.

Quality Assurance

Continous attention to technical excellence and good design ehances agility.

Teams should constantly improve the quality of the product as it can eventually help them save time in the long run. There should be a focus on doing good work properly so that you don't have to spend a lot of time redoing the work or making corrections later.

Simplicity

Simplicity is essential - the art of maximizing the amount of work not done.

Avoid doing unimportant tasks. Don't waste time on unimportant chores. Only work on things that are important and add the most value.

Self-organizing Teams

The best architectures, requirements, and designs emerge from self-organizing teams.

In Agile, teams are empowered to set their own goals while working and to come up with their own unique solutions to issues.

Reflection and Adjustment

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly.

The teams should regularly inspect and check their work to see if it is going in the right direction.

Top comments (1)

Collapse
 
kortizti12 profile image
Kevin

This is a great post! To add something to the 6th principle, this of course relates to face-to-face communication, but many companies have had to translate this into the remote workplace.

This means using video calls whenever possible: you can hear intonation, read expressions, and understand whatโ€™s being communicated - both verbally and non-verbally.

Communicating clearly is important to Agile and non-Agile teams alike, but given Agileโ€™s frequent engagements this principle warrants special consideration.

If youโ€™re a newly remote team or are looking to implement Agile principles into your remote environment, I would like to share this article from my colleague Ryan Medeiros, an Agile Practitioner: scalablepath.com/project-managemen...