Basic Notions of Agile Methodologies

10 min read
Mar 26, 2024 9:11:45 AM

Agility allows companies to save time, get ahead of the competition, reduce risks, improve response time to changes, and motivate teams to work more autonomously.

In this article, we will explore agile projects in depth and how it is changing how companies in Colombia save time, stay ahead of the competition, reduce risks, and motivate their teams to work more autonomously. These are the topics you will find below.

If you are reading this article, you have probably already heard about agile frameworks such as Scrum, Kanban, and XP, which help us deal with uncertain and complex problems, need feedback, and eventually make changes in the path. 

Today, many companies work with agile methodologies, achieving greater adaptability and the ability to respond to the changes that the path shows them, as well as having information to make decisions and create value. 

What Are Agile Methodologies?

Agile methodologies are a series of practices or frameworks we use to make things happen. They are associated with agile projects, which is understood as a set of principles, values​, and mental models to solve problems more effectively.

In the past, the software industry was used to facing problems with ‘traditional’ methods and ways to predict the solution without understanding the uncertainties very well. When there was a problem, engineers assumed that they would solve it with a specific key, and then they planned, designed, developed, and delivered as outlined. But months passed, and in the end, they realized it was not the solution.

We currently live in a VUCA environment, which means people’s needs are constantly changing. This represents a challenge for companies seeking to innovate in the market since they cannot face adverse scenarios where their products and services do not have the desired impact or do not produce the expected benefit.

The agile framework as a movement was born at the beginning of this century with the manifesto for agile development, which has 12 principles, including satisfying the customer through early and continuous delivery of valuable software and harnessing change for competitive advantage.

People cannot wholly predict the solution to problems when working with agile methodologies. What they can do is get as close as possible, within small delivery periods, and receive feedback from the customer in each. If the path is good, they should continue; otherwise, they should look for another.

 

 

Principles of the Agile Manifesto

In the Agile Manifesto, individuals and interactions are valued over processes and tools; working software is more valuable than comprehensive documentation. 

The Agile Manifesto was created in February 2001 as an alternative to formal methods. Agile methods are based on 12 principles: 

  1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
  3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  4. Business people and developers must work together daily throughout the project.
  5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  7. Working software is the primary measure of progress.
  8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  9. Continuous attention to technical excellence and good design enhances agility.
  10. Simplicity—the art of maximizing the amount of work not done—is essential.
  11. The best architectures, requirements, and designs emerge from self-organizing teams.
  12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

In agile frameworks, we should always be thinking, designing, and developing based on the user, which will determine if something is valuable based on use and the satisfaction of a need. As we see, one of the principles of the Agile Manifesto says that the main priority is to satisfy the customer through early and continuous delivery, which sums up the focus, and the other values ​​greatly complement it. Teams constantly reflect to find ways to be more effective and adjust their behaviors. 

What are the two essential principles of agile projects?

Inspection and adaptation: Based on the result, I inspect myself, adapt, and make decisions. Inspection and adaptation can occur from many dimensions: how a team works and its methods. Then the members ask themselves, are we working well? Are we analyzing ourselves? Or should we make changes?

“Being agile is inspecting the result, adapting, and adjusting with customer feedback.”

It has much to do with the people working and their interactions because we form teams to solve other people’s problems; it is not about having a magic formula. The users' complexity and interactions mean we must constantly face those unexpected things, products, and relationships in the market. 

In agile projects, the role of the leader is critical to motivating and influencing the team.

 

Characteristics of Agile Teams

High-performance teams are cross-functional, which means that as a whole (as a team), they have all the necessary capabilities to solve a particular problem and should not depend on other areas or units. It does not mean they are superheroes or have knowledge of all fields, but they complement and learn from each other.

“They are self-organized, which means that based on value-oriented objectives and priorities, they decide how to develop the solution, make certain decisions, and take risks and commitments to achieve the objectives.”

Usually, they are small teams. Some experts say the ideal is seven people, but it does not mean one of four or nine people does not work.

It has to do with the complexity of people’s relationships; when I have large groups, I have incredible difficulty getting them organized, making it hard for conflicts to be acceptable and have solutions. It is much more challenging for them to have that cross-functionality and solve the problem independently.

They are teams that may have software development and testing skills as we usually know them. Still, they should also include other capabilities beyond developing and testing lines of code. In our case, the participation of experts in User Experience, Architecture, and Security is relevant. Around the team, other people may assist in understanding needs and solutions.

 

Agile Work Frameworks

Within agile methods, we can find multiple frameworks. Each project and each company are unique and must know which framework best suits their needs, without this meaning that they are exclusive. Below, we present the characteristics of the two main ones: Scrum and Kanban.

1. Scrum

Scrum is a framework based on the principles and values ​​of agile projects. It is based on a product backlog or product stack, which is prioritized. Teams understand the needs with the help of the product owner and commit to developing a particular portion of that product stack in the sprint (delivery times), usually between 15 and 30 days. Ideally, it should be done within 15 days since the spectrum of errors or changes can be reduced.

Teams begin to work in the sprint, doing inspection and adaptation. Every day, they evaluate their commitments, the things that were done to get closer to it, how each person will commit the next day, and whether they have any impediment or something blocking them from pursuing the sprint goal.

The framework invites you to take the project in mind and detail it through user stories, which help you understand the entire spectrum of the project in depth. Once done, we defined which of those stories immediately gives value to the product.

“One of the most outstanding aspects of the framework is that it helps correct errors or adapt changes quickly.”

The next step is to take those user stories that we defined initially and divide them into sprints to deliver the greatest possible value to the product, considering the work team’s speed and the stories’ complexity.

What are the roles of a Scrum team?

  • Product owner:
    The person who knows the users’ needs, knows the business from head to toe and is involved in defining project priorities.
  • Scrum master:
    The person who knows all the project monitoring, is responsible for coordinating meetings, cares about the performance and continuous improvement of the team, helps remove obstacles that may arise during work, and acts as a retaining wall for when external pressures arrive.
  • Development team:
    Made up of a group of developers who are responsible for project activities.
  • Users or stakeholders:
    The people to whom the project is aimed, that is, the end users who will use the product we are developing.

What is done in the Scrum process?

Product backlog: According to the Scrum guide, the product backlog is an ordered list of everything that might be needed and is the only source of requirements for any changes to be made to the product. The product backlog lists all features, functionalities, requirements, improvements, and fixes that are changes to be made to the product for future releases. Product backlog items have descriptions, ordering, estimates, and amounts as attributes.

The idea is to get the most straightforward story among those we have. It does not necessarily mean the easiest to do, but rather that all team members know how to do it so that it becomes the common denominator. Scoring is an activity carried out within the Scrum process and helps us give high scores to complex stories and low scores to simpler ones. Accordingly, we will know the number of points a team can commit to during an iteration or sprint.

Sprint backlog: According to the Scrum guide, it is the set of product backlog items selected for the sprint, plus a plan to deliver the product increment and achieve the sprint goal.

Burndown chart: A tool to facilitate visibility in progress toward delivering value and fulfilling the commitment made by the team in the planning meeting through backlog items completed during the sprint represented in user story points.

This graph lets us know the team’s progress, reconciling the sprint days against the promised points. Thus, the product owner can estimate if development is slow or if, on the contrary, the team can produce more points than it committed to in this sprint.

What are the steps or ceremonies that Scrum includes?

Sprint planning

It consists of a meeting with the project members. The only ones that can be dispensed with in this meeting would be the stakeholders. In it, all the previously prioritized user stories are taken, and it is decided which will be carried out in the sprint. The activities are distributed among the team members, and the number of points the team will commit to in that sprint is established.

Daily Scrum

It is an iterative process performed daily with all work team members. In this 15-minute meeting (some usually use 30 minutes), the sprint development is discussed, and each team member is allowed to answer four questions only: What have you done since the last daily? What are you going to do today? What are your obstacles? How can the team help you?

Sprint review

At the end of the sprint, a sprint review is conducted to inspect the increment and adapt the product backlog if necessary. During the sprint review, the Scrum team and stakeholders collaborate on what was done during the sprint. Based on this and any changes to the product backlog during the sprint, attendees cooperate to determine the next things that could be done to optimize value. This is an informal meeting, not a follow-up meeting, and the presentation of the increment is intended to facilitate information feedback and encourage collaboration.

Sprint retrospective

It is an opportunity for the Scrum team to inspect itself and create a plan to address improvements during the next sprint.

 

2. Kanban

The Kanban method aims to manage a company’s workflow agilely. 

Kanban has two meanings in Japanese: Kanban, written in Kanji, means “sign” or “large vision board,” and Kanban, registered in the Hiragana alphabet, means “card.”

Kanban is a visual method or information system that allows fluid, end-to-end production control, adapting a pull system that allows moving from one task to another, benefiting the continuous delivery of product value.

Principles of the Kanban method

To have better performance using the Kanban method, we must apply the following principles:

  • Start with what you are doing now, respecting the current processes, roles, and responsibilities.
  • Understand the client’s needs and expectations and focus on them. All activities included on the board must point to a solution.
  • Work management. People are the ones who must self-organize around the assigned tasks. This is why it is vital to have a self-managed team.
  • Agree to pursue incremental, evolutionary change. The Kanban method will aim to deliver value, improve time, and solve problems.
  • A constant review of the network of services and policies.
  • Encourage acts of leadership at all levels in your organization.

How to apply the Kanban method

The Kanban method is like eating an elephant; it is a task that requires organization and teamwork. Here, we explain the basic steps; if you want to go deeper, learn how to apply the Kanban method. 

  • Define the work objective with the team. Everyone must be aligned with the project purpose and know the expected result well.
  • Divide the project into parts; the smaller, the better. This step uses Kanban cards to write the required activity to meet the defined objective.
  • Perform each task. The Kanban board must be divided into three columns: to do, in process, and finished. Each card is assigned an owner and a delivery commitment date. The cards must move in the columns as we progress in their completion.

You can implement Kanban using Trello, a tool that allows visualization and management of work in progress in a more agile way. 

Advantages and disadvantages of the Kanban method

The Kanban method has pros and cons in its implementation. Here, we will give you the basics.

Advantages of the Kanban method Disadvantages of the Kanban method
  • Value creation
  • Improved productivity    
  • Organized and clear workflow
  • Greater compliance with delivery times
  • Improved quality of the delivered product 
  • Clear task assignment for all members         
  • Flexibility in product development according to market changes 
  • High costs incurred if the entry of work lots is not controlled
  • Limitations in the assignment of tasks in the case of very specialized jobs
  • Application not suitable for all projects
  • Overflow of work if Kanban policies are not followed 

 

Agility in Colombia

In short, more and more companies in the technology and banking sector use agility to solve complex problems, face change, and stay ahead of the competition and what their users want. 

Successful companies such as Spotify, Amazon, and Airbnb work to innovate every day with agile methodologies, give autonomy to their teams, learn from mistakes, and promote collaborative work to be leaders in the market and inspire new entrepreneurs.

But in Colombia, we are not left behind; thanks to agility, companies like Bancolombia have achieved accelerated growth in their processes. In the case of Nequi, agility has contributed to the creation of innovative products such as the Préstamo Paracaídas, a development in record time.

Constant improvement and agile development are the keys to creating digital assets that improve people’s lives. Achieve your business objectives through high-performance teams.  

contact us

Subscribe to
Pragma Blog

You will receive a monthly selection of our content on Digital Transformation.

Imagen form