top of page
Search

What is agile methodology in software development?

  • rogeriolord
  • Apr 30
  • 3 min read
Today, every tech organization seems to practice agile methodology for software development — or at least some version of it. Whether you’re new to agile application development or learned software development decades ago using the waterfall methodology, your work today is at least somewhat influenced by agile methodology. But what exactly is it?

What is agile methodology, and how should it be practiced in software development? How does agile differ from the waterfall method in practice? What is the agile software development life cycle? And what are Scrum, Kanban, and other agile frameworks? That’s what I’ll cover in this article. Stay tuned!

Before Agile: The Waterfall Era

Developers with over 20 years in the industry remember the days when the waterfall methodology was the gold standard for software development. The software development process required a ton of initial documentation before any coding even began.

Someone would first write a business requirements document containing everything the business needed in the application. These documents were long, detailing everything: overall strategy, comprehensive functional specifications, and visual user interface designs.

Technologists would then take the business requirements document and create their own technical requirements document. This document defined the application architecture, data structures, object-oriented functional designs, user interfaces, and other non-functional requirements.

This waterfall development process would finally lead to coding, integration, and eventually testing before an application was considered production-ready. The whole process could easily take years.

2000s: Manifesto for Agile Software Development
A group of technologists came together in 2001 and created a manifesto — now known as the Agile Manifesto. It outlined values aimed at eliminating bureaucracy and enabling a smoother, yet still secure, software development process. Fast, but still with quality. These values prioritized:
  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

Scrum, Kanban, and Other Agile Frameworks

The most popular agile framework is called Scrum. It focuses on a delivery cadence called a sprint and meeting structures that include the following:
  • Planning
  • Commitment
  • Daily stand-ups

Sprints end with a demo meeting, where functionality is shown to the product owner, followed by a retrospective meeting, where the team discusses what went well and what needs improvement in their process.

Many organizations employ Scrum Masters or coaches to help teams manage the scrum process.

While Scrum dominates, there are other agile frameworks:
  • Kanban works as a fan-in/fan-out process in which the team pulls user stories from an input board and moves them through a staged development process until they are complete.
  • Some organizations adopt a hybrid approach — using agile processes for new applications and waterfall for older, already-validated ones.
  • There are also several scaling frameworks designed to enable agile practices across multiple teams.

Agile Development Practices

While frameworks define the process and collaboration model, agile development practices are the specific techniques used to handle software development tasks in alignment with an agile framework.

Here are a few examples:
  • Some teams adopt pair programming, where two developers code together to generate higher-quality code and allow senior developers to mentor juniors.
  • More advanced teams adopt test-driven development (TDD) and automation to ensure that the functionality being built delivers the expected outcomes.
  • Many teams also enforce technical standards so that a developer’s implementation not only provides the desired functionality but also meets security, code quality, naming conventions, and other technical standards.

The goal of this article is not to make you a master in agile methods but simply to introduce the subject to you — someone who was previously completely unaware of it. Not anymore.
 
 
 

Comments


Contact me

Seus detalhes foram enviados com sucesso!

© by Rogerio Lopes .'.

 
bottom of page