+91-7710033016 / +91-8291749529 support@effectivepmc.com

In February 2001, following 17 software developers met at the Snowbird, Utah resort, to discuss lightweight development methods. Agile Manifesto-

Kent BeckMike Beedle

Arie van Bennekum

Alistair Cockburn

Ward Cunningham

Martin Fowler

James GrenningJim Highsmith

Andrew Hunt

Ron Jeffries

Jon Kern

Brian Marick

Robert C. MartinSteve Mellor

Ken Schwaber

Jeff Sutherland

Dave Thomas

They were representatives from Extreme Programming, SCRUM, DSDM, Adaptive Software Development, Crystal, Feature-Driven Development, Pragmatic Programming, and others, sympathetic to the need for an alternative to documentation driven, heavyweight software development processes.

They published the Manifesto for Agile Software Development to define the approach now known as agile software development. Some of the agile manifesto’s authors formed the Agile Alliance, a non-profit organization that promotes software development according to the agile manifesto’s values and principles.

Agile values

The Agile Manifesto reads, as follows:

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

Individuals and interactions over Processes and tools

Working software over Comprehensive documentation

Customer collaboration over Contract negotiation

Responding to change over Following a plan

That is, while there is value in the items on the right, we value the items on the left more.

Let us understand the values

  1. Individuals and interactions over Processes and tools

The message here is that while processes and tools will be necessary on our projects, it is more important to focus on individuals and interactions involved. The projects are a result of effort by people. The problems get resolved by people. The ideas to solve problems come from people. Also the projects are defined by people, scope decided by people and finally accepted also by people. Focusing early on developing the individuals involved in the project and emphasizing productive and effective interactions help set up a project for success.

  1. Working software over Comprehensive documentation

The message here is that, software without any documentation is certainly problematic, but comprehensive documentation without software is also valueless. The message is to document but documentation should be such that it is barely essential for others to understand whats there in the software.

  1. Customer collaboration over Contract negotiation

The message here is that one must be flexible and accommodating rather than being uncooperative with the customer. We could build the product as originally specified but it may become worthless if customer recognizes that there needs to be a change to make it more effective. Rather than beat up the customer with a change management process that is really more of a change suppression process, we have to assume right at the start that things will change.

  1. Responding to change over Following a plan

Initial plan should always be a starting point and the plan should progressively elaborate as time goes. More energy should be spent on responding to the inevitable changes on the project. However, this does not mean that one must throw the plans out of the window and be ad-hoc. We still need to plan. Just that there should be an assumption that plan will change and one must respond to Change positively.

Agile Principles

In addition to the four Agile Manifesto values, the authors of the Manifesto created twelve guiding principles. Following are the 12 principles

  1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable product.
  2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
  3. Deliver working product frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  4. Business people and developers must work together daily throughout the project.
  5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  7. Working product is the primary measure of progress.
  8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  9. Continuous attention to technical excellence and good design enhances agility.
  10. Simplicity–the art of maximizing the amount of work NOT done–is essential.
  11. The best architectures, requirements, and designs emerge from self-organizing teams.
  12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
  13. Customer satisfaction by rapid delivery of useful software

Let us deep dive into the meaning of the principles

Principle#1 – Our highest priority is to satisfy the customer through early and continuous delivery of valuable product

  • Focus on Customer
  • Deliver Early and Deliver Fast
  • Focus on end goal

How does Scrum implement this principle?

  • Incremental delivery helps deliver working product. Therefore the artifact Increment represents early and continuous delivery in small pieces
  • Product Backlog which is ordered as per value consists of small incremental pieces which represents valuable product.

Principle #2 – Welcome changing requirements, even late in the development. Agile processes harness change for the customer’s competitive advantage.

Changes are great if they allow us to deliver some late high-priority features.

  • Traditional project management sees changes negatively. Finally only the high-priority changes go thru.
  • Agile projects accept that fact that changes will happen.

How does Scrum implement this principle?

  • Product Backlog represents changing requirements. It is an emergent list and always keep getting modified as per customer feedback
  • Sprint Review is a feedback forum where customer feedback is sought and changes are implemented to give value to the customer

Principle #3. Deliver working product frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

  • Get Feedback fast
  • Incorporate stakeholder comments fast instead of waiting for end moment
  • Keep Business engaged thereby a dialogue on project progress is continuous
  • Prevents late-stage escalations from customer

How does Scrum implement this principle?

  • Sprint is less than or equal to one month. The one month or less timeframe helps deliver frequently and take constant feedback from customer. In a sprint, something usable should be developed so that the feedback can be received from the customer.

Principle #4. Business people and developers must work together daily throughout the project.

  • Frequent collaboration with business helps build good rapport and trust between business and development team
  • Development Team learns business requirements much better by collaborating with business effectively

How does Scrum implement this principle?

  • Business people representative is called the Product Owner in Scrum. The Developers and Product Owner constantly collaborate to get results
  • Sprint Review represents a feedback from the stakeholders continuously

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

  • Trust and collaboration increases productivity
  • Autonomy to organize and plan their own work helps build motivation
  • When a right environment is created for the team, the team gets motivated and generates productivity and results

How does Scrum implement this principle?

  • Scrum Master makes sure that the environment is conducive to collaboration
  • Scrum Master helps imbibe the values within the team so that the trust builds
  • Scrum Master’s role is to make sure that teams are motivated. Motivated teams create productivity

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

  • Face to face does not mean co-location. Even a online communication using tools such as Zoom is also a face to face communication
  • Face to face conversations enable quick transfer of information so that feedback looks can be closed
  • Body-language, gestures help build trust
  • Face to face is called high bandwidth communication

How does Scrum implement this principle?

  • Scrum implements this principle via a Daily Scrum where the developers collaborate every day in a face-to-face manner and convey information to each other

Principle #7. Working product is the principal measure of progress

  • The effort of creating documentation and designs should be supporting work and should not be primary activity.
  • The definition of progress and the binary nature of “working software” creates a resulted oriented view of the project.
  • Interim deliverables and partially completed work gets no external (customer) recognition.

How does Scrum implement this principle?

  • Increment represents working product. One needs to keep creating increments continuously
  • Definition of Done has to be passed so that the product can be called working product and becomes a principle measure of progress once the Definition of Done is passed
  • Sprint Review forum is the forum where working product is inspected and adapted based on feedback received from stakeholders

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

  • Intensity levels in agile projects are high
  • Long workdays lead to dissatisfaction
  • Work Life Balance is equally important
  • Flow should be maintained and bottlenecks should be decreased as much as possible
Agile Manifesto

Agile Manifesto

Sustaining a pace on a AGILE SCRUM project for each Sprint vs a typical Waterfall project where pace picks up as the project progresses

How does Scrum implement this principle?

  • Scrum implements constant flow of work to the stakeholders so that the bottleneck does not build up
  • Scrum focuses on creating a sprint backlog every sprint which represents sustenance. Only the items which the team can do are taken by the developers. The right to create the sprint backlog is therefore given to the developers so that they can sustain their work and flow can be maintained

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

  • Most people think agile is about doing work fast without any focus on technical excellence
  • This principle guides the teams into focusing on technical excellence and good designs

How does Scrum implement this principle?

  • This principle is implicitly implemented via Definition of Done and increment where utmost importance is given to the quality of the product

Principle #10. Simplicity—the art of maximizing the amount of work NOT done

  • 20% of features deliver 80% of values
  • 80% features never get used at all
  • Focus should be on maximizing value rather than doing everything
  • Focus on doing less. Whatever you do – do it properly with good quality and focus on technical excellence, good design and customer value

How does Scrum implement this principle?

  • Product Backlog is always arranged by value such that the important items are done first
  • Sprint Backlog represent the most valuable items being picked up each sprint so that the most valuable products are created first
  • Sprint Review is a feedback forum to ensure that the most important feedback is incorporated and taken up at the earliest possible

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

  • Micro-management culture creates dis-satisfaction and people do not take accountability
  • To get the best out of people, we have to let them self-organize.
  • It allows them to find an approach that works best for them.
  • By allowing the people to take their own decisions, it puts accountability on them to own the decisions that they have taken thereby resulting in better commitment
  • When people commit mistakes, encourage them to do better instead of punishing them. Culture to punish demotivates people and then the people do not take risks and always play safe

How does Scrum implement this principle?

  • Scrum recommends that the scrum team be self managed

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

  • Gathering lessons at end of project is too late
  • Gather lessons early and adapt
  • Retrospectives is a good way where lessons are learnt at the end of each iteration, adapted in the next iteration

How does Scrum implement this principle?

  • Sprint Retrospective is a good way of implementing constant improvements. As per the improvements identified, tuning and adjusting can be done.

Agile Manifesto therefore, the guiding artifact for any Agile method or framework.