In my last article, I talked about the 04 values in the agile manifesto and why you need to think about it. In addition to these 04 values, the agile manifesto lists 12 principles that detail the Agile way of thinking.
Let’s take a detailed look at all of them.
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software
Main idea: SATISFY THE CUSTOMER
Nobody likes to wait for the solution of a problem or for a new product or service. This works either for our personal or professional lives.
In plan-oriented projects, the customer can only enjoy the result at the end of the project after all tests and approvals. In Agile, the client has “something functional and valuable” at the end of each time-boxed sprint.
Continuous delivery will add new features to the product all throughout the project.
Another important factor to justify these quick deliveries is to obtain customer feedback for improvements and corrections as soon as possible.
Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage
Main idea: CHANGES ARE WELCOME
What would happen if your customer reached out at the end of your testing phase and requested to add a new feature or said that what had been done did not meet their needs? This situation is always welcome on agile.
If your customer is asking for a change is because this change will add more value to the him. Allowing rapid change is a major competitive advantage for your customers.
If your customer requests a change, it is because that change will bring more value. Traditionally, that delivery would be at jeopardize.
In agile mode, this change would be analyzed and prioritized in the product backlog. If necessary, it would immediately add to the sprint backlog or in the next sprint. No big problems.
Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale
Main idea: DELIVER FREQUENTLY
Agile thinking promotes frequent deliveries with a shorter period of time. This results in the quick delivery of working software to the customer. In addition, this increases the team’s performance.
In each delivery, we can test the quality and functionality of the product through feedback from customers and users. We do not need to wait until the project is completed to obtain these comments and take corrective action.
Having timeboxed events is a way to assure the client that they will get the working resources in a short time.
Businesspeople and developers must work together daily throughout the project
Main idea: WORK TOGETHER
Agile thinking encourages the businesspeople participation throughout the execution of the project.
This is motivated by the need the businesspeople to monitor and collaborate throughout the construction of the product, and not only in the delivery phase.
The more the development team works in close collaboration with the client or businesspeople, the greater the added value to the final product. Furthermore, this partnership significantly reduces product delivery times.
During sprint execution, the customer is represented daily by the product owner. However, during the sprint review, the development team has the opportunity to collaborate directly with the customer and other stakeholders.
Build projects around motivated individuals. Give them the environment and support they need and trust them to get the job done
Main idea: MOTIVATED TEAM
I will try to explain this principle through a citation
Motivated people are passionate! They love what they do, and they are full of themselves (in the nicest possible way). Their enthusiasm and excitement are catching, and they attract other people’s interest and attention.
The best way to motivate a team is to allow them to self-organize, give them the necessary working conditions and remove all work impediments. Keep the team focused and trust them. Don’t play a role of babysitter (controlling and micromanaging)
The most efficient and effective method of conveying information to and within a development team is face-to-face conversation
Main idea: FACE-TO-FACE COMMUNICATION
Recently many people have promoted remote work. In many cases, this is the unique solution due to the lack of resources available locally. In agile thinking, remote work is a challenge to be overcome.
According to various surveys, only 7% of our communication is verbal. 38% is the tone of the voice and 55% is the body language. How many times have you received an email and misunderstood the message due to lack of tone of the voice or body language of the sender?
But communication goes beyond this. It is a form of relationship between two or more people. It is the means we use to express our ideas and feelings.
One very important definition in scrum is Osmotic Communication. This means that information circulates in the background, without people actually communicating, but at the same time absorbing the information that is circulating in the environment. This usually happens when people are located and working close to each other.
If you need to work with remote teams on agile projects, try to use as much technology as possible to mitigate this lack of personal (face-to-face) contact between the team.
Working software is the primary measure of progress
Main idea: MEASURE OF PROGRESS
There is a big difference between the agile and the traditional way in terms of measuring the progress of a project.
In agile thinking, what really matter is when customer is getting value fast; in the traditional way, we follow the motto ‘delivering projects on time and on budget’.
Fast and functional deliveries help to assess the progress of the project. It is not the budget or the timeline (we are talking about time-boxed sprints) that are more important, but the value of the features that are added to each new increment deliver.
Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely
Main idea: SUSTAINABLE DEVELOPMENT
Another big difference between agile and traditional thinking is related to the amount of effort dedicated by the team throughout the project’s life cycle.
Agile thinking seeks to maintain a constant development pace throughout the project’s execution. We do not encourage overtime, allocation of extra resources or an overnight work marathon in the final phase of the project to delivery on time.
A sustainable and iterative model must be established where deliveries are released at a constant speed, reducing staff stress and work overload. Agile thinking favors a balanced relationship between work and personal life.
Sustainable development helps to keep the team motivated and increases the predictability of results.
Continuous attention to technical excellence and good design enhances agility
Main idea: CONTINUOUS ATTENTION
Agile thinking always seeks to add value to the customer. Therefore, we make incremental deliveries, in order to always check the quality and functionality of the delivery.
The best time to do this is in the sprint retrospective. The team holds retrospective meetings to discuss how to make the team more effective, after which a decision is made on the next course of action, depending on the situation. This ensures that everything that has been learned during the project can be reapplied in the next iteration.
Simplicity—the art of maximizing the amount of work not done—is essential
Main idea: SIMPLICITY
We generally say that simple things are always the best. This is the principle of agile thinking. Simplicity, making simple things without bureaucracy avoiding too much details.
In other words, the team must always focus the work on the important things to add value to the project and to the clients, ignoring things that don’t add great value, like documentation, processes, etc.
The best architectures, requirements, and designs emerge from self-organizing teams
Main idea: SELF-ORGANIZED TEAMS
A self-organized multidisciplinary team has all the necessary resources to satisfy a customer’s needs for several reasons.
First, it is the team’s responsibility to deliver and not the project manager. This requires everyone on the team to focus on analyzing the requirements and finding the best solution with the greatest value for the customer.
Second, the team has autonomy and freedom of action and is not subject to the control of managers or the client.
Finally, the creativity to propose new solutions or approaches appears more easily in a group of autonomous and self-organized specialists.
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly
Main idea: REFLECTION FOR EFFECTIVENESS
Let me ask you a question: how many times have you used the ‘lessons learned’ from traditional project management?
We are asked to search for lessons learned before we start planning and at the end of the project to update with our last lessons learned.
This method helps to improve the next project, but what about the current one?
To get the best results, it is essential that teams continue to work as a reasoning unit, focusing on improving activities, prioritizing requirements, adjusting changes and adapting them accordingly to be more effective.
Don’t miss my next post where I will talk about the role of project managers in scrum projects. Stay tuned!
Did you like it?
share it Didn’t you like it?
comment or leave your thoughts to improve it