Agile as a set of values and principles has now been available for a long enough period that everyone seems to be incorporating it into their practices. However, in order to fully incorporate it, we need to know exactly what Agile stands for, in both letter and spirit. Once we understand Agile, we can figure out whether or not our situation is suitable for Agile. Agile’s underlying philosophy is to leverage human nature as much as possible, just like OOP’s programming was to simulate human interaction with the world. The Agile Manifesto states its four core values as follows:
In order to know if our situation is suitable for Agile or not, we need to understand our motivations.
Before we even think about taking upon some idea to improve our life, we must be sure that it is as good as it claims to be. The beauty of the Agile approach (in comparison to the Waterfall approach) can be illustrated by applying the Pareto principle (the 80:20 rule), wherein 80% of our tasks are done in 20% of the time allocated. Psychologically, we are driven to work under pressure, and most work is actually done when a deadline approaches. If this seems like your work method, don’t feel bad. Once we have accepted that this is how we work, then we can figure out how to make the best use of it.
In the traditional Waterfall approach, the deliverables are given very late, possibly with a half yearly/yearly cycle or more. This provides little chance for either feedback or improvement. In most cases, the business value is already lost by the time it’s delivered. The Agile approach divides the delivery cycle into smaller ones comprising of releases and iterations. This gives ample time to receive early feedback in retrospective sessions, and therefore allow us to work efficiently during a deadline crunch. Make mistakes, but learn from them and move on.
Since Agile originated from a perspective of software development, as stated in the Agile Manifesto, we have always taken it in that manner only. However, Agile is not just about software development; it is also how we live out life. When we follow the Agile principles to their core, we are “being” Agile. However, we have built our own processes and practices around these and in doing so, we seem to have lost the spirit behind the actual purpose. We need to inculcate Agile as a mindset, understanding the motivations rather than just “doing” Agile-related activities. The activities are meant for improvement, but once we understand the spirit behind them, we can begin implementing Agile better.
The weakest link is almost always a lack of proper estimation for the tasks to be completed. Once we have this prerequisite, we are able to plan out our lives well enough.
This strengthens trust built via delivery skills because the entire work is transparent without hiding anything, even failures. This plays a major role in continuing a healthy and mutually-satisfying relationship, because clients also appreciate their own growth and can accept us as their product partner rather than simple people-on-hire.
Because Agile is all about continuous adaption to change, no specific rules or plans apply for every time and every situation. We must use our experience and knowledge to make judgment calls at all times. That being said, we can have a few generic recommendations, which can help teams remain productive on a continual basis.
Being Agile, the 3Pillar team understands that business needs can change at any time; thus, we seek and respect the decision of the Product Owner. In addition to building a trust relationship with the client, being Agile also gives us insights into how the business works, which allows us to gradually contribute suggestions. By trusting and empowering our people to make and adapt decisions for each situation, we have a highly motivated, self-organized team that the client is proud to have as their product partner.