When you think about the elemental meaning of Agile what first strikes your mind! Do the words like Athletic, Quick, Nimble, Active, Lively, Spree ring any bell. If yes you got it right this is what Agile is quick and well-coordinated or say the ability to react quickly.
We can add many industry jargon’s to make decorative and elegant Agile definitions, however, keeping it simple is the key. Agile is defined as a Mindset reflected by the Four Values and Twelve Principles in Agile Manifesto. In terms of project management or software development; Agile is an iterative and incremental approach to deliver value to the stakeholders by reducing product time to market and increasing the overall delivery efficiency.
The salient and most distinct feature that disparate Agile from traditional software development approaches is the emphasis on collaboratively working within self-organizing and cross-functional teams. This doesn’t mean that agile teams don’t have any managers or they are unstructured. On the contrary these teams follow an empirical process that helps them figure out the answers on their own. This way teams can learn from their own mistakes and rise as best self-organized teams.
Agile Umbrella
Agile is used as an umbrella which incorporates multiple iterative and incremental software development approaches. From these numerous offerings an organization can select any framework which best fits their desired needs. Here below we have categorized the most popular and notable Agile frameworks based on the scale of implementation
How to choose correct Agile Framework?
As mentioned earlier there is no right or wrong while choosing from these frameworks, as they all incorporate the principal elements of iterative development along with continuous feedback & delivery.
These Agile frameworks are handy in any kind of circumstance as they truly live the defined values and principles. While incorporation, these frameworks are lightweight as compared to traditional waterfall-style development frameworks which are more plan-driven. On the contrary agile is said to be quality driven with varying scope and strict adherence to fixed resources and schedule as explained in Iron Triangle.
Selecting the best framework to achieve quality and efficiently deliver value, can be achieved via any of these frameworks, however, these should be selected considering the size of the project. Let’s try to understand in brief that which development method is best for you
Scrum
The most commonly used Agile software framework is Scrum which focuses on team collaboration. It’s an iterative and incremental software development approach that focuses heavily on frequent team communication and customer interactions. Here the product is developed in a time-boxed manner with each iteration aka sprints ranging between 1-4 weeks. The key roles in Scrum are Product Owner, Scrum Master, and Development team. The ideal size of the development team can be 7 +/-
Kanban
Kanban is similar to a scrum wherein the workflow aspect aims to create a highly visible workflow management method to streamline the in-progress tasks and help remove the bottlenecks to enhance productivity. Here the focus is on continual delivery while streamlining the flow. With the use of Kanban boards team can segregate respective tasks in three or more distinct columns “To Do,” “Doing,” and “Done.”
Extreme Programming (XP)
As this approach focuses on frequent releases it’s ideal for projects where continuous value delivery is the topmost priority. It’s important to break the features into granular tasks which have the potential to make them stoppable in small iteration of one to two weeks. What makes XP outshine is the efficient use of available engineering practices to reduce time to market.
Large-Scale Scrum (LeSS)
LeSS is no different than Scrum, it just adds a structure to Scrum with LeSS principles. It’s a lightweight framework that enables scaling scrum to more than one team keeping alive the value of empiricism. The purpose is to maintain transparency with equal emphasis on the inspect-adapt cycle for continual improvement. LeSS is divided into two frameworks
- Basic LeSS for 2-8 teams
- LeSS Huge for 8+ teams
Scaled Agile Framework (SAFe)
SAFe is one of the most streamlined and leading frameworks for scaling Agile. It provides a structured approach as enterprises start scaling. Here we can work with four configurations in SAFe to house different levels of scale: Essential SAFe, Large Solution SAFe, Portfolio SAFe, and Full SAFe. It also provides guidance at all levels of software development aligning enterprise-level strategies with the team working on a solution.
Test Driven Development and Behavior Driven Development
Both BDD and TDD are test-first approaches where BDD evolved from TDD eliminating its shortfalls. Test-driven development – It typically involves a developer where he writes test cases for a certain piece of functionality with the aim is to pass these tests by modifying the code as deemed relevant. Behavior Driven Development – It usually involves a developer, test engineer, and product manager (stakeholders) who help and define the acceptance criteria. It has a more holistic coverage where the focus remains on the outcome from the application instead of small functionalities.
Crystal Agile
It’s amongst the most flexible and lightweight agile framework which believes a single process can’t fit project with different size and complexity. To find the most suited approach for your project you need to rely on three dimensions namely team size, criticality and project priority. Further, these projects are given color codes based on the number of people involved
- Clear – Team Size < 10
- Yellow – Team Size between 10 – 20
- Orange – Team Size between 20 – 50
- Red – Team Size between 50 – 100
Although Crystal is a permissive approach that accepts changes as per project and team size requirement it’s one of the most flexible frameworks available. While implementing crystal the most important thing for the teams to abide and live by is to ensure they follow the defined crystal properties.
Overall, all these agile frameworks are built with a people centrist focus. Along with iterative and incremental development cycles these frameworks always advocate for enhanced communication.
While implementing any of the Agile frameworks if you are struggling with the nitty-gritty of getting the job done always remember we are just one click away.