“The Twelve Days of Christmas” is a famous song sung at King Pepin's Ball as a part of 1780 children's book.
It goes something like….
“On the first day of Christmas my true love sent to me
A partridge in a pear tree.
On the second day of Christmas my true love sent to me
Two turtle doves
And a partridge in a pear tree.
On the third day of Christmas my true love sent to me
Three French hens,
Two turtle doves,
And a partridge in a pear tree”
And so on…
December is all about festival, celebrations, lights, happiness, and fun all around. Isn't it?
What made me write a blog on this? Can you take a guess?
If you guessed that Agile is something similar to all the good happenings around, well that’s a correct guess!!
Like this song “The Twelve Days of Christmas”, we have twelve principles in Agile that essentially form the backbone of the way we work.
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
Many organizations today focus on going the Agile route, while their highest priority should ideally be on continuous delivery of value to their customers. If Agile enables them to achieve the end goal, then yes, Agile is the way forward. Do not shift your focus on to transitioning to Agile as your end goal, as that would jeopardize the highest priority of satisfying your customer with value-based solutions.
Welcome changing requirements, even at a later stage of development. Agile processes harness change for the customer's competitive advantage.
You got to be extremely careful while understanding this principle and putting this into practice. It really means, you embrace the change that is coming up, before you begin the iteration/Sprint and not in between them. You might come across a few who impose a change in the name of Agile, pointing you to this principle.
Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
This means you deliver products/solutions to the market faster, in shorter cycles, usually in 30 days or less.
Business people and developers must work together daily throughout the project.
This principle stitches well with the third Agile Manifesto (Customer collaboration over contract negotiation). The meaning of the word “Business People” varies from organization to organization. However, the idea is to collaborate and work together day-in and day-out to ensure the teams deliver the value at the end of each iteration/sprint.
Build projects around motivated individuals. Give them the environment and support they need and trust them to get the job done.
This is my most favorite principle. Particularly the word 'Trust'. Recognizing the work and efforts of your team is very important. Value each team member’s point of view, respect them and most importantly trust them in what they do.
The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
With all the practical issues of the teams sitting across the shores, it is important to have a good live collaboration tool. The whole equation changes when we see the person we are talking to. Don’t you agree? It becomes difficult to understand the other person’s point of view without actually seeing them. Recently, we had this issue in one of our teams and we all decided to turn our cameras on while stand-ups daily. It made a big difference to the team. They could communicate and collaborate better than ever by looking at each other while talking.
Working software is the primary measure of progress
Despite having all the productivity measures, what matters the most is the delivery of the value to customer at the end of each iteration/sprint. This would be the first and the only way to measure your progress.
Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
Here the sustainability is the key. In this digital world, the phrases "Build, Test, Release, and Repeat" are often heard. This is the need of the hour to meet customers' demands. The world is moving towards faster Return of Investment (ROI) and generating quicker business values, so that the customers can sustain at their competitive edge in the market. To accomplish this, the machines alone can’t help you. Building a team of cross-skilled professionals and keeping them motivated to build those viable products is equally important. That is another way of looking at this principle.
Continuous attention to technical excellence and good design enhances agility
There are multiple aspects to this. Attention to technical excellence can happen at multiple levels, right from including the ‘Definition of Done’ to bringing in DevOps practices to ensure the Minimum Viable Product (MVP) shipped is bug free and is of an utmost quality.
Simplicity--the art of maximizing the amount of work not done--is essential
Some organizations have the habit of estimating the whole backlog. That is an anti-pattern of this principle. It is always best to keep it simple. Why do we need to estimate all the backlog items that probably wouldn’t make it to the development or evolve as a requirement anyways? Estimate the ones that are required in the next couple of sprints and that is it.
The best architectures, requirements, and designs emerge from self-organizing teams
Agile revolves around people and not always tools or processes. So, focusing on people becomes extremely crucial for Agile to stay within the organizations. There should be a good balance between the people, the processes and the technology. While talking about people, there is always phases of Forming, Norming, Storming and Performing. One who facilitates the team should very well understand these phases and give the time that a team requires to become self-organized.
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
I like this principle as it directly relates to a Scrum event called "Retrospective". While all the events are important, this event gives an opportunity for the team to inspect and adapt. And to continuously improve, it is important to get your foundation strong. Rest will automatically fall in place.
Have a great Christmas and an 'Agile' Happy New Year 2020 :)