Although, most new teams opts for scrum methodology when adopting an agile marketing approach, but it does not mean you too have to do the same. As there are plenty of other great options to choose from.
In fact, if you ask me (as a former practitioner of Scrum), I’ll say that I have found Kanban to be an excellent alternative to scrum even if used alone.
Before we get to the details of Kanban, let’s first take a quick look at what is Agile.
What is Agile?
An alternative to traditional development, agile methodology is iterative & incremental with development and testing performed concurrently throughout Software Development Life Cycle.
It is a process in which the requirements continuously change and evolve over time. A working product is delivered at the end of each iteration.
This approach encourages teamwork, ongoing review & adaptation, and self-organization. Here, all the stakeholders should work simultaneously to deliver high-quality software that is aligned with the requirements of the customer and organization goals.
Types of Agile Methodology
Following are some of the popular agile methodologies in use today:
Kanban Software Development
In order to reduce the delivery time, this method is used to manage work using a pull-based system. It ensures a robust, easy, explicit and collaborative environment of continuous improvement by bringing down costs and limiting the amount of work-in-progress.
One of the agile processes, scrum is used to manage environments of complex software development. It results in higher productivity, minimal TTB (time to benefit) and allows to easily incorporate fast changes into the product. Like agile, scrum methodology is based in iterative development.
In this lightweight, simple-to-implement framework, the customer collaborates with the team to distribute a software program into sprints (short time boxes). Each sprint has duration between 1-4 weeks, after which working software is delivered. Testing is done for every sprint. Based on the Sprint Retrospective, the framework of the process may be adjusted. Scrum is aimed at maintaining high quality of the software deliverables customized to the needs of the customer, by enabling better adaptation to change of requirements.
Lean Software Development
It is a concept that emphasizes improving flow and elimination of waste in the development of software. A proven fast and efficient methodology, it has its roots in the ‘80s lean manufacturing movement, but is now considered an integral part of the agile software development methodology.
Driven by people and process, crystal methodology focuses on people and their interactions to meet a product’s unique requirements. The use of the term Crystal originated from the gemstone where the faces represent in software terms, the various views of the underlying core of values and principles.
The seven properties are:
- frequent delivery
- reflective improvement
- close or osmotic communication
- personal safety
- easy access to expert users
- agile technical environment
The Crystal method results in the delivery of working software before time, by removing the bottlenecks.
Let’s Take a Closer Look at Agile Kanban
Kanban (signboard or billboard in Japanese) was originally developed in the 1940s by Toyota engineers to improve manufacturing efficiency.
Taking inspiration from grocery stores, which would stock products according to the needs of the people, line workers at Toyota’s factories began using kanbans, to signal to other parts of the production line when they needed more parts.
This was part of a just-in-time approach that allowed plants to save resources by creating only as many parts as were needed at the time.
Taking inspiration from it, software developers created their own version of the Kanban system as part of the agile development movement.
When used by development teams, Kanban consists of a list (backlog) of user stories or work which is needed to be done on the product. The customer is responsible for the backlog (including its content, availability, and ordering); because it is the sole source of work for the developers.
When a member of the team is ready to work on a new story, he/she pulls it from the backlog according to its priority and into the “In Progress” column on the Kanban board. As the project progresses it moves across the board until it is completed.
Key Components of the Kanban System
The core of methodology is made up of these components:
A large list (backlog) of work. This is where the stakeholders add new user stories deciding what work the team does.
Lanes or columns through which the user stories move. This visualization of a story’s progress is an important part of the transparency that makes this agile methodology a great option.
Work-in-progress limits. Each column has a limit, and once that limit is reached no new items can be added to that column until one is moved out. For example, if you have four stories that are “pending review” by an editor and your WIP limit for that column is four, you can’t move any more stories into that column until one gets moved out.
Continuous releases. Unlike scrum, there are no sprints in pure Kanban that require you to release a new iteration after a set period of time. Instead, Agile teams on the Kanban system release software products as soon as they are completed.
In the end, let’s take a brief look at the advantages and disadvantages of kanban.
Advantages of Kanban
This easy to learn methodology helps in improving the workflow and minimizes the time cycle. Some major advantages of Kanban are listed here:
- It increases the flexibility of the process.
- Designed for max efficiency of resources, this methodology reduces the wastes from the process.
- It improves the delivery flow.
- It reduces the time cycle of the process and can result in faster delivery than scrum.
Disadvantages of Kanban
Most of the disadvantages of Kanban are due to misuse or mishandling of Kanban board. Some common disadvantages are given:
- Outdated Kanban board can lead to issues in the development process.
- Sometime Kanban team make the board overcomplicate.
- Lack of timing is another disadvantage because there is no timeframes associated with each phase.