WIP (Work In Progress)

State of mind

The amount of work in progress should be as small as possible

State of mind

Description

Work In Progress (WIP) is a commonly used concept in agility. It consists in limiting the number of jobs in progress in order to ensure the quantity of work delivered to the customer.

The WIP is illustrated, for example, by Kervin Kueny in "The First Name Game" [Kueny 2021] where the developer, a person who writes down the first names of his customers, first tries to answer his customers who send him their requests at the same time; then, in a second step, the same developer focuses on each of his customers in turn. This kind of experiment shows empirically that the response time and the quality level are significantly improved.

In an agile team, the absence of WIP monitoring often results in an accumulation of tasks in progress on a Kanban column. This phenomenon occurs when the development team simultaneously provides its User Stories to a tester in charge of checking the quality of the delivery. Reducing the WIP thus avoids accumulating the amount of work to be tested and blocking the team's delivery capacity.

In fact, this approach is so powerful that the SAFe Scalable Agility Framework includes it in its principles [SAFe 2021-6] based on the concept of "Flow" that was popularized by Donald G. Reinertsen [Reinertsen 2009] in order to make product realization more fluid. You can visualize the notion of flow by making the analogy with road traffic [Pearl 2018].

One of the techniques used to limit WIP is to assign a maximum ticket limit to certain columns so that when a column reaches saturation, team members mobilize to resolve this bottleneck in order to push tickets towards their resolutions, which is what the theory of constraints teaches us.

In short, stop starting things but instead start finishing them [Singh Gill 2019].

Application to test maturity

Within this mindset of reducing the amount of work in progress, there are various topics that can potentially impact product quality including test automation. In this respect, depending on the organization of the company, test automation can be entrusted to a specialized team that is responsible for regression testing. This delegation of test automation mechanically introduces a waiting period, often concretized by a backlog, which in fact increases the amount of work in progress in addition to having an organization that is far removed from the customer's concerns.

In other contexts, automation is performed within each development team. This structure results in the generation of customer-focused feature teams with members capable of automating test scenarios. This organization is supported by T-Shape people. This second configuration thus reduces the amount of work in progress.

However, in order to facilitate WIP, team members must master several things including :

  • the testing techniques
  • the business of the application
  • the automation technology

Although the T-Shape concept is a good OKR, the process is long and complex and trade-offs must be made to facilitate WIP reduction, including :

  • the addition of professional testers in the teams
  • a good proximity to the business through Gemba sessions and X-Teams
  • simple automation technology, for example with low-code tools [Low Code 2021].
    These elements favor the alignment or even the fusion of the ecocycles described in the panarchy principle [Moustier 2020].

Agilitest's position on this practice

Rather than offering a low-code tool, Agilitest offers a #nocode tool [Forsyth 2021].

This approach eases the learning curve because you don't have to learn how to program. This test scripting automation platform provides access to different technologies such as web, mobile or application testing on Windows or iOS.

To discover the whole set of practices, click here.

To go further

© Christophe Moustier - 2021