If you are struggling to understand the agile development process, whether it may be one step or the whole entire process. You have come to the right place. This post is going to go into the principles of agile methodology in project management and hopefully give you some better clarity on why we have these principles.
First Principle: Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.1
Graphic courtesy of Open University
Now you may be considering why we need to consider our customers as the first priority when you are developing a project? Well, the primary reason you are developing projects or managing a project is because it is for your customer or supervisor. You are developing something that is going to affect at the minimum of one life to the maximum of the world population. The potential is there and in order for the project to reach others beyond the intended scope you are able to satisfy the customer who ordered the project. By continuous feedback from the customer, the sooner you will be able to satisfy customer demands and receive your ROI (return on investments).2
Second Principle: Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.1
Agile developers must get into the mindset that change is always welcome in even the later parts of the project development. Most traditional companies see it as a downside, but they are missing the point that the changes the customer want to make will benefit them and will give them an advantage against their competitors. Which ties back to the first principle that your highest priority should be to satisfy your customer.3
Third Principle: Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
Instead of having to satisfy the customer in the final stages of the project and present a prototype that might not even met your customer requirements, you can present your project at different stages often to gain feedback from your customer. This should lower the amount of time you are planning your project and allow you more time on working on your project.
Fourth Principle: Business people and developers must work together daily throughout the project.
Communication between stakeholders is very important. If you don’t know who your stakeholders are, they are the end-users of your project, and the people involved in the makings of the project. Working with other departments on the project will improve the performance of your project and the trust between you and your company.
Graphic courtesy of Visual Paradigm
Fifth Principle: Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
The idea behind this principle is to give the projects to individuals who are interested so they can complete the project faster and trust that they will do well. Do not micromanage your employees and allow them to engage in the project. Even making the tiniest decisions centralized will lower your team engagement and will not develop a sense of belonging to the project.
Sixth Principle: The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
This concept brings about real time conversations and discussions that focus on shortening the response time between stakeholders. Since the workplace has moved from an in-person to a hybrid style, it is best practice for your team to not communicate through email for meetings or interactions between different stakeholders.
Seventh Principle: Working software is the primary measure of progress.
Pretty simple, if your software is not working the way the customer wants it then you are not doing your job.
Eighth Principle: Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
Your team is made up of humans and when you force them to work more than expected this can cause your team to burnout or make poor quality work. Agile is an ever-changing process and can be taxing if not enough thoughts are put into realistic expectations for your team and the project completion for every sprint that is presented to your stakeholders. Every sprint needs to have clear expectations so everyone can focus on the things they need to do.
Ninth Principle: Continuous attention to technical excellence and good design enhances agility.
Pay attention to the quality of your code and make sure that it runs efficiently, by doing so you will be less affected by changes to your project and the bugs that you come across.
Tenth Principle: Simplicity–the art of maximizing the amount of work not done–is essential.
There is a 80/20 rule, which is a concept of getting 80% of the result from 20% of work. Meaning you and anyone else on the team should not do things just for the sake of doing it, you are not getting paid by the effort you put into the project, only by doing what the customer requires. Prioritize on the things that need to be done.
Eleventh Principle: The best architectures, requirements, and designs emerge from self-organizing teams.
Agile should be for teams that can do the work required of them without any added pressure needed for them to do their work. This is a team-centered agenda, so your customer requirements are to be discussed and worked on as a team, and if you have to force your team to work on the work assigned to them, then Agile development may have to be taken off the table.
Twelfth Principle: At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.1
This is where it’s important to have an open-mind and willingness to learn, because every project is unique and will require you to do something different from your previous project. The agile principle is based on continuous growth or improvement. You don’t want to do the same thing for every sprint for the same type of projects because more often than not, your customer have a different set of requirements that will satisfy them.
Conclusion
Overall, the Agile Principles are focused on the customer and ways software developers or project managers can provide their customers with a satisfying end product.
RESOURCES
-
“Principles behind the Agile Manifesto.” Agile Manifesto. ↩ ↩2 ↩3
-
“What are the 12 Principles of Agile Project Management?” Kanbanize. ↩
-
“Agile Principles.”Product Plan. ↩