Continuing the journey of helping teams connect with proven concepts for improving software development flow, this article dives into some core ideas from Kanban. And, more importantly, why they work.
#1. Visualizing the Workflow
What does this mean?
In Kanban, visualizing the workflow refers to creating a visual map of how work moves through the system, so that teams can clearly see how value is delivered.
This should ideally represent the entire value stream, including steps such as requirements gathering, design, development, testing, deployment, monitoring and even hand-offs to support or marketing.
How do teams do this?
In practice, teams represent every step of their workflow as columns on a Kanban board - e.g. To Do, In Progress and Done. They then create cards that each represent a work item. The cards start in 'To Do' and move through the clearly defined stages on the board. In addition, each stage has a WIP (Work In Progress) limit - more on this later.
Why is this important?
The biggest reason to make the workflow visible is that it provides a system level view of the development lifecycle and allows teams to identify bottlenecks and continuously improve their efficiency in delivering value. It also allows them to stay aligned and often reduces the need for synchronous status updates.
When the entire value stream is represented it can expose hidden hand-offs and delays (for example understanding the problem, waiting for approvals or environment setup). It can also surface end-to-end bottlenecks and enable cross-functional collaboration and systemic improvement.
#2. Limiting Work in Progress
What does this mean?
Limiting work in progress (WIP) means agreeing a maximum number of work items that can be in a particular workflow stage. For example, only 3 items “In Progress” at any one time.
How do teams do this?
Teams usually discuss and agree a reasonable WIP limit for each stage of their workflow, based on the team size. A handy rule of thumb is to start by setting your WIP limit equal to your team’s size (or the number of people actively doing work).
When a column on the board hits its limit, it immediately highlights process constraints and prompts the team to collaborate on unblocking work, strengthening cross‐functional cooperation.
Teams should aim to review and adjust the limit every cycle based on real‐world performance and team feedback.
Why is this important?
The biggest reason to implement WIP limits is because they help create a smoother workflow by preventing overload and helping to avoid bottlenecks.
They also improve focus and quality by minimizing multitasking and context switching, enabling team members to complete tasks more effectively and with less rework.
Finally, WIP limits support continuous improvement (Kaizen) as teams may have more slack time to think about optimizing their workflow - or review other best practices.
#3. Pull vs. Push
What does this mean?
In a Push system, work is assigned to team members regardless of their current capacity, often leading to overloading or bottlenecks as tasks accumulate in stages that might be more complex or time consuming than others. This approach can result in inefficiencies and delays, as tasks may not be completed in order of priority, disrupting workflow and progress.
By contrast, in a Pull system, work is only taken on by team members when they have the capacity, ensuring tasks flow at a manageable pace and priorities are maintained. In combination with WIP limits, it also encourages completing tasks before starting new ones (stop starting, start finishing), ensuring a more efficient and organized workflow.
How do teams do this?
When this is applied to a software development team, it means team members only take on (pull) work from their ‘To Do’ column or Backlog when they have the capacity, ensuring a steady flow of tasks and preventing bottlenecks.
Why is this important?
Perhaps counterintuitively, a pull system has been proven to enhance overall productivity by aligning work initiation with actual capacity, thereby minimizing waste and optimizing the team’s utilization.
#4. Pulling the Andon cord
What does this mean?
In Kanban, pulling the Andon cord refers to the practice of signalling an issue or a problem in the workflow that requires attention. This concept originates from manufacturing, where a physical cord was used to stop the production line and alert supervisors about a problem or quality concern.
How do teams do this?
In software development, the concept of pulling the Andon cord refers to team members proactively surfacing issues that could disrupt the workflow or compromise the delivery of value to customers, enabling quick resolution in order to maintain flow.
In practice, teams often use there existing communication tools or daily stand-ups to do this. For example, in Slack, teams might use a dedicated channel or pre-agreed urgency emojis on threads. In Jira, blockers can be flagged with a specific status, visual cues or automated notifications.
Why is this important?
The biggest reason for the Andon cord practice is the fact that raising problems immediately creates a space for collaboration in resolving those issues quickly, rather than leaving them until later when they might be much more expensive to fix.
#5. Kaizen
What does this mean?
Kaizen refers to the practice of continuous improvement through small, incremental changes. It’s a mindset that encourages teams to constantly look for ways to optimize processes, enhance efficiency and reduce waste.
How do teams do this?
Teams that embrace Kaizen build continuous reflection into their way of working, regularly examining workflows to identify opportunities for improvement. They constantly prioritize small improvements and work together to put those into practice.
This is often done through regular retrospectives that focus on both technical and workflow improvements, as well as workflow experiments to try and find better ways of working.
Why is this important?
Practicing Kaizen creates a deep cultural focus on continuous improvement. That mindset naturally drives greater efficiency and smoother workflows.
It also makes teams more adaptable to changing needs - and more engaged in the process.