The Card Wall

Card walls help to level the flow and maximize the throughput for software delivery. Many books have covered Agile, and several of its principles, practices, and tools, but none have taken a deep look at card walls and the principles behind them.

In Stand Back and Deliver, the authors– Pollyanna Pixton, Niel Nickolaisen, Todd Little, and Kent McDonald (senior leaders experienced in several industries and organizations)—make the following statement:

“Through our experiences and sharing stories, we found that a collection of tools apply to how organizations approach their work, especially work that involves change and innovation; when used in moderation and in conjunction with each other, these tools can have a dramatic impact on the success of the organization”

Software development is all about change and innovation. And organizations that successfully apply Agile to software development shortly find themselves using a collection of tools that support Agile. To name a few: Continuous Integration server, automated tests, automated scripts, IDEs with refactoring capabilities, and the card wall (physical and/or virtual).Below are a few photos of physical card wall:

Why use a card wall?

Why use a card wall? Teams that don’t know exactly why they are using a card wall will not benefit from it. If your team is not clear on the value that a card wall provides, either (1) Agile is not suitable for them, (2) they must read this post, or (3) the team has less than three members. The biggest single reason for using the card wall is that it brings the Agile team together. The card wall improves team communication, information sharing, impediment removal and decision-making.I have interviewed many Agile teams about the card wall with the following question: What does the card wall provide you with? Below are the answers given by: developers, testers, analysts, product owners, managers, directors, project sponsors, and scrum masters.

Question: What does the card wall provide you with?

Answers:

• The goal for the team in that iteration, or at that moment.• It tells me what the team is working on.• It tells me who is working on what.• It shows the bottlenecks.• It depicts the Scrum swim lanes.• It makes visible any team decision.• It helps to run the daily scrum.• It makes clear when we are not pairing.• If you look at it every day you know how fast the team is moving the work.• It tells me what everyone is working on.• It shows me what kind of Agile flavor the team is using.• I can see the tasks for a story.• A snapshot of the team work.• It tells me the kind of work that the team is doing.• It makes the workflow visible.• It depicts WIP (Work In Progress) limits used by the team.

In 2009, Mike Cohn wrote an interesting blog saying that Agile is all about micromanagement.He explains that almost every principle and practice of Agile is there to support micromanagement. From his blog:

“The daily scrum is about micro-managing the team’s daily work plans and making sure that everyone is doing what they say they’ll do.
– Continuous integration is put in place so that the minute some developer screws up and breaks a build, it becomes known.
– Pair programming is about making sure that programmers don’t lose focus, don’t goldplate, don’t work only on the fun requirements, and that they clean things up.
Ah, but who is it that is doing this micromanagement?
It’s the team.
Yes, agile is about micromanagement, but it’s about the team micromanaging themselves and for their own benefit.“ (from http://www.mountaingoatsoftware.com/blog/)

I agree with him. Agile is all about team collaboration, responsibility sharing, clear communications, and self-management. And yes, it feels like micromanaging. In other words the team structure and work activities are visible at the wall; therefore, everyone can easily collaborate and know what everyone else is doing. The card wall is, perhaps, essential for successfully implementing “micro-management”—Agile style.

The workflow on the wall

In software development, typically a small requirement will take from hours to days to complete. Also, you cannot see how many requirements are currently in analysis; or how many requirements are currently being coded or tested. As a matter of fact, it is not easy to “see” the work as it is moving along the work stages. Here is where the magic happens: the card wall makes things more visible!

The basic idea of the card wall is to have the workflow on the wall itself. Below is a photo taken of an Agile team card wall.

the workflow on the wall

Cards attached to the wall. This is the card wall. A quick description of the card wall snapshot in this figure would be: one card is at the In Analysis stage, five cards are at the Ready for Dev stage, three cards card are at the In Dev stage, another card is at the Ready for BA acceptance stage, three cards are at the Ready for QA stage, five cards are at the In QA stage, and eight cards are at the Ready for SAT stage. Also it looks like the team uses photos to represent people working on the cards. The cards have color coding (there are three different card colors in this photo); the cards also have various notes on them, a numeric identifier, and stickies attached to them.
As the wall is a two dimensional surface, the card wall is presented in a tabular format, where the work stages are the columns, and the work cards, people cards, and other work related marks fill up the space in the wall. These cards might be organized in a row or not. It all depends on the team and how they represent and organize their work in the wall.
The card wall can be viewed as a communication tool for rapidly acquiring and disseminating knowledge among members of a workflow team. The main goal is to give all team members a shared view of the current workflow process status. To this end, the card wall has visual representations for work stages, people, work, and work related attributes such as size, complexity, order, groups, priority, limit, and feedback.
The card wall helps scheduling and planning readjustment. By looking at the wall you know which stage a card is in. This simple visual inspection enables you to identify early enough any cards deviating from plan, and do something about it.