The key benefit of agile approaches to software development is being able to respond to changing customer requirements and feedback from user testing. It also means that you can roll out a system that meets the basic requirements and then refine it incrementally over time.
The most well-known agile methodology is Scrum, but other systems exist, including Kanban, Smart/ADP, Scrum-ban, and Agile Unified Process. In this article, I will compare the different methodologies.
Agile is a method of managing projects devised by a group of 17 software developers in 2001, although similar systems had been proposed as far back as 1957, and many iterative methodologies were in use in the 1990s. Agile allows for tight feedback cycles, continuous improvement, and changes of direction. It is an umbrella term for a number of different methodologies which inspired it.
The Agile Manifesto proposes the following:
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
That is, while there is value in the items on the
right, we value the items on the left more.
A typical agile development cycle looks like this:

The backlog is a list of features which are needed for the system. The product owner creates a list of desired features and prioritizes them. The developers then agree on an amount of work they can get done during a sprint, and they will develop the features during the sprint. At the end of the sprint, the team will hold a retrospective to review what went well, and what could be improved.
Estimation is hard
It is difficult to predict how long a feature will take to develop, so a variety of estimation systems have been devised. The one that is most popular with developers is the one based on the Fibonacci sequence, which measures the amount of effort required to complete the task, rather than how many days it will take.
Agile systems
Scrum
Scrum is an iterative methodology using sprints, planning meetings, estimation,
Key features
- Estimation meetings, retrospectives
- Scrum board, sprints
- User stories
Advantages
- Constant visibility of the team’s progress
- Any member of the team can pick up any task
Disadvantages
- Amount of time spent on planning, estimation and retrospectives
- It does not account for varied roles in the team as it requires “generalising specialists”
- Estimation is hard
Kanban
Kanban is a system devised for continuous processes like support or manufacturing, but it could also be used for continuous development. It does not use sprints.
Key features
- Kanban board
- Pipelines
- Pull from customer
- Just in time methodology
Advantages
- Constant flow of work
- Pull rather than push
- No estimation or planning needed
Disadvantages
- Rigidity of roles and pipelines
- Bottlenecks in the system
- Each channel in the Kanban board has to be owned
Scrum-Ban
Key features
- Hybrid of Scrum and Kanban
- provides the development team with the best thing to work on next
Advantages
- No estimation required
- Combines the best features of Scrum and Kanban
Disadvantages
- Not very widely used
- Poorly documented
The most widely-used agile methodology is Scrum, but people often end up modifying it to be more like Kanban. For example, a developer may finishing writing code for a feature within the sprint, but then it has to be reviewed by other developers and tested by a QA tester, and the developer may end up modifying it. As a result, most teams end up moving unfinished work to the next sprint.
Another modification that a lot of people make is adding a “Ready for development” bucket, which is similar to the “ready” column on a Scrum-Ban board.
Whichever system you end up using, it is important to remember that the goal of a system is to make development easier and ship your code faster, not to achieve the perfect implementation of the methodology.
Leave a Reply