agile top banner

12 Principles Behind the Agile Manifesto

Read it in 12 Mins

Last updated on
17th Mar, 2021
Published
22nd Jan, 2021
Views
5,591
12 Principles Behind the Agile Manifesto

Long before Agile came into existence, almost everything was done by the waterfall method. Its rigidity ensured that projects were easy to manage, but that also translated to more time tactually get a product deployed. So, it often happened that by the time the end product was ready to be deployed, the business requirements would have changed, thus making the product redundant. 

By the start of the millenniummarkets had become more volatile, requirements were changing rapidly, and customers wanted quick fixes and accommodation of their changing needs.  That’s when 17 engineers got together and decided to come up with a new approach to software development that would address these problems. They came up with principles and values that would guide iterative software development. This document came to be known as the Agile Manifesto.  

The authors of the Agile Manifesto came out with 4 values and 12 principles in order to help the professionals understand it easily and put it into practice. The manifesto created an impact and changed the future of project management. 

AGILE ESSENTIALS 

ESSENTIALS INTRODUCTION 

Agile Essentials is a set of resources intended to bring you up to speed on the concepts and principles of Agile. The Agile Essentials provide an overview of Agile values, principles, concepts, vocabulary, terms and roles to provide an understanding of the breadth of Agile and how it differs from traditional project management practices. 

Agile Essentials

AGILE 101:  

  1. Agile Development is a set of methods, principles and practices where solutions are integrated through the collaboration of self-organizing, cross-functional Development teams.  
  2. Agile methods, values and principles provide guidance on how to create and respond to change, deal with uncertainty and ultimately succeed in an uncertain and tumultuous environment. 

AGILE MANIFESTO 

  1. The Agile Manifesto is a brief document built on 4 values and 12 principles for agile software development.  
  2. It was the work of 17 software development practitioners and was published in February 2001 to address the increasing need for an alternative to heavyweight software development processes. 

AGILE GLOSSARY 

Agile teams have created their own agile terminology to manage all these principles and practices. The glossary consists of 50 Agile Terms. 

Reference: Check URL for the list of agile terminologies. 

THE 12 PRINCIPLES 

The Agile Manifesto drafts out 12 principles for agile development practices. These 12 principles highlight on continuous delivery of valuable software in sprints and attention to technical excellence. The continuous delivery will involve quick feedback from the customer which will help reduce changes at the last minute. 

THE SUBWAY MAP 

  1. The Agile subway map is a list of Agile practices grouped under different categories.  
  2. It helps to map out a specific practice that could help a team solve its problems 

The below picture depicts practices that are interconnected, while the colors at the bottom indicate each category. 

SUBWAY MAP

HISTORY OF THE AGILE MANIFESTO 

The vital value of agile development is that it should deliver value faster, ensure quality and certainty, and offer greater aptitude to respond to changes that correspond to market expectations. At a time when industries were growing rapidly and market expectations were changingsoftware needs and expectations were also changing and becoming more demanding. Agile software development history dates back to when the Agile Manifesto was created and Agile came into existence. 

In early 2001, a group of 17 developers held the (now famous) two meetings -- the first in Oregon and the second in Snowbird, Utah -- to discuss issues and solutions to overcome existing software development methodologies that were making it difficult to respond quickly to change The group comprised of 17 individuals, including Kent Beck, Mike BeedleArie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, and Dave Thomas. 

All scenarios led to propose a working session. The working session organized by Dave, Robert and Jim had two objectives. 

  1. Each person in the meeting will present to the group his lightweight method approach to build any complex software. 
  2. Discuss the flow of heavyweight methods and how to address the complexities arising in the project development life cycle.

THE FOUR VALUES OF THE AGILE MANIFESTO 

The Agile Manifesto thus tabled has 4 foundational values and 12 supporting principles. These values and principles lead to the agile approach to software development.  Agile methodology applies 4 values in different ways and these values guide the development and delivery of high-quality, working software. 

The four Agile Manifesto values are as follows: 

  1. Individuals and interactions over processes and tools 
  2. Working software over comprehensive documentation 
  3. Customer collaboration over contract negotiation 
  4. Respond to change over following a plan 

Agile Values

INDIVIDUALS AND INTERACTIONS OVER PROCESSES AND TOOLS 

The Agile Manifesto values people higher than processes or tools because it is the people who respond to business needs and drive the development process. If the process or the tools drive development, the team is less responsive to change and less likely to meet customer needs. In case of individuals, communication flows and happens when a need arises. In the case of process, communication is designed and requires specific content. 

Agile Values

WORKING SOFTWARE OVER COMPREHENSIVE DOCUMENTATION 

Historically, mammoth amount of time was spent on documenting the product for development and delivery. Technical specifications, requirements, prospectus, test plans, documentation plans, and interface design were the documents that were created which required lots of time. This mammoth list caused long delays in development. Agile does not eliminate documentation, but provides all the information that is required for the developer to complete the work without getting bogged down in finer points. 

Agile Values

CUSTOMER COLLABORATION OVER CONTRACT NEGOTIATION  

Customers are involved in all the agile phases of the project. There is total transparency. The Traditional methodologies have customers negotiate before the project starts and the project ends. This results in wastage of both time and resources. In the agile development process customers are kept in the loop and information is provided to all stakeholders by the product ownerthis ensures that the final product meets all the requirements as per the expectations of the client. 

Agile Values

RESPOND TO CHANGE OVER FOLLOWING A PLAN 

Changes should be avoided in Traditional software development as they are considered to be expensive. The intention was to develop elaborate plans, with a well-defined set of features. Higher priority features are developed first and the rest follow. Delivering in the order as prioritized by the product owner will help the team work on itemized sprints. 

With Agile, the iteration means priorities can be shifted from iteration to iteration and new features can be added into the next iteration as required. Agile accepts changes as they are ways to improve a project/product. 

agile Values

THE TWELVE AGILE MANIFESTO PRINCIPLES 

The Twelve Agile Manifesto Principles are the guiding principles that are included under the title The Agile MovementAgile Manifesto architecture demonstrates the movement’s intent as described by Alistair Cockburn, one of the signatories to the Agile Manifesto, which is to bring development into alignment with business needs. 

The twelve principles of agile development include: 

Agile 12 principles

  • CUSTOMER SATISFACTION THROUGH EARLY AND CONTINUOUS SOFTWARE DELIVERY: 

Customers will be happy when the software is delivered early for testing and feedback and when they are kept in the loop about the progress, the implementations, and product developers acknowledge the delivery value by fulfilling their top priority requirements first. A completed Iteration has an outcome, a working code to respond to the ever-changing user requirements. 

  • ACCOMMODATE CHANGES EVEN LATE IN DEVELOPMENT: 

Agile methodology stresses on responding to change instead of staying strictly aligned to an approved plan as was the case in the traditional methodology. It is a simplified version of handling changes with no formal documentation or approval. The changes are integrated for the customer’s competitive advantage because it takes care of the market changes in the business to bolster your advantage to emerging opportunities. 

  • DELIVERING WORKING SOFTWARE FREQUENTLY: 

Provide immediate value to the customers by delivering features that are done. The development teams are wholly responsible for completion of sprints. They ensure that each feature developed is tested, and matches the customer’s requirements before it is delivered. The project team needs to focus on the delivery of value to the customer within a fixed delivery timeframe. 

  • BUSINESS PEOPLE AND DEVELOPERS WORK TOGETHER DAILY : 

Agile accepts changes in software development. It is hence important to clarify requirements on a timely basis to always keep all the team members notified and up-to-date during the development of the software. 

  • SUPPORT, TRUST AND MOTIVATE TEAM: 

Agile depends on focused, trusted, and motivated individuals to complete projects as per requirements of the client. Development teams have all the power to select the work they are most interested in by self-organization with no interference from the external management. 

  • FACE-TO-FACE CONVERSATION WITH DEVELOPMENT TEAM: 

Feedback via face-to-face interaction or video conference with development teams in different geographical locations is always encouraged as it assists in easy and smooth transfer of information amongst the members. 

  • WORKING SOFTWARE IS THE PRIMARY MEASURE OF PROGRESS: 

The only way to measure success factors is by delivering a working product that satisfies the customer’s needsDelivering functional software to the customer is the ultimate way by which progress can be measured. 

  • AGILE PROCESSES TO SUPPORT A CONSISTENT DEVELOPMENT PACE: 

Teams establish the velocity rate at which they can deliver working software, and they follow the same process with each release. Agile methodology aims to keep the work-life balance of development teams and never burden them with huge amount of work, thus keeping them happy and motivated.  

  • ATTENTION TO TECHNICAL EXCELLENCE AND DESIGN: 

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

  • SIMPLICITY: 

Focus on things that are important to add value to the project and customers. Develop the product as required and get the job done correctly. 

  • SELF-ORGANIZING TEAM ENCOURAGES GOOD ARCHITECTURE, REQUIREMENTS AND DESIGNS: 

In Scrum methodology, the team has overall control and is responsible for completing each sprint. The team performs in the best possible way needed to carry out the task. There is no interference of the project manager or from the human resources department. 

  • REGULAR REFLECTIONS ON HOW TO BECOME MORE EFFECTIVE: 

Self-improvement, process improvement, enhancing skills, and techniques help team members work more efficiently. It is imperative for Scrum teams to work and focus as a cognitive unit.  Working out new plans, checking requirements and adapting to changes will help the Scrum team to work more efficiently. 

THE GREAT AGILE DEBATE 

Agile development is a method based on iterative and incremental development. The requirements and solutions evolve in short sprint iterations through collaboration within self-organizing, cross-functional teams. The idea of the Agile method is to create a working software, compliant to change, and incorporate Face to Face interactions and collaboration over processes, tools or plans. It’s based on the principle of incremental delivery of the business value as quickly as possible through iterative development of software. The Agile Manifesto is the basis of the Agile practices, processes and principles etc used today. 

AGILE STRENGTHS:  

  1. It breaks tasks into small increments to allow the project to adapt and change quickly with the markets or client’s needs 
  2. A project is developed in short iterations, or short time frames lasting from one to four weeks.  
  3. At the end of each iteration the agile approach allows teams to demonstrate the progress of the project to stakeholders; this ends the risk of bugs. 
  4. Moreover, changes and additions can easily be adapted in each increment; this closely meets the client’s expectations. 

THE AGILE INDUSTRIAL COMPLEX 

The Agile community is now the Agile Industrial Complex.  It is that web of agile institutions, Agile thought leaders and Agile consulting firms that implicitly collude to make normal the very harmful and disrespectful imposition of Agile practices on teams without consent.  

According to Martin Fowler agile had become mainstream in 2016. It is no longer exotic or frowned upon on, as in the early days. 

  1. Growing agile industrial complex scenario: Organizations have spun the simple agile methodologies into complex industrial processes. This complex agile industrial has ballooned up and further used only for commercialization purposes. The agile-industrial complex trains people provide shiny certificates and pushes those people into consulting or managing positions. 
  2. Focus on methodology: Every organization today focuses on agile methodologies for creating different products. This has resulted in the implementation of agile methodologies in organizations without any technical excellence of able and experienced engineers.  
  3. Focus on projects instead of products: Instead of connecting development team with clients and focusing on quality, the deadline and finishing of the project is prized or is given more importance. 

IS THE MANIFESTO STILL RELEVANT? 

The Agile Manifesto has made a profound effect on software development, even reaching beyond into the wider world of business. 

There’s ample evidence that the Agile Manifesto remains relevant in software development even today. The Agile Manifesto established some core elements of the best modern software development practices, which are still industry standard.  

Examples of its influence include: 

  1. Scrum:  A framework for small teams based on Agile 
  2. Unified Process: A simplified version of The Unified Process (UP), or Unified Software Development Process 
  3. Dynamic Systems Development:  An approach to project management and solution delivery 
  4. Agile Alliance - Guide to Agile Practices: A collaboration between the Agile Alliance and PMI 
  5. The emphasis on fast shipping had a major influence on changing the way physical goods are delivered around the globe.  

WHAT DOES IT ALL MEAN? 

Agility means development with incremental approach, making small changes quickly, and learning from it through stakeholder feedback, making adjustments to our understanding of problems and repeating this many times. 

What to do: 

  1. Find out and Plan the development incrementally within sprints. 
  2. Initiate small steps towards your goal with quick deliveries. 
  3. Adjust the understanding based on the feedback received. Lessons learnt should be implemented efficiently. 
  4. Repeat all the steps. 

Below are a few simple steps that really describe what agile is all about.  

  1. Decide the goal to achieve. Perform small changes, test it, learn from it, adjust and repeat. Try to write code in agile way which is easy to change later. 
  2. Implement small changes, get immediate feedback, initiate small iterations and make decisions that remove impediments for future changes as much as possible. 
  3. Resolving problems using these basic agile principles, step by step at a time will ensure smooth transitions. 
  4. The tools and methodologies will help to achieve agility. Avoid adding more processes 

Agile is a simple and fast way of learning and improving by taking small steps, one after the other. 

CONCLUSION

Implementation of agile values to the project development process promotes communication both horizontally and vertically throughout the organization. It enhances innovation through high-performance multidisciplinary development teams and enhances business value by involving the client throughout the incremental delivery process. 

Improved communication, teamwork, collaboration, and organizational change improve the business value of products during the preliminary stages and throughout the project development lifecycle stages. 

Below are the concluding thoughts about Agile implementation 

  • Agile was born to simplify the lives of software developers, testers, and organizations. 
  • Transition from plan-based approach to Agile should result in the reduction of management overhead and lessen the burden of formalities from the creative development team. 
  • Be mindful of eliminating the right column of Agile Manifesto i.e., processes, tools, documentation, contract negotiation and the plan.  
  • Agile methodology leads to avoiding misconceptions and helps in creating complex products. 
Profile

Rajesh Bhagia

Blog Author

Rajesh Bhagia is experienced campaigner in Lamp technologies and has 10 years of experience in Project Management. He has worked in Multinational companies and has handled small to very complex projects single-handedly. He started his career as Junior Programmer and has evolved in different positions including Project Manager of Projects in E-commerce Portals. Currently, he is handling one of the largest project in E-commerce Domain in MNC company which deals in nearly 9.5 million SKU's.

In his role as Project Manager at MNC company, Rajesh fosters an environment of teamwork and ensures that strategy is clearly defined while overseeing performance and maintaining morale. His strong communication and client service skills enhance his process-driven management philosophy.

Rajesh is a certified Zend Professional and has developed a flair for implementing PMP Knowledge Areas in daily work schedules. He has well understood the importance of these process and considers that using the knowledge Areas efficiently and correctly can turn projects to success. He also writes articles/blogs on Technology and Management