Agile Manifesto – 12 agile principles with examples
What is Agile Manifesto?
The Agile Manifesto and the 12 agile principles, formally introduced in 2001 by a group of 17 software developers, lays the foundational principles for the Agile methodology. The agile manifesto itself is based on four key values and 12 agile principles aimed at improving how software development projects are managed. These values and principles place a strong emphasis on flexibility, collaboration, and customer-centric development.
While the 12 agile principles and 4 values for agile provide useful guidance for those hoping to practice agile software development, they are not prescriptive.
The Agile Manifesto does not outline any specific processes, procedures, or best practices for agile. And that is intentional. The creators did not set out to develop a rigid framework or methodology. Instead, they created a philosophical mindset for software development.
Agile Is a Mentality
With all this confusion (Not really!) I’ve tried to make it easy to understand with some practical examples. Let us look into it! Know more about Agile Project Management.
The Four Agile Manifesto values
Individuals and interactions over processes and tools
The manifesto prioritizes the people working on the project and their interactions. While processes and tools are important, they are secondary to the collaboration between team members.
-
- Example: Imagine a development team working on a new software feature for a mobile app. Instead of relying solely on pre-defined workflows and rigid communication channels (e.g., ticketing systems), team members continuously talk face-to-face or via instant messaging. Daily stand-up meetings ensure that everyone is aligned and any issues can be resolved immediately. This reduces bottlenecks and allows for more adaptive solutions.
Working software over comprehensive documentation
While documentation is necessary, Agile stresses the importance of delivering functional software that meets the user’s needs. Extensive documentation can become obsolete if the software doesn’t work properly or doesn’t align with user requirements.
-
- Example: A project manager at a startup working on an e-commerce website asks the development team to prioritize delivering a working shopping cart feature rather than spending weeks writing out detailed technical documents. The focus is on giving the customer a functional feature that will generate feedback, rather than providing lengthy documents describing how it should work theoretically.
Customer collaboration over contract negotiation
Agile values ongoing collaboration with customers throughout the project lifecycle instead of simply following the terms of a contract. Customers should be part of the development process and not just consulted at the start and end of a project.
-
- Example: A client hires a software company to build a content management system (CMS). Instead of following a strict contract where all requirements are locked in, the developers frequently meet with the client to demonstrate progress, gather feedback, and adjust the features. Midway through the project, the client decides they need a new functionality to allow for better integration with social media platforms. The Agile team adapts and incorporates this new feature, ensuring the final product aligns with the client’s evolving needs.
Responding to change over following a plan
Agile emphasizes flexibility and being able to adapt to changes in customer requirements or market conditions, instead of rigidly sticking to a pre-defined plan.
-
- Example: A SaaS company is developing a new feature for its CRM software, but halfway through development, competitors release a similar feature that has better capabilities. In a traditional project management approach, the team would continue following their initial roadmap. In an Agile environment, the team adjusts their priorities, collaborating with customers to develop a competitive differentiator or value-added feature that addresses the evolving market needs.
The 12 Agile principles
Based on the 4 agile manifesto values, let us look into specific examples of how they affect the 12 Agile principles through these examples.
Customer satisfaction through early and continuous delivery of valuable software:
-
- Example: A healthcare software company releases an MVP (Minimum Viable Product) of their new patient portal to a group of users within two months. They then gather feedback, address the most critical issues, and add more features every few weeks, ensuring that customers see ongoing value.
Welcome changing requirements, even late in development:
-
- Example: A retail company requests a change in their inventory management software, requiring a new forecasting algorithm three-quarters into the project. The Agile team re-prioritizes the tasks, accommodates the change, and updates the sprint backlog to incorporate this important functionality.
Deliver working software frequently, with a preference for shorter timescales:
-
- Example: A game development company chooses Agile over Waterfall to ensure that their game releases an update every two weeks, fixing bugs and adding small features based on player feedback. This approach fosters greater engagement and loyalty from players.
Close, daily cooperation between business people and developers:
-
- Example: In an insurance company’s IT project, business analysts work closely with developers, participating in daily stand-ups. This ensures both parties are on the same page regarding feature priorities and business needs, leading to more efficient and instant decision-making.
Projects are built around motivated individuals, who should be trusted:
-
- Example: A global IT company empowers its development team to make architectural decisions for a cloud migration project. Trusting their expertise, the team can implement cutting-edge cloud technologies quickly, without constant managerial approvals. Obviously, there are some restrictions when it comes to costs, which is known and capped beforehand.
Face-to-face conversation is the best form of communication:
-
- Example: A tech startup team prefers in-person sprint reviews and retrospectives to discuss issues and progress, instead of relying on emails. This ensures real-time feedback and instant clarification of concerns.
Working software is the primary measure of progress:
-
- Example: Rather than relying on Gantt charts or meeting documentation to track progress, a media company evaluates their Agile team based on the functional prototypes and the software’s usability at each sprint review.
Sustainable development, able to maintain a constant pace:
-
- Example: A web development agency works in two-week sprints, ensuring a steady delivery of features. They avoid overloading team members to prevent burnout and promote long-term sustainability of their workflow.
Continuous attention to technical excellence and good design:
-
- Example: A bank’s IT department develops a mobile banking app using Agile practices, emphasizing refactoring code and adhering to solid software design principles to ensure a secure, high-quality app.
Simplicity—the art of maximizing the amount of work not done—is essential:
-
- Example: In an e-learning platform project, the Agile team regularly prunes unnecessary features from the backlog, ensuring that only the most valuable features are worked on. This allows them to release simpler, more effective products faster.
The best architectures, requirements, and designs emerge from self-organizing teams:
-
- Example: A fintech startup empowers their development team to take full ownership of system architecture. By allowing them to choose the best technologies and development strategies, the team consistently produces scalable and innovative solutions.
Regularly reflect on how to become more effective and adjust accordingly:
-
- Example: At the end of each sprint, a marketing agency’s Agile team holds a retrospective to review what went well and what didn’t. They adjust their workflow to address inefficiencies and continually improve.
Real-Life Scenario: Agile vs. Traditional
Well, now that you understood the 4 Agile Manifesto values and the 12 agile principles, let us see what has changed from the traditional approach. One of these examples will hopefully make you fully understand the leap that Agile has taken.
- Agile Example: A telecommunications company adopts Scrum to deliver an innovative mobile app to customers. The team works in sprints, regularly reviewing customer feedback and adjusting the features. After every two-week sprint, they demonstrate progress to stakeholders and adapt the product roadmap accordingly. New features are added incrementally, and any issues are addressed quickly.
- Traditional Example: A government project to develop a tax processing system is managed using Waterfall. The project team completes a detailed requirements analysis phase, followed by design, coding, and testing. However, when the system is finally delivered after 18 months, the requirements have changed, and the solution is no longer fully relevant to the current needs of the users.
Agile in Practice
In a nutshell, apart from what we have described above in detail, these three items are the most important and are the direct offshoot of the Agile Manifesto
Flexible - Customer-Centric - Collaboration
- Flexibility: Agile methodologies allow teams to pivot and adapt based on continuous feedback and changing requirements.
- Example: A software development firm quickly adapts its scope after competitors release a similar product, allowing it to stay competitive in the market.
- Customer-Centric: Agile frameworks like Scrum prioritize customer feedback at every stage, ensuring the final product delivers value to the end-user.
- Example: A food delivery app team holds weekly sprint reviews with stakeholders, ensuring that the app features directly align with customer expectations.
- Collaboration: Daily meetings and cross-functional teamwork are at the heart of Agile, enhancing communication.
- Example: Developers, testers, and business stakeholders in a logistics company collaborate daily to resolve bottlenecks in real-time. This is a practice that has been followed in Manufacturing industry for a very long time (Daily Huddle or Daily Standup).
To summarize, the Agile Manifesto’s focus on flexibility, collaboration, and continuous delivery has revolutionized how modern projects are managed, particularly in software development. It encourages teams to embrace change, prioritize working products, and maintain close communication with customers. This leads to faster delivery, greater customer satisfaction, and the ability to respond dynamically to evolving market needs.
all rights reserved – Vijay Chander – 2024 scrumbyte.com