September 20, 2017 – Kick-Start Quality Assurance and Testing Services with Kanban


« « prev| next » »

Kick-Start Quality Assurance and Testing Services with Kanban
An Introduction to Using Kanban for Quality Assurance and Testing

Quality assurance and testing are essential for delivering quality products and improving the processes that are used to deliver those products. On some software development projects the need for quality assurance teams to be agile while providing comprehensive quality assurance and testing may result in unacceptable trade-offs (e.g., releasing buggy software too soon or delaying releases due to buggy software).

Agile methodologies such as Scrum or DevOps inject quality into projects through incremental development, in-sprint or automated testing, and continuous integration. However, teams may not always have the benefit of projects that are utilizing the best practices of these methodologies. In some cases, your team may start a project that is already underway with a customer, management team, or project team that isn’t fully committed to agile but wants the benefits of being agile.

Kanban is a method that is used for full end-to-end software development. However, the same Kanban practices can also provide teams with a way to manage and improve quality assurance and testing activities with minimal disruption to other planned or existing project processes. Kanban may be used as a gateway to agile methodologies or at the very least a method to manage and improve quality assurance and testing activities on any project regardless of project methodologies or disposition. Over time Kanban may spread to other project processes or come to encompass the entire software development lifecycle.

kanban
8 easy steps for getting started with Kanban for quality assurance and testing:

  1. Implement visual management (Kanban board)
    1. Online (e.g., Rally, Pivotal, JIRA, Redmine, SharePoint)
    2. Offline (e.g., whiteboard, wall, sticky notes)
    3. A Kanban board for testing may include test cases or requirements as the “To Do” items (backlog) and queues for “Ready for Test”, “In Test”, “In Development”, “Completed”
    4. Boards may be as simple or as detailed as required
      Simple-kanban-board
  2. Document how the work flows and figure out where your team best fits in
    1. Value stream mapping (https://leankit.com/learn/kanban/what-is-value-stream-mapping/)
    2. Mitigates/removes disruptions
  3. Focus on quality
    1. Attention to detail
    2. Builds trust with customer
    3. Trust enables efficient collaboration
    4. Efficient collaboration enables high performing teams
    5. Agile quality funnel
  4. Introduce work-in-progress (WIP) limits
    1. Essential Kanban principle
    2. Shortens testing iterations
    3. Results in more frequent deliveries
  5. Deliver/test often
    1. More completed tests provide evidence that team can deliver
    2. Frequent completed tests build trust
    3. Teams “stop starting and start finishing”
  6. Balance Demand Against Throughput
    1. Fixes work-in-progress limits
    2. Creates slack which allows for continuous improvement
  7. Prioritize
    1. Optimizes value being delivered
    2. Enables WIP limits by letting business analysts and developers know that your team can only test so many user stories/requirements over a certain period of time so they need to prioritize which user stories need to be tested
  8. Attack sources of variability to improve predictability
    1. Continuously monitor and evaluate the process for improvement
    2. Improve predictability by removing sources of variability

Kanban may not be the solution to the quality assurance problem you’re trying to solve. It may be part of the solution. It may work for part of the time that you’re on the project. Or your team may utilize only certain Kanban practices. Kanban suggests that teams should not adopt a defined method or process (even Kanban) but instead empower individuals and teams to evolve their own unique process solutions which, in turn, allows for innovation.

The goal, after all, is to figure out what methods and processes work best for your team for the project that you’re working on, which may change over the life of the team and the project. If your team already has this figured out then there may be no need to use Kanban. However, if your team is still searching for a better way to achieve your quality assurance and testing goals then Kanban might be worth a try.

Gunnison has successfully utilized Kanban to improve quality assurance, testing, and development on projects using predictive, adaptive, and hybrid methodologies at NIH (hybrid Waterfall/Scrum), Census (Scrum), and FDA (Waterfall).

(Read David Anderson’s book for an in-depth history and analysis of Kanban: https://www.amazon.com/Kanban-Successful-Evolutionary-Technology-Business/dp/0984521402)

Sean Brijbasi is an agile project manager and quality assurance manager at Gunnison Consulting Group. He is currently a project manager for Gunnison at the Center for Drug Evaluation and Research (CDER) Office of Business Informatics (OBI) at the Food and Drug Administration. Gunnison Consulting Group provides agile development expertise on multiple projects for federal and commercial clients that include the Census Bureau, NIH, PTO, FDA, NADA, and IAFF.