Hello Agile Fans!!!! So following up from our last blog, we explored the Agile Way to Plan for Success and highlighted the steps to be taken when conducting Agile Release Planning. Now that we know how to plan for success, is there only one way to be Agile? The answer is No! In this issue, we will discuss:
1.The different Agile approaches/methodologies
2.Explore which methodology could be right for you and
3.Look at a Hybrid approach.
Presently the words ‘Agile’ and ‘Agility’ have become popular and are being used loosely. We are often misled into thinking that there is only one way of being agile. However, being Agile and business. Agility are applicable to all parts of, as well as all types of organizations.
Just to be clear, Agile is not just SCRUM.
What is Agile?
Before we jump into our discussion, let’s dissect and explore the aspects of what Agile means. Is Agile an approach, a method, a practice, a technique or a framework? Well, the PMI Agile Guide states that any of these terms could apply depending on the situation. Agile Alliance defines Agile as “the ability to create and respond to change. It is a way of dealing with, and ultimately succeeding in, an uncertain environment”.
Agile is a mindset which is described by the four values and twelve principles defined from the agile manifesto, and is manifested through an unlimited number of practices, tools and processes.
Agile approaches and agile methodologies are umbrella terms that cover a variety of frameworks. It is important to note that Agile is not necessarily a methodology, but an approach that can utilize a variety of methodologies.
Agile and Its Approaches/Methodologies
Agile approaches and methodologies are a set of principles and practices that emphasize flexibility, collaboration, and continuous improvement. The Agile Manifesto outlines the primary tenets of the agile philosophy. It uses rolling wave planning, iterative and incremental delivery, rapid and flexible response to change, and open communication between teams, stakeholders, and customers. Some examples of agile methodologies include SCRUM, Extreme Programming (XP), Lean, and Kanban.
Some would say that agile methodology is a project management approach that prioritizes cross-functional collaboration and continuous improvement. You could also say that agile methodologies are frameworks that teams and organizations use to put the agile mindset into practice. If Agile is the ‘What’, then Agile methodologies is the ‘How’. So what do you think is the purpose of utilizing an Agile methodology? Well, the purpose of implementing any agile methodology is to increase business agility and eliminate waste.
There are many agile methodologies as well as frameworks that could be utilized to effectively scale agile across organizations. Let us dive in and take a closer look at some popular methodologies:
- Scrum: This is one of the most widely used lightweight Agile process frameworks. Scrum excels at managing iterative and incremental projects. The Scrum framework is distinguished from other agile methodologies by specific concepts and practices, divided into the three elements of Roles, Artefacts, and Ceremonies. Work is organized into time-boxed iterations called sprints, typically lasting 1-4 weeks. During each sprint, the team focuses on delivering a potentially shippable product increment.
- Extreme Programming (XP): This also emphasizes speed and continuous delivery. Like Scrum, XP enables closely-knit teams to deliver working software increments and frequent intervals, usually every 1-3 or 4 weeks. It relies on customers to communicate the most useful feature of a software product and developers to work towards implementing that feedback.
- Lean: This is more flexible than Scrum or XP, with fewer restricted guidelines, rules or methods. Lean is based on a set of principles developed to ensure value and efficiency in production. Lean relies on five (5) principles and Lean management: Identify Value, Value stream mapping, Create continuous workflow, Create a pull system, and Continuous improvement.
- Kanban: It focuses on helping teams work together more effectively to enable continuous delivery of quality products. Kanban is unique, however, it offers a highly visual method for actively managing the creation of products. Kanban relies on six (6) fundamental practices: Visualize the workflow, Limit work in progress, Manage flow, Make process policies explicit, Implement feedback loops and improve collaboratively.
Agile methodologies generally promote a disciplined process that encourages frequent inspection and adaptation. It is how you go about trying to achieve agility that determines whether or not you are practicing Agile.
How Do You Decide Which Framework or Methodology is Right for You?
The idea is for your team to have a clear, unified approach for how to define and complete the work for more flexibility, faster and higher quality. The workflows and processes that are optimal for other groups may not be right for you. Your specific industry, company culture, team size and type of product you are building will all influence the methodology you choose. So let’s go a little more in depth on how to decide. There are at least three (3) categories to look at when deciding which framework or methodology is right for you: Organizational, Product and Team Characteristics.
All teams like Scrum because it is easy to follow and scale. It enables management teams to identify problems early on and fosters strong, active collaboration between teams and colleagues.
XP is frequently recommended for small teams of experienced Developers that are knowledgeable in the XP methodology and comfortable collaborating with all stakeholders.
Lean particularly emphasizes eliminating waste. In the context of software, that includes cutting out wasted time and unproductive task, efficiently using team resources, giving teams and individual decision-making authority, and prioritizing only the features of a system to deliver true value.
Kanban achieves its practices through the use of a Kanban board. The board facilitates the visual approach to Agile using columns to represent work that is ‘To Do, Doing and Done’. This methodology improves collaboration and efficiency and helps define the best possible team workflow and helps to identify bottlenecks.
Hybrid Agile Approach
One single approach is not mandatory to use when undertaking initiatives. It is possible to combine elements of different agile methodology and or waterfall approaches in executing work. A combination of predictive, iterative, incremental and/or agile approaches is a hybrid approach. The hybrid approach can be used when there is uncertainty, complexity, and risk in some portion of work that would benefit from an agile approach, followed by a defined, repeatable roll out phase that is appropriate to undertake in a predictive way. This approach allows for greater flexibility and adaptability, which also incorporates some structured and defined processes.
In a hybrid agile approach, teams may use agile practices such as iterative development, continuous feedback, and self-organizing teams, while also incorporating elements of other methodologies as needed. The goal of a hybrid agile approach is to leverage the benefits of both agile and traditional project management, allowing teams to adapt their processes to the specific needs and constraints of their project. This can be particularly useful in situations where a purely agile or traditional approach may not be suitable.
It should be clearer now that there is no one way to be Agile. As we mentioned earlier, Agile is a state of mind and not prescriptive. Ideally, it should feel expansive and liberating rather than confining.
Regardless of where you are in your path towards being Agile, adopt agile methodologies and/or agile practices that are best suited to improve your quality of service and time to market.