+34 868 970 005 Mon–Fri 10:00–19:00 (CET)
Client area

Blog

Agile methodologies in software development

Scrum Kanban Lean Agile

Scrum, Kanban, Lean or XP: get to know the main agile methodologies, their advantages over the waterfall model and how to choose the right one for your development team.

Methodology February 15, 2023 11 min read

Software development has changed enormously over the last two decades. What used to be managed through rigid, sequential processes has given way to more flexible, collaborative approaches focused on delivering value continuously. Agile methodologies have become the de facto standard in the software industry, and for good reason: they let teams adapt quickly to change, reduce risk and improve satisfaction for both the development team and the client.

In this guide to agile software development, we take an in-depth look at what agile methodologies are, which ones are most widely used, how they compare and when each one makes sense depending on the type of project and team.

What are agile methodologies?

Agile methodologies are a set of frameworks and practices for software development that prioritize collaboration, adaptability and incremental delivery. Unlike traditional approaches, where everything is planned up front and executed in sequence, agile methods split the work into short cycles (iterations) that bring early feedback and let you adjust the project's course continuously.

"Agile" doesn't mean speed without control. It means the ability to respond to change efficiently without sacrificing product quality. An agile team can deliver working features in short periods, validate them with the client and pivot when needed.

The Agile Manifesto: the 4 core values

In February 2001, seventeen software professionals met in Utah (United States) to discuss the limitations of traditional development processes. The result was the Agile Manifesto, a document that sets out four core values:

  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.

These values don't dismiss the items on the right, but they state that the items on the left have higher priority. The manifesto also includes twelve principles that guide practical implementation: early and continuous delivery of valuable software, welcoming changing requirements, frequent delivery of working software, daily collaboration between business people and developers, and regular team reflection to improve.

Scrum: the most widely used agile framework

Scrum is by far the most popular agile framework in software development. According to several industry surveys, more than 60% of agile teams use Scrum or a variant of it. Its success lies in providing a clear but flexible structure that makes it easier to organize work without imposing excessive rigidity.

The three Scrum roles

Scrum defines three core roles, each with clearly defined responsibilities:

  • Product Owner: the voice of the customer within the team. The Product Owner manages the Product Backlog, prioritizes features by business value and makes sure the team is always working on what matters most. A good Product Owner has product vision, decision-making power and time to answer the team's questions.
  • Scrum Master: acts as facilitator and guardian of the process. Their job is to remove impediments that block the team, facilitate the Scrum events and encourage continuous improvement. They are not a project manager in the traditional sense but a servant leader who shields the team from outside interruptions.
  • Development Team: a cross-functional, self-organizing group of 3 to 9 people who turn backlog items into increments of working software. The team decides how to organize its work and is collectively responsible for the result.

Scrum events

Scrum is built around five events (or ceremonies) that give the process rhythm and transparency:

  • Sprint Planning: at the start of each sprint, the team selects the backlog items it will tackle and defines a clear sprint goal. User stories are broken down into concrete tasks and the required effort is estimated.
  • Daily Scrum: a meeting of 15 minutes at most, where each team member answers three questions: what did I do yesterday, what will I do today and what is blocking me. Its purpose is to keep the team in sync, not to report to the boss.
  • Sprint Review: at the end of the sprint, the team demonstrates the software increment to the Product Owner and stakeholders. The feedback gathered feeds into the next iterations.
  • Sprint Retrospective: the team reflects on how the sprint went in terms of process, collaboration and tools, and identifies concrete improvement actions for the next sprint.
  • Backlog Refinement: a regular session to review, detail and re-prioritize backlog items so that upcoming sprints are well prepared.

Scrum artifacts

Scrum uses three main artifacts to manage project information:

  • Product Backlog: a prioritized list of all the product's features, enhancements, fixes and technical debt. It is a living document that evolves constantly.
  • Sprint Backlog: the subset of the Product Backlog selected for the current sprint, together with the team's plan for delivering the increment.
  • Increment: the sum of all backlog items completed during the sprint and all previous sprints. Each increment must be potentially shippable and meet the Definition of Done.

Kanban: continuous flow and visualization

Kanban is an agile method that focuses on visualizing the workflow and limiting work in progress (WIP). Unlike Scrum, Kanban doesn't use sprints or fixed iterations: work flows continuously across a visual board.

The method originated in the Toyota Production System and was adapted to software development by David J. Anderson. Its core principles are:

  • Visualize the workflow: use a board (physical or digital) with columns that represent the stages of the process (for example: To do, In progress, In review, Done).
  • Limit work in progress (WIP): set a maximum number of tasks that can sit in each column at the same time. This prevents overload and sharpens the team's focus.
  • Manage the flow: track metrics such as lead time (from when a task is requested to when it is delivered) and cycle time (from when work starts to when it is finished) to spot bottlenecks.
  • Make process policies explicit: define clear criteria for a task to move from one column to the next.
  • Improve collaboratively: use flow data to make informed decisions about continuous improvement.

Kanban is especially useful for support and maintenance teams, or projects with unpredictable workloads, where committing to a fixed scope every two weeks makes no sense.

Lean Software Development

Lean Software Development applies the principles of Toyota's Lean production system to software. It was popularized by Mary and Tom Poppendieck and is based on seven core principles:

  1. Eliminate waste: anything that doesn't add value for the customer (unnecessary code, excessive documentation, waiting, handoffs, unrequested features) should go.
  2. Amplify learning: software development is a continuous learning process. Short feedback loops, automated testing and pair programming are ways to learn faster.
  3. Decide as late as possible: delay irreversible decisions until you have as much information as possible. This doesn't mean procrastinating; it means keeping options open.
  4. Deliver as fast as possible: the sooner you deliver working software, the sooner you get real feedback from the market.
  5. Empower the team: the people doing the work know the details best. Giving them autonomy and trust improves motivation and quality.
  6. Build integrity in: software should have conceptual integrity (a consistent design) and perceived integrity (it works the way users expect).
  7. See the whole: optimize the entire system, not just individual parts. A very fast development team is of no use if the operations department can't deploy.

Extreme Programming (XP)

Extreme Programming, created by Kent Beck in the late 1990s, is an agile methodology with a special emphasis on technical excellence practices. While Scrum focuses on project management, XP focuses on how the code is written.

The main XP practices include:

  • Pair programming: two developers work on the same code together, one writing and the other reviewing in real time. This improves quality, spreads knowledge and reduces errors.
  • Test-driven development (TDD): tests are written before the production code. This forces you to think about the design before implementing it and provides a safety net for future changes.
  • Continuous integration: code is integrated and tested automatically several times a day, catching problems early.
  • Continuous refactoring: existing code is constantly improved without changing its external behavior, keeping the codebase clean and manageable.
  • Small, frequent releases: frequent delivery of complete features that add value for the user.
  • Simple design: implement the simplest solution that works and avoid over-engineering.
  • Collective code ownership: any team member can change any part of the code, which avoids knowledge silos.

Comparison: when to use each methodology

There is no agile methodology that fits every context. The choice depends on factors such as team size, the nature of the project, the organizational culture and the team's maturity. Here is a practical guide:

Choose Scrum when...

  • The project has complex, evolving requirements.
  • The team has 3 to 9 dedicated people.
  • You need structure and a regular cadence.
  • The client can take an active part in sprint reviews.
  • You are working on a new product or in a phase of intensive development.

Choose Kanban when...

  • Work arrives unpredictably (support, maintenance, incidents).
  • Committing to a fixed scope every sprint makes no sense.
  • You want to improve an existing process without changing it radically.
  • The team handles several types of work at the same time.
  • Shorter delivery times are the priority.

Choose Lean when...

  • The organization wants to eliminate inefficiencies across the whole system.
  • You are looking for a continuous improvement philosophy rather than a prescriptive framework.
  • The main goal is to maximize the value delivered while minimizing waste.
  • You need a high-level view to optimize the entire value chain.

Choose XP when...

  • The technical quality of the code is a top priority.
  • The team is made up of experienced developers willing to adopt demanding technical practices.
  • Requirements change frequently and you need a robust codebase that can absorb those changes.
  • You want to complement Scrum with concrete technical practices (many teams combine both).

Advantages of agile methodologies over the waterfall model

The waterfall model was the dominant approach to software development for decades. It follows a sequential process: requirements, design, implementation, testing, deployment and maintenance. Each phase must be completed before the next begins. It can work for projects with stable, well-defined requirements, but it has serious limitations in changing environments.

The main advantages of agile methodologies over the waterfall model are:

  • Early feedback: instead of waiting months to see the final product, the client receives working increments every few weeks and can give real feedback.
  • Lower risk: delivering incrementally surfaces problems sooner and reduces the risk of building something nobody needs.
  • Adapting to change: requirements can change without restarting the project from scratch.
  • Higher client satisfaction: continuous collaboration and early delivery of value build trust and alignment.
  • More motivated teams: autonomy, collaboration and a sense of continuous progress boost team morale.
  • Better quality: continuous testing, constant review and retrospectives make it possible to detect and fix quality problems proactively.

Agile methodologies are not a silver bullet. They require commitment, discipline and an organizational culture that values transparency and collaboration. But when they are applied correctly, the results are significant.

Tools for agile project management

Adopting agile methodologies relies on digital tools that make planning, tracking and team collaboration easier. The most widely used on the market are:

Jira

Atlassian's Jira is the most complete and popular tool for agile teams. It supports both Scrum and Kanban and lets you create and manage user stories, sprints, epics and custom boards. Its powerful filtering and reporting system (burndown charts, velocity, cumulative flow) gives full visibility into project progress. It's ideal for mid-sized and large teams that need traceability and control.

Trello

Trello is a visual tool based on Kanban boards, perfect for small teams or low-complexity projects. Its intuitive interface lets you drag cards between columns with ease. It's less powerful than Jira when it comes to advanced features, but its simplicity is its greatest strength.

Other notable tools

  • Azure DevOps: ideal for teams working in the Microsoft ecosystem, combining project management with code repositories and CI/CD pipelines.
  • Asana: a good option for mixed teams (not just developers) that need to manage projects with different views (list, board, timeline).
  • Linear: a modern, fast alternative to Jira, especially popular with tech startups.
  • Monday.com: a versatile platform that lets you adapt agile workflows with great visual flexibility.

Agile estimation: how to size the work

Estimation in agile methodologies focuses on relative effort rather than exact hours. The most widely used techniques are:

  • Planning Poker: each team member estimates independently using cards with the Fibonacci sequence (1, 2, 3, 5, 8, 13, 21...). Differences are discussed until the team reaches a consensus. It's the most popular technique in Scrum.
  • T-shirt sizing: stories are classified as XS, S, M, L or XL. This is useful for quick, high-level estimates, especially when planning the roadmap.
  • Story points: an abstract unit that combines complexity, effort and uncertainty. Over time, the team develops an average velocity that predicts how much work it can complete in a sprint.

The key to agile estimation is that it improves over time. As the team gains experience working together, its estimates become more accurate and predictable.

Sprints and retrospectives: the engine of continuous improvement

The sprint is the heart of Scrum. It usually lasts between one and four weeks (two weeks is the most common). During a sprint, the team commits to delivering an increment of working software that meets the agreed Definition of Done.

A well-run sprint includes:

  1. A clear goal: the sprint should have a goal that gives coherence to the selected work.
  2. A protected scope: once the sprint has started, no new tasks should be added except in justified cases.
  3. Visible progress: the sprint board should always reflect the real state of the work.
  4. A shippable increment: at the end of the sprint, the product should be in a potentially deployable state.

For many practitioners, the retrospective is the most important Scrum event. It is where the team reflects on what worked, what didn't and what can be improved. A popular format is "Start-Stop-Continue": what we should start doing, what we should stop doing and what we should keep doing.

Effective retrospectives produce concrete, measurable actions that are reviewed in the next iteration. Without retrospectives, a team can repeat the same mistakes sprint after sprint.

Common mistakes when adopting agile methodologies

The move to agile methodologies isn't always easy. These are the most common mistakes we see in organizations:

  • Agile in name but not in spirit: holding daily meetings and using a Kanban board doesn't make a team agile if decisions are still made top-down and there is no room to adapt.
  • Sprints without delivery: finishing sprints without producing potentially shippable increments dilutes the value of the framework.
  • Superficial retrospectives: if retrospectives become a formality with no real improvement actions, they lose their purpose.
  • A disengaged Product Owner: a Product Owner who is absent or lacks the authority to make decisions creates bottlenecks and frustration in the team.
  • Teams that are too big: Scrum works best with small teams. Teams of more than 9 people lose agility and need scaling frameworks such as SAFe or LeSS.
  • Ignoring technical practices: adopting Scrum without investing in automated testing, continuous integration and code review is a recipe for piling up technical debt.

Conclusion

Agile methodologies have transformed the way software is built around the world. They are not a passing fad but a natural evolution of software engineering, adapted to a world where requirements change often and speed of delivery is a competitive advantage.

The key isn't choosing the perfect framework, but understanding the underlying principles and adapting them to your team and your organization. Scrum, Kanban, Lean and XP are not mutually exclusive: many successful teams combine elements of several to create a process that works for them.

At INTERCONECTA, we apply agile methodologies in all our custom software development projects. Experience has taught us that a good process, a committed team and open communication with the client are the formula for delivering quality products that truly solve business problems.

Need an agile team for your project?

At INTERCONECTA, we apply agile methodologies to deliver quality software quickly and efficiently. Let's talk about your project.