Skip to content

Agile Testing - Kanban

Agile Testing - Applying Kanban Principles

Section titled “Agile Testing - Applying Kanban Principles”

Kanban, a method focused on managing workflow and improving flow efficiency, can be highly effective for managing Agile testing activities. Applying Kanban principles helps ensure timely completion of testing within iterations or a continuous flow, contributing to the delivery of a quality product.

Key Kanban concepts beneficial for testing include:

  • Visualize the Workflow: Using a Kanban board (physical or digital, e.g., JIRA, Trello, Azure Boards) to make all testing tasks and their statuses visible to the entire team. This helps identify bottlenecks quickly.
  • Limit Work-In-Progress (WIP): Setting explicit limits on the number of items in each stage of the testing process (e.g., ‘Ready for Test’, ‘Testing in Progress’). This prevents overburdening testers and improves focus and throughput.
  • Manage Flow: Monitoring the movement of work items through the testing stages, aiming to optimize for a smooth and predictable flow. Key metrics include Cycle Time and Lead Time.
  • Make Process Policies Explicit: Clearly defining when an item is ready to move to testing, what the ‘Definition of Done’ for testing is, etc.
  • Implement Feedback Loops: Regular review of the Kanban system and testing process (e.g., daily stand-ups, retrospectives) to identify areas for improvement.
  • Improve Collaboratively, Evolve Experimentally (using models & the scientific method): Continuously refine the testing process based on data and team feedback.

Testing Activities in a Kanban-Driven Product Development

Section titled “Testing Activities in a Kanban-Driven Product Development”

In product development using Kanban, releases can be tracked using feature Kanban boards. Features are broken down into smaller work items (e.g., stories) that flow through the development and testing process.

Agile testing activities within a Kanban system that ensure quality delivery:

  • Upstream Collaboration: Testers participate early in requirements definition (Story Exploration) to ensure testability and clarity of acceptance criteria. This minimizes rework later.
  • Effective Sizing and Testable Stories: Ensuring work items are appropriately sized to flow smoothly through development and testing, meeting the ‘Definition of Done’ efficiently.
  • Visual Task Management: The Kanban board clearly shows the status of testing tasks, highlights blockages, and facilitates quick resolution through team collaboration.
  • Team Collaboration for Bottleneck Resolution: The entire team takes responsibility for resolving impediments that block testing progress, reducing wait times.
  • Continuous Integration and Testing: Automated tests are integrated into the workflow, providing fast feedback as code changes progress through the system.
  • Proactive Test Design: Preparing test cases, scenarios, and test data in advance or just-in-time as items become ready for testing.
  • Focus on ‘Done-Done’: A work item is only considered complete when all development and associated testing activities are finished, and it meets the full Definition of Done.
  • Customer Feedback Loops: Incorporating customer feedback regularly to ensure the product aligns with user needs and to guide testing efforts.

Story Exploration, or backlog refinement, involves collaborative discussions within the Agile team (often involving the ‘Three Amigos’ - Product Owner, Developer, Tester) to ensure a shared understanding of a user story before it’s pulled into development. Testers contribute by asking clarifying questions, identifying edge cases, and defining testable acceptance criteria. This ensures stories are well-understood and testable from the outset.

While Kanban itself doesn’t prescribe estimation in story points like Scrum, teams often estimate the effort or complexity of work items to help with planning and managing WIP limits. If estimation is used, the testing effort is an integral part of the overall estimate for a story. The focus in Kanban is more on flow metrics like Cycle Time and Throughput, which implicitly account for all work, including testing. Understanding the typical effort for testing helps in setting realistic WIP limits for testing stages.

The ‘Definition of Done’ in Kanban is critical and must include all necessary testing activities. This ensures that items pulled through the system are genuinely complete and of high quality.

As a story is about to be pulled into development, or in parallel with development, testers plan and prepare for testing. This includes:

  • Reviewing acceptance criteria and clarifying ambiguities.
  • Designing test scenarios and test cases (manual or automated).
  • Preparing or identifying necessary test data.
  • Setting up or verifying test environments.
  • Planning for exploratory testing sessions.
  • Identifying dependencies for testing.

This proactive preparation helps ensure that testing can begin promptly once development is complete for a particular item, minimizing wait times.

As development progresses, continuous communication between developers and testers is vital. Testers might perform early exploratory testing on partially completed features or work closely with developers to test components as they are built. Continuous Integration Testing, where automated tests run frequently, provides ongoing feedback on the stability and correctness of the evolving codebase. The whole team shares responsibility for addressing issues found during testing.

A story is accepted and moved to a ‘Done’ state on the Kanban board only when it meets all criteria in the ‘Definition of Done’. This typically means:

  • All development work is complete.
  • All planned tests (unit, integration, acceptance) have been executed and are passing.
  • Any necessary exploratory testing has been performed.
  • All critical and high-priority defects have been resolved and retested.
  • The functionality has been demonstrated and accepted by the Product Owner (if applicable).
  • Required documentation is updated.

Kanban’s emphasis on flow and clear ‘Definition of Done’ makes it a powerful framework for ensuring consistent quality and timely delivery, with testing as an integral part of the value stream.