We’ve shared some of the Scrum methods and concepts we use at Testomato to promote team flexibility and adaptive planning within our company.
In today’s post, we’d like to introduce another important methodology that we apply to our development and delivery cycles: Kanban.
What is Kanban?
Kanban is an Agile methodology used to manage the creation and workflow of development projects, which emphasizes continual delivery without overwhelming the development team.
Similar to the Srum techniques we use, Kanban helps our team work together more effectively. The main idea behind the system is to deliver what the process needs, exactly when it needs it. Simply put, Kanban helps teams identify waste-reduction opportunities.
Kanban was originally developed by Taiichi Ohno and underpins the famous Toyota Production System, more broadly known as Lean manufacturing. In Japanese, “Kan” means visual and “ban” means card – literally translating to visual cards.
Ohno needed a way to quickly communicate to all workers what work was being done, the progress of that work, and how it was being done. His goal was to ensure that everyone (not just managers) understood the work processes. By making processes transparent, he made sure that everyone had a hand in making Toyota better.
Here’s how it works
Kanban is based on 4 basic principles:
- Start with what you know. There’s no specific setup to implement Kanban. For example, you could just simply overlay Kanban over your existing workflow to reveal issues and introduce positive change.
- Make continuous, incremental change over time. Don’t make sweeping change. Instead, opt for continuous and small incremental changes.
- Respect the current process, roles, responsibilities & titles. Kanban allows for change, but it doesn’t necessarily prescribe it. If you’ve got something in your existing process that works, stick with it. Kanban assumes that there’s value in what you’re already doing.
- Leadership from all levels. Everyone should be encouraged to contribute from all levels of an organization, not just management. All members of the team should be focused on continual improvement to achieve better performance.
In his book, Kanban: Successful Evolutionary Change for Your Technology Business, David J. Anderson outlines 5 core practices:
- Visualize your workflows. You can’t understand what you can’t see. The goal of Kanban is to optimize your workflow through positive change and a thorough understanding of how you currently get an item from request to completion. The most popular way to do this is use a Kanban board with cards and columns representing the different steps in your workflow.
- Limit work-in-progress (WIP). Limit the amount of multi-tasking allowed in each step of your development process. This means that at each point in your process, you are only allowed to work on a certain amount of items. This prevents over production, reveals bottlenecks in your current workflow, and allows your team to address them before they get out of control.
- Manage and enhance your workflow. Continuous and positive change (also called Kaizen) helps keep teams happy and effective. As problem areas in your workflow are identified, implement gradual changes to your system to improve it. As you continue working, notice whether the overall cycle has been negatively or positively impacted. Repeat on repeat. This is a never-ending project.
- Process policies should be explicit. Everyone needs to understand how Kanban works and is implemented in your team. If the process is not understood and well-defined for all team members, you may not be able to make decisions about change that move you in the right direction.
- Improve collectively (using data-driven models). Changes should be made based on the scientific method rather than a “gut feeling”. This basically means that you put regular feedback loops in place including: analyzed metrics, team comments, customer reviews, etc. The goal is to consider how long it takes to complete an item and the best ways to optimize this time to make it as small and as predictable as possible. The system you choose to provide this feedback isn’t as important as making sure your team is provided with regular input about how the work process is working.
Techniques we use at Testomato
As we mentioned before, we use a mix of Agile concepts and methods at Testomato to get the balance the works best for our team.
Here are the Kanban techniques we’ve chosen to use:
1) Kanban board helps us understand our workflow.
We use AgileZen‘s Kanban board to understand how we do what we do and how long it takes us to complete our work. The columns on our board represent the following stages:
- Product Backlog – what we’d like to do
- Sprint Backlog – what we need to do
- In Progress – what we’re working on
- Testing – what we’re checking
- Done – what we’ve completed
2) We limit our work-in-progress implicitly, rather than explicitly.
While Team Testomato does embrace the idea of keeping our multi-tasking to a minimum, we do not set hard limits on our board (although it’s possible in AgileZen). Instead, we always remind ourselves that we want to keep our board clean and avoid having it overloaded with ticket requests.
3) Our daily standup and monthly retrospective help us discover bottlenecks.
We start our mornings with a daily standup and once a month, our team participates in a company-wide Wikidi retrospective. Our daily standup are mostly applied as a more rigid Scrum technique. However, our monthly retrospectives are more in line with Kanban principles.
Once a month, all Wikidi project teams get together to discuss problems, workflows, and what we can do improve. It’s a great forum for teams to get feedback on ideas and share what’s worked best for them.
4) Our feedback loops are collective and transparent.
A big part of our development process is discussion and feedback. We incorporate comments from both our users as well as our team members to facilitate a collaborative effort to improve Testomato. We share feedback and ideas using a tool called Confluence. Once we’ve made a decision, tasks are sent to our board which allows us to see the status of an item in real-time, whether we’re on-site or working remotely.
Why we chose Kanban
At Testomato, we apply a mix of Scrum and Kanban techniques that allow us to adapt according to user requirements and keep us as efficient as possible. Our core practices come from Scrum, but we’ve found that adding in Kanban principles have allowed us to iterate more quickly and continuously develop our process.
When work on Testomato began, the team used a combination of Scrum standups, monthly retrospectives, and Kanban boards (without WIP limits). Over time, we began experimenting with several techniques and eventually ended up using the ones mentioned above.
That’s one of the things we like so much about Kanban – its adaptability. The techniques you adopt and the changes you make really depends on the needs and tastes of the individual team.
We hope this post has helped you understand more about how we function and work as a service. It’s something that’s very important to us at Testomato!