How do you guys use whiteboards?

Hi, I hear a lot about how whiteboards are so great for programming. We have one at work but it doesn't get used. I find when debugging I have to scribble down lists of numbers, and sometimes little diagrams, but I just use paper for that. I thought it might be useful at the beginning of a project to sketch out the rough design, but we usually find it easier to simply say it is going to be a such and such an app or server, and we are going to need this module and that module and people generally know what to do (and the exact layout of the modules changes as we develop it anyway).

Are there special techniques for using a whiteboard as a programming tool?

Posted May 19, 2011, 8:44 AM UTC

1814
HeapsGood•

Debugging is very often a personal task. It's at the code level where the original or sustaining engineer knows all about the module in question.

I've found that whiteboards are great for explaining architecture to other developers or cross-functional teams but I've never used them for debugging; a notepad suffices for that.

8
Eggbotnik•

Compartmentalize the program that you're designing. Make complex diagrams, flow charts, even scribble down some pseudo-code to accompany each individual component. Everything that is a major entity in the program should be represented. Is it client/server? Draw big representations naming one for each side (even if you don't have control over what's going on with both sides), within them would be where your pseudo-code, abstracts, and diagrams would go. Of course, try and keep it simple. Making a giant contrived mess only further demotivates people from referencing it.

Use colors to code and track usage (socket connections to open DBs would be in red, where as a close button would be in blue or green, we called it mouse traffic.) This can help to identify code smells as well, if you start seeing a whole bunch of connections going to the same place with similar looking abstracts or pseudo-code, perhaps it's time to refactor.

Depending on the office environment, you can apply a few techniques to get eyes on the board. First off, you're most likely going to have to set up a least a rudimentary concept by yourself. It sucks, but sacrifices for changes and all. If you have a light-hearted group, I used to put up humorous quotes and references in various points in my pseudo-code (server name = San Diego. You stay classy, San Diego.) Even if they're cheesy, it'll provide something to look at once a day. Start discussions if you see someone peeking. That eventually leads to arguments, and arguments lead back to references, and finally the white board gets put into play because 5 people have 3 different specs, and it's just not worth it to not anymore. Besides, it's already up.

Or, if you're in a stick-up-ass office, you'll still have to implement a rudimentary model, but instead start making blatant mistakes. What's the DB url? google.com? That's not right. Someone's a perfectionist, and that's where it skips to the point where arguments start, the spec sheets are just bogus and everyone will be eyes on the whiteboard.

tl;dr: keep it simple, give people a reason to look, bark twice if you're in Milwaukee

4
guitarguy62000•

this.

I often scribble out chunks of pseudo code then map them together with a series of arrows -- kind of like my own UML format

1
a_redditor•

The company I work for equips every office with a decent sized whiteboard. I don't have an office (intern), but after a coworker and I used his extensively to demonstrate ideas to each other, I had to get one at home.

I really get the most use out of it when mapping out high level designs and throwing UI ideas up on it just to see what they look like. I usually have a todo/shopping list up in the corner as well.

3
tidwell•

I have a whiteboard in my living room which serves as my feature check-off sheet for personal projects (its just much more rewarding to see a giant list crossed out - i've done this at work as well and really kept the group motivated to cross stuff off - much more-so than a digital issue tracker). I also use them for sketching out quick UIs or to explain high level interactions between components or systems.

3

pffft. Whiteboards are so old. We live in the digital age

On a serious note. Usually whiteboards help when discussing "big picture" concepts with collaborators. This helps a lot when i'm discussing network topology with colleagues as well.

3
muad_dib•

Those things are so damn cool. My high school had them, but the software that it came with was crap. I saw so much more potential for it...

2
aphoenix•

I use my whiteboard in two ways:

LS - Project list and status (for PMs that are dropping by, mostly)

RS - snippets and structures so that I have a head-up place to look at what I'm doing.

3
attekojo•

Well, here's what we do in our office: whenever there's a discussion about design, implementation or whatever the people flock around the whiteboard or flipchart and whoever has something to add to the discussion takes the pen and sketches her idea while explaining it.

For example, I have right now a rough design for a new feature that I'm implementing scribbled on page of flipchart next to me so that the design that we discussed stays clear in my mind. The design discussion and the sketching took about half an hour, but is as good as any formal design document that would've taken about two or three days to complete (depending on the number of comment rounds an whatnot). The "document" has UI mockups, action diagrams, step descriptions and api specifications all in one mess that for me clearly conveys what the feature is all about.

2
[deleted]•

My whiteboard gets used for drawing pictures. If I have an actual use for it, it is usually so that I can write down some logical hurdle I recently passed in order to not have to retrace my steps in the future when I am inevitably interrupted by someone with a question.

2
JeezusCries•

I like whiteboards because it gives me an excuse to sniff the sweet heady scent of whiteboard markers.

1

Green Expo is the best. Nyquil tells you how green tastes, Expo tells you how green smells.

2
JeezusCries•

Does it also make you feel like you're in heaven?

1

uhm... no not quite. Just smells good. It may make light-headed, though, so be careful ;)

1