Writing by Peter Hilton

Lots of whiteboards

Classic product development hardware - 7 September 2021 #agile

A white-desk

unsplash-logoBench Accounting

If you ever wanted to know how many whiteboards your software development team members need, you just found the correct answer: one each.

The Scrum board does not replace a whiteboard

Most of the development teams I ever worked on had one whiteboard, which we used for the Scrum or Kanban board, because it gave us a convenient way to draw the board. It turns out that we shouldn’t have only used our whiteboard for the Scrum board. You need a whiteboard for day-to-day discussions, so you can use it as a rapid-prototyping tools for text and diagrams.

Writing on paper stickies with a whiteboard marker and then sticking them to a whiteboard wastes wastes the whiteboard’s one job: providing a convenient surface to write on. Any flat surface would do for a tasks board, although you may get in trouble if you draw columns on the wall with a marker. Instead, you can just tape paper signs to the wall to indicate the Scrum board columns, such as To do and Done.

High-bandwidth communication

Software developers spend a lot of their time talking to each other, either face-to-face, via video chat, or asynchronously via text chat. Software development requires a lot of this ad hoc communication, which it emphasises over written documentation. Agile methods do this for three reasons:

  1. to avoid fixing information such as software requirements until as late as possible
  2. because it doesn’t take as long
  3. because a conversation between two people has higher bandwidth than writing a specification.

The highest bandwidth communication between two people combines face-to-face verbal communication… plus a whiteboard. This combination gives you a conversation with quick diagrams.

It matters that you use low-fidelity [back-of-the-napkin|http://www.danroam.com/the-back-of-the-napkin/]-style diagrams that you can draw quickly. This part doesn’t work as well on a computer, where diagramming software invokes a time warp. Time slows down while you endlessly fiddle with box alignment and arrow placement. A picture sometimes takes as long to produce as a thousand words.

Team whiteboards

Despite whiteboards’ usefulness, many teams have a single shared whiteboard. Just one. If your team only has one whiteboard then they can only have one high-bandwidth conversation at a time. Unless you exclusive use team programming, this unnecessarily constrains communication.

Centralised discussion belongs old-fashioned school classrooms and meetings, not for software development teams. Treating a whiteboard marker like a software development team’s talking stick annoys programmers as much a version control system that locks files on check-out. (Yes, that used to happen, and frequently ended badly.)

Sometimes you can tell that you don’t have enough whiteboards: they run out of space, and team members have to write ‘DNE’ (do not erase) on whiteboards that other people use. Heuristic: you don’t have enough whiteboards when you have fewer whiteboards than people.

Remote ‘whiteboards’

Working remotely changes your relationship with whiteboards. Although you might have one where you work, it no longer provides a shared space, and unless you have a second high-quality camera for it, no-one else can see it properly. Distributed teams need effective electronic solutions instead.