“ The fundamental unit of work in agile transformation is creating the environment for agile to be able to operate “ — Mike Cottmeyer, CEO, LeadingAgile, LLC
Wikipedia states ‘In software development, Agile approaches development requirements and solutions through the collaborative effort of self-organizing and cross-functional teams and their customer(s)/end user(s). It advocates adaptive planning, evolutionary development, early delivery, and continual improvement, and it encourages flexible responses to change.’
While the above is true, Agile in its truest sense is more of a mindset than a methodology or process. Agile focuses on:
- Not just a different way of working, but also on a different way of thinking
- Short-term planning instead of eliminating work to deliver services on time
- Allowing teams to focus on a smaller set of goals or requirements, instead of targeting to deliver one final product at the end
The Agile Manifesto
The Agile Manifesto is a document on agile software development curated and published in February 2001, by 17 software development practitioners outlining 4 agile values and 12 agile principles.
The Agile manifesto suggests that although the pointers on the right are important, the values on the left are crucial to a successful agile team.
1. Individual and Interactions over processes and tools
Often organizations invest heavily in possessing the best possible tools, technologies, and processes and while that’s important, the people behind these entities are imperative. The tools and processes would render useless if they are in the wrong hands. This value stresses on interactions and communication between team members.
2. Working software over comprehensive documentation
The agile manifesto suggests focusing on working to deliver the actual software instead of detailing the documentation. Sometimes, developers would spend considerable time outlining and creating comprehensive documentation before starting to develop the software. Although it is considered good practice to have a detailed documentation in place, there comes a point in time, where the gears need to be shifted into developing the software and delivering it to the customer. Delivering a working software product to the customer should be considered, the highest priority.
3. Customer collaboration over contract negotiation
Previously, there was a huge emphasis on chalking up a contract wherein the customer would specify and detail the end product they have requested. However, this would often result in some contrast in what the customer requested and what was delivered. The Agile Manifesto suggests making the customer a part of the continuous software development process. A possible feedback mechanism should be created to ensure the product is being developed according to the customer’s requirements and is on the right track, so there remains no scope for requirement gaps.
4. Responding to change over following a plan
Teams rarely find themselves in a situation where the roadmap for a project does not change. The manifesto suggests that with customer’s shifting priorities and requirements, a flexible roadmap would prove much more helpful as compared to a rigid, static roadmap. This essentially indicates that teams should be more adept at accepting and responding to changes in their plans and roadmap.
In addition to Agile values, the agile manifesto consists of 12 Agile principles, listed as below —
Although the Agile values and principles were published almost two decades back, they have proven to be relevant even today, mostly due to the fact that they are based on ground human nature and economic actuality, both of which rarely fluctuate.