The Manifesto for Agile Software Development outlines 12 Agile principles that all projects should follow. These are:
1. Our highest priority is to satisfy the customer through the early and continuous delivery of valuable software.
The first principle of Agile methodology states that customers should receive project deliverables or iterations across regular intervals throughout the project’s life cycle, rather than just one product delivery at the end.
2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
The Manifesto’s authors found that, with traditional project management, it was difficult to accommodate last-minute change requests. This principle ensures that Agile projects can adapt to any changes, no matter how late in the game, with minimal delay.
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference for shorter timescales.
Agile projects plan for frequent, short project timelines that allow for a fast turnaround of workable products. Teams will often break Agile projects into one to four-week-long sprints or project intervals, each one ending in the delivery of a product.
4. Businesspeople and developers must work together daily throughout the project. This Agile principle states that regular communication with all stakeholders is critical to the project’s success. Commonly, this involves a short daily meeting with both the project team and any other key stakeholders.
5. Build projects around motivated individuals. Give them the environment and support they need and trust them to get the job done.
A central concept of the Agile project management methodology is that the right people need to be placed in the right positions and given the autonomy required to do their jobs well. It is essential to design a project team based on capabilities rather than job positions or titles. The project manager’s focus should be on motivating the project team and supporting them, rather than micromanaging them.
6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
The Agile Manifesto emphasizes the importance of co-locating teams and stakeholders whenever possible, as face-to-face communication is more effective than email or phone. If your team cannot be co-located, video conferencing is an option that can still capture the value of non-verbal cues.
7. Working software is the primary measure of progress.
The Agile methodology aims to provide complete, working deliverables. This goal should always take priority over any additional requirements, such as project documentation. Other metrics, such as hours spent or time elapsed, are not considered as important as delivering working products.
8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
According to this principle, Agile projects should have a consistent pace for each iterative cycle or sprint within the project. This breakdown should eliminate the need for overtime or crashing schedules while promoting frequent output of workable products. It should also create a repeatable cycle that the team can continuously follow for as long as necessary.
9. Continuous attention to technical excellence and good design enhances agility.
An Agile project’s primary focus should be on improving the product and achieving advancements consistently over time. Each iteration should always improve on the previous one, and the team should always be looking to innovate.
10. Simplicity – the art of maximizing the amount of work not done – is essential.
An Agile project aims to get just enough done to complete the project and meet the requested specifications. Any additional documentation, steps, processes, or work that does not add value to the customer or enhance the project outputs should be avoided or eliminated.
11. The best architectures, requirements, and designs emerge from self-organizing teams.
Agile is based on the belief that you need motivated, autonomous, and skilled teams to deliver the best results and products. Teams should be empowered to organize and structure themselves as required. They should have the freedom to collaborate and innovate as they see fit, without being hampered by too much oversight.
12. The team discusses how to become more effective at regular intervals, then tunes and adjusts its behavior accordingly.
A successful, self-motivated team requires a strong focus on advancing their skills and processes to grow and improve. The team should have regular reviews on their performance and outcomes, including discussions on improving as they move forward.