.
The 12 principles are agreed amongst the Agile pioneers and later became the part of the Agile Manifesto and these could be adopted as guiding practices to support the teams.
1. Customer Satisfaction – Our Highest Priority
The first principle is that customer satisfaction through early and continuous delivery of the valued software. This principle has 3 important ideas.
In the real world, things rarely go perfectly as planned. As we develop the product, it is natural to not capture all the requirements and provide it to the customer. The truth is, customers need the working software in their hands to provide any feedback.
If we are able to provide the software early to the customer i.e early delivery then that also means there will be early feedback from the customer.
Even if the team only delivers one working feature of the software, that is still a win because customers can now give feedback. It is also a win for the customer because now they can use the software which they couldn’t earlier.
Through continuous delivery, a team can make necessary changes along the way. This will provide the customer an incremental finished product with more value.
Agile leverages an iterative approach to deliver work. Each iteration is planned to include the highest value features or requirements for the customer. Each iteration can also incorporate customer feedback from the previous iteration.
This way, customer satisfaction can be achieved through early and continuous delivery of the software in the short and the long run.
2. Embrace the Inevitable Change.
Embrace the change in requirements even if it’s late in the development cycle. Doing so is going to help the customer have a competitive advantage. Change is good when you’re able to react in time to it. This way, you will be able to get closer to the client’s needs.
3. Deliver Early and Deliver Continuously
Delivery of the working software needs to be frequent. It could be from a couple of weeks to a couple of months. The preference should be a shorter timescale.
The sooner you deliver an incremental software; the better, as it promotes faster feedback and prevents any scope for miscommunication with the client. It is always better to find out about things when they can be handled. This helps to avoid the chances of complete rework.
4. Work Together – if needed work from the same location.
Working together doesn’t come naturally to most of the people. In Agile, business and the technology are expected to work together throughout the project. Also, customers could be part of the team as they and the staff all want the same thing : a valuable software.
This leads to better communication and greater empathy of each other’s pain points which leads to a better and productive work environment.
5. Motivation, Individuals and Projects
Build your projects around motivated individuals. To do so, provide them the environment they need, support they need and then trust them to complete the job and the assigned objectives in time.
Agile projects usually consist of self-organizing, self-directed and self-reliant teams. This nullifies the need of any project micromanagement.
6. Face-to-Face Interactions are most valuable.
Face-to-Face interactions whether real or virtual are the most efficient and effective ways of communication. The idea is to reduce the lag between the question being asked and the answer being provided.
This osmotic communication can be accomplished due to teams being co-located.
Since development teams are often distributed, we can choose to go for technical communication techniques or softwares like Zoom and Google Meets to facilitate the same effect of face-to-face interactions.
7. The Actual Working Software should be the Measure of Progress.
Working software should be considered as the primary measure of progress for an agile team.
This does not mean that you do not do any documentation, you create documentation (requirements, customer facing and technical documentation) as you build the product.
When we try to follow the plan, we get so much involved in updating the documentation that we take our eyes off the real objective i.e the working software.
As a note, a quality software is the measure of progress.
8. Agile leads to Sustainable Development
Choosing a right pace for the agile team members is very crucial. When the same project runs over a long period of time then “burnout” happens among teams. To avoid this, work can be done in short productive bursts.
9. Continuous Attention is beneficial.
Paying continuous attention to technical excellence and to good design is meant to enhance Agility.
Let’s take an example of cleaning the code. If a developer cleans the code before or after every iteration of the software then this eventually makes the code more robust over time. The software development team can also use scrum tools and take some time to review their solution. Doing this during the project is going to save more time than cleaning up the code later in the project phases.
Also, a design that can be updated through multiple maintenance cycles and still holds its value is the desired one.
10. Keep it Simple! Keep it straight!
In a typical product – customers only end up using only 20% of the functionality. Agile forces you to keep things simple and develop the features that lend value first.
In simple words, avoid doing things that don’t really matter.
11. Self-Organizing Teams are at the root of best architectures, requirements and designs.
Self-organizing teams are able to set their own direction. They attack the problems, clear the obstacles and find solutions on their own. Micromanaging them is a big no-no!
12. Reflect, Tune and Adjust
In agile project management, at regular intervals, a team should reflect on ways to become more effective. A team should tune and adjust its behavior accordingly. If there exists a better way of moving a project forward then a team shouldn’t hesitate to change the course of action to achieve the desired results quicker.
To summarize , while practicing agile project management – keeping the above 12 principles in mind can guarantee you that the project and the team will stay on the right track throughout the tenure.