You are on page 1of 3

Unpacking the Agile principles

The Twelve Principles are the guiding principles for the methodologies that are included under
the title “The Agile Movement.” This helps to make clear what it is to be Agile Software
Development:

1. Customer
satisfaction
through early and 2. Welcome
12. Team regularly continuous changing
reflect and adjust software delivery requirements, even
behaviour late in
development
11.The best
architectures,
3. Frequent
requirements, and
delivery of working
designs emerge
software
from self-
organizing teams

10. Simplicity is
essential
Agile 1.4. Close, daily
cooperation
between business

principles people and


developers

9. Continuous
attention to 5. Build projects
technical around motivated
excellence and individuals, who
good design should be trusted
enhances agility
6. Face-to-face
8. Agile processes
interactions are the
promote
most efficient &
sustainable 7. Working effective modes of
development software is the communication
primary measure of
progress

1. Customer satisfaction through early and continuous software delivery

Highest priority is to satisfy the customer and that is accomplished through early and continuous
delivery of valuable software. Agile is not gauging the project progress by checking the tasks and
timeline, but by the success of the software is the subject of your project.

2. Welcome changing requirements, even late in development.

A reality of most software development is that requirements change often. Traditional software
development often takes a change management approach and sometimes it leads to a lot of effort is
to include the changes in the software. Agile development welcomes change and treats it equally by
putting changes into the product backlog. Then the new change is prioritized among the other user
stories.
3. Deliver working software frequently.

Traditional software development methodologies allow the customer to review the product at the
end of the development cycle. This permits the customer feedback only after developing the
software. Agile allows customer to verify the progress of the product in regular intervals called sprint.
Sprints for Agile development are usually a couple of weeks to a couple of months, with a preference
to the shorter timescale. These short iterations of delivery and feedback help ensure that what is
being developed is truly what the stakeholders want. Continuous delivery let customer know the
progress and through delivery of values to the customers by fulfilling the top priority requirements
first.

4. Business people and developers working together daily

Agile process ensures the active participation of stakeholder in all the stages of development. This
makes close collaboration particularly important to clarify requirements just-in-time and to keep all
team members ‘on the same page’ throughout the development. If the Scrum team can’t see what
each team member is doing, it creates the impression that we are doing lots of nothing! Making the
work visible raises expectation and opinions on each team member. A lot of people tend to
avoid visibility as they know that this will create the accountability. Agile ensures the responsibility
with in the scrum team.

5. Build projects around motivated individuals.

Offer the team the environment and support they need and trust them to get the job done.
Motivated teams are more likely to deliver their best work than unhappy teams. One of the ways to
do this is to empower the development team to be self-organized and take their own decisions.

6. Face-to-face interactions are the most efficient & effective modes of communication

The most efficient and effective method of conveying information to and within a development team
is face-to-face conversation and it will be most successful when the team is co-located. Face-to-face
discussion shortens the time between a question and its answer, and helps avoid miscommunication.
Team needs to Encourage informal, face-to-face communication at all levels

7. Working software is the primary measure of progress.

There is no better way to measure development progress than by showing working, quality software
that provides value to the customer. Producing status reports, Gantt charts, flow diagrams, and other
artefacts are all secondary (and in some cases irrelevant) compared to producing working software
that we show to our stakeholders

8. Agile processes promote sustainable development.

The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Teams
establish a repeatable and maintainable speed at which they can deliver working software, and they
repeat it with each release. Better understanding of ourselves and our teams, and continual
improvements tend to help the team to increase our sprint-to-sprint velocity over time to a point

9. Continuous attention to technical excellence and good design enhances agility.


The right skills and good design ensures the team can maintain the pace, constantly improve the
product, and sustain change. Technical excellence is the responsibility of the entire team. Cultivate in
yourself an attitude of life-long learning to acquire new knowledge and improve your skills, then
apply that knowledge to your design and code delivery.

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

Develop what is just required . We avoid doing things that don't matter, and we either simplify
or automate effort wherever we can. We determine what really needs to get done, and we
remove non-value-adding activities

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

An Agile team’s job is to continually self-organize around the challenges, and within the
boundaries and constraints put in place by management. 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. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts
its behaviour accordingly.

Self-improvement, process improvement, advancing skills, and techniques help team members
work more efficiently. Even the best performing team will find a way to improve. Conduct a
Retrospective after every sprint, and then actually implement the valuable changes that come
out of it. Agile is all about continual improvement, and with regular Retrospectives,
improvement is never very far away.

You might also like