See all articles
Agile Methodology and Top Agile Frameworks in 2020-2021

Agile Methodology and Top Agile Frameworks in 2020-2021

Twenty years since its official launch, agile becomes mainstream. What are the most widely used agile frameworks in 2021? How do they help IT and business teams to be successful in today’s economy?

2021 marks the 20th anniversary of the *Manifesto for Agile Development*, a document that initiated a revolution in software development project delivery. Agile embraces constant changes in business requirements, user needs, technology, and other circumstances. That empowers organizations in succeeding in today’s economy and made agile a mainstream methodology not only in IT but also in business teams, such as operations, marketing, security, HR, etc.

According to the *15th Annual State of Agile report*, 66% of respondents use scrum in their agile practice and 15% apply its derivatives (ScrumBan and Scrum with XP to be precise). In terms of scaling agile, most organizations choose Scaled Agile Framework (SAFe®).

In this article, we will go through the principles of the agile mindset and check what has changed over the years in the way it’s executed. We will also take a closer look at the specifics of the most widely used agile frameworks: scrum and its derivations. If you’re looking into switching your project management methodology to agile, we untangled the process of waterfall to agile transition in one of our previous articles.

Agile Project Management Philosophy

In 2001, seventeen software practitioners published a document that changed software development forever. The Manifesto for Agile Software Development is only 68-words long yet created a foundation of agile project management philosophy that has been gaining popularity ever since.

According to the manifesto, four fundamental values lead agile teams:

  1. Individuals and interactions over processes and tools
  2. Working software over comprehensive documentation
  3. Customer collaboration over contract negotiation
  4. Responding to change over following a plan

There are twelve principles behind the values, and together they describe how to approach software development in an agile way. The key elements of the agile mindset from a project management perspective are:

1. Work breakdown

The workload is divided into short iterations called sprints. A sprint is usually two to four weeks long. Its scope and time frame are clearly defined.

2. Flexibility

Changes in prioritization and scope of work are integral parts of agile. Each iteration is an opportunity to learn and verify assumptions for the team. In the most popular agile framework, called scrum, there is also a dedicated role (the product owner; we’ll talk about that later in the post) that updates the product backlog based on current client, business, and market needs. Each sprint starts with a planning session when the product owner guides the team on what to deliver next.

3. Value of teamwork

Effective teamwork is critical in an agile environment. The methodology entails a high level of trust and autonomy. Teams are self-organizing, and there is a lot of space for collaboration and no place for micromanagement. Team members work closely together, as well as with customers and stakeholders. They share common goals and regularly reflect on how to become more effective as a team.

4. Cooperation with a client

As opposed to waterfall, agile involves the client in every stage of product development. The client may be the business that a team develops a product for or the final users of the product. Both groups are crucial for each agile process and its success.

5. Iterative improvements

Each agile framework features a reflection time when the whole team comes together and discusses what went well and what can be improved. Be it communication, documentation, or tools used in the project, anything that stands in the way to an effective delivery should be a subject for discussion. Thanks to short release cycles, improvements can be tested and adapted quickly.

Agile Development Cycle

No matter the framework and practices you choose for your product development, the process will be similar. Work will be divided into short iterations that deliver usable and releasable increments at the end. The agile development cycle has seven main steps:

1. Defining requirements and planning

2. Creating a product roadmap

3. Design

4. Development and testing

5. Releasing features

6. Retrospective

7. Iterating a final product

Even though the overall goal of each agile team is to adapt to change and deliver working software quickly, those steps may vary. Some projects require heavier collaboration between software developers and UX or UI designers, some have a more complex QA process, working on an MVP differs from iterating on a product with a large user base, and so on.

Agile Methodology in 2021

Since the beginning of the Covid-19 pandemic, businesses all over the world have experienced a dramatic shift to remote work and a distributed workforce. In order to adapt to the new reality and unpredictably changing requirements, organizations adopt agile in different enterprise functions.

In software development, agile’s target field, 86% of teams use it in 2021. This is a sharp, 1-year increase from 37% software development teams operating on agile in 2020. But agile spread doesn’t end here. A majority of the *15th Annual State of Agile* survey respondents said that either a majority or a half of their organization’s teams use agile. Apart from software development, businesses adopted agile in teams including operations (29%), marketing (17%), security (17%), HR (16%), Sales (11%), and more.

The main reasons for adopting agile lay close to the methodology’s principles:

  • Improving the company’s ability to handle changing priorities
  • Streamlining software delivery
  • Enhancing productivity
  • Improving the alignment between IT and business
  • Increasing the quality of produced software

As agile adoption goes mainstream, teams experience different challenges related to the methodology, frameworks, practices, and tools. That being said, the most frequently reported challenges have remained unchanged over the last couple of years: inconsistencies in processes and practices, cultural conflicts, organizational conservatism.

Overall the biggest challenge the future holds for agile and businesses is scaling the methodology. For that to be effective, organizations need skilled and experienced agile practitioners and leadership advocacy and active participation.

Top Agile Frameworks and Practices in 2021

Based on agile philosophy, different agile frameworks and practices have emerged. Ahmed Sidky, Ph. D., also known as Doctor Agile, explains the agile mindset in the following way:

*Agile is a mindset described by 4 values, defined by 12 principles, manifested through an unlimited number of practices.*

Agile is flexible. It enables teams to incorporate various practices depending on their changing needs. Among different approaches to structuring agile processes to get things done, the most popular agile frameworks in 2021 are:

1. Scrum

2. ScrumBan

3. Scrum/XP hybrid

4. Kanban

Scrum: the Most Widely Used Framework

In scrum work is divided into sprints. Each sprint is supposed to be small and manageable and to deliver a complete user story. This framework acknowledges uncertainty and change. Short release cycles allow re-prioritization, as well as constant learning and improvements.

The goals of scrum are to continuously adapt to ever-changing user requirements and other conditions while shipping working increments of the product.

When to Use Scrum?

Scrum is a good solution for teams working on long-term, complex projects, so when requirements are not clearly defined and/or will probably change over the course of work. The framework will also support the team in regularly gathering and incorporating feedback from users and stakeholders.

You will benefit from using scrum if your team is working on an existing product which profitability can be increased by releasing improvements faster but in smaller chunks.

Another use case is testing. Be it building a new product or trying out a new approach in an existing solution, in scrum an MVP of a product or a feature is released quickly, and the feedback is obtained early. Again, short learning cycles help verify ideas rapidly and adjust them or reject them with little investment lost.

Why is Scrum so Successful?

As any agile framework, it helps to successfully manage changing priorities and user needs. It enables transparency and communication in the development team and with other stakeholders.

On top of that, Scrum is straightforward. Its basis are simple and easy to understand and implement. It’s also very flexible, which allows more experienced users to adjust to various requirements while keeping the benefits.

Even though it started as a software development framework, different kinds of teams successfully implement it in their operations. It used to be and still is a powerful solution for startups, but it’s also used by business giants, such as Google, Facebook, Spotify, Apple, or Airbnb.

The community of Scrum practitioners is huge and values knowledge sharing. Numerous well-documented use cases describe not only practices that worked well, but also those that proved unsuccessful. On top of that, Scrum improves productivity as it keeps team members focused, accountable, and motivated.

ScrumBan

ScrumBan is a framework that combines Scrum and Kanban. It’s very easy to implement in teams that have been already working in Scrum. The goal of ScrumBan is to empower teams with the agility of Scrum and the simplicity of Kanban.

Just like in Scrum, iterations are short to ensure agility. However, the workload for each iteration is defined by the Work In Progress (WIP). Planning and review are held upon the team’s request. They are not necessarily linked to the release cycles and are scheduled every 2-4 weeks automatically like in Scrum.

The product backlog should be kept up-to-date and always reflect business priorities. The person responsible for the backlog is the Product Owner.

Like in Kanban, each iteration is visualized on a board that originally has three columns: *to do*, *in progress*, and *done*. Depending on a workflow, more columns can be added to represent the progress and state of items, for example*, testing* or *in review*. Similarly, the board helps to spot bottlenecks. There should also be a limit on how many items can be in progress to ensure effective delivery.

Since ScrumBan is relatively new and it blends two different frameworks, its users may encounter a number of loopholes. There are no limits to the size of a ScrumBan team and the framework doesn’t entail any specific roles. That can be empowering and make team members more accountable, but it may also result on the contrary. It can also generate inconsistency around the priorities. Moreover, there are no daily scrum meetings by default.

To make sure ScrumBan works properly, it’s necessary to add on some of the agile practices mentioned later in the post.

Scrum/XP Hybrid

Scrum/XP is a mix of Scrum and Extreme Programming (XP). Like both, it’s straightforward and lightweight.

The goal of Scrum/XP is to ensure team agility by incorporating Scrum practices and enhancing software quality through XP practices. As all agile frameworks, it also focuses on improving productivity and streamlining the delivery process.

Team size, accountabilities (development team, scrum master, and product owner), and the workflow are the same as in Scrum. What’s extra are the engineering practices coming from XP:

  • Continuous integration
  • Test-driven development
  • Behavior-driven development
  • Refactoring
  • Pair programming.

This holistic approach to the delivery process is a great option for software development teams focusing on the code and overall product quality. Focusing not only on optimizing the workflow but also strongly emphasizing the use of programming best practices, helps to build extraordinary products.

Kanban

Kanban is all about visualization. Work items are represented on a Kanban board. The board shows all the work items: to do, in progress, and done. It can be accessed at all times by all team members and stakeholders.

Kanban is based on complete transparency and continuous workflow that allows changes at any time. The goals of kanban are to maximize efficiency and reduce time by limiting the work in progress and constantly optimizing the process. Over the years, it gained a lot of popularity and now is frequently used together with other agile frameworks to visualize and manage workflow.

Top Agile Practices in 2021

Once you decide on a framework, you can adjust the workflow to your needs by incorporating different agile practices. Agile practices cover a variety of product development areas, from team meetings to particular activities such as coding, testing, design, QA, risk management, etc. Nowadays, some of the most widely used are:

  • Daily standups
  • Retrospectives
  • Sprint/iteration planning and review
  • Short iterations
  • Kanban
  • Planning poker
  • Agile/Lean UX.

In terms of agile practices closely related to the technical aspects of software development, we have:

  • Test-driven development (TDD)
  • Pair programming
  • Continuous integration (CI)
  • Story-driven modeling
  • Refactoring
  • Domain-driven design (DDD).

Agile’s and Scrum’s Future Are Bright

Agile together with its most popular frameworks proved to be essential for businesses to strive and thrive in today’s world. We can expect agile practices to become more and more diverse, as different kinds of teams adopt them in their daily operations.

One of the great risks of this increasing popularity is agile becoming just a buzzword. Not every organization or team is ready to embrace the agile mindset. Sometimes, going agile may be mistaken with a change of tools or adding extra meetings to the weekly plan. Let’s remember about the agile principles, and only after we really understand them, think about the frameworks, practices, role names, and tools.

If you’re interested in applying scrum or its derivations in your software development with the support of experienced practitioners, let’s get in touch!

Read Similar Articles