1. How Can You Clean Up POW
shows a digital photo taken of a POW sketch of a
use case diagram which I drew with a couple of
stakeholders. We took the photo because we were afraid
that we'd lose the valuable information that it
contains, although I'm sure that we could easily
reproduce this diagram in less than a minute if we ever
needed to (one of the side benefits of
practices such as
Depict Models Simply,
Create Simple Content, and
Model in Small
Increments is that you create models that you can
easily reproduce). Digital photos such as this prove to
be useful ways to comfort people who think that you need
more documentation than you actually do because with the
photograph you've retained the model - it might not be
pretty, but at least you haven't "lost" the information.
Figure 1. Sketch on a
There are a couple of problems with
Figure 1 - the file size is relatively large
and it is hard to read because it is so dark. I'm not
that worried about file size issues, disk storage is
cheap, although large files can be an problem for people
with slow network connections. The readability problem
is more of an issue for me. Luckily there's a quick
solution, a product called
Whiteboard Photo from Polyvision, formerly
Pixid. I used this product to create
Figure 2 from the original photo, a process
which took about two minutes end to end, including the
time to run Whiteboard Photo, open the file,
clean the photo, and then save it back to disk. One
feature of the product is that you can clean many photos
at once, something I didn't do in this case, so you can
reduce the average cleaning time even further.
Figure 2. Clean version of the
Figure 2 isn't perfect, the
blotch in the diagram is the reflection of the flash
(the lighting in my work area could be better), but it
addresses the problems with Figure 1.
I then invested a few minutes with a paint program to
produce Figure 3.
Figure 3. Very clean version of
An alternative to capturing digital
images is to use a manual product such as
The Image Saver.
2. Should You Keep the
My experience is that you can
safely erase 95-99% of all sketches that you create.
Then between 95-99% of the diagrams that remain can be
photographed and retained that way and a few diagrams
I'll transcribe into a sophisticated software-based
modeling tool. These percentages seem to be true for
teams familiar with
Agile Model Driven Development (AMDD), teams with
people who are new to this approach will find that they
want to keep more diagrams as it comforts them. Over
time experience will teach them to have greater courage
and to travel even lighter than they think that they
need to, but it takes time to wean people off their
"documentation habit". Digital photos of whiteboards
are a radical step for many experienced IT
Of the photos that I do take, I'll
either stick with the raw photo as you see in
Figure 1 or the automatically cleaned up
version in Figure 2. It's important to understand that
you're still investing time, albeit a short time, when
using Whiteboard Photo to clean up your diagrams.
ROI and only do this work if it adds value,
and very often it does. The only time that I'll clean
up the diagram further, as you see in
Figure 3, is when the diagram is included in
some sort of official document such as a presentation to
management, a system overview document, or in this case
a web site. This clean up step can often be avoided if
you work in brightly lit rooms and/or get good at aiming
the camera so that the flash appears off to the side of
your photo (shoot the picture at an angle).
3. Is Anyone Actually Doing This?
Agile Adoption Rate survey
in March 2007 one of the
questions that I asked was
whether people were using POWs on
agile teams and if so how
effective were they. The results
is summarized in the histogram
of Figure 4.
As you can see, 92.7 percent of respondents who
said that their organizations
were doing Agile indicated that
those teams were also doing
whiteboard modeling, and that
92.6% of those teams found the
effort worthwhile (they gave it
a rating of 3 or more out of 5).
Adoption Rates of Modeling on
was the most
The primary advantages of modeling
on POWs are:
They are easy
because practically anyone can use a POW.
The primary disadvantages are:
Whiteboard sketches aren't permanent, something that you
can easily address by taking a digital photo and
cleaning it up as appropriate.
It's hard to update a digital image of a whiteboard
photo, you typically have to redraw it if you happened
to have erased it from the board, and you can't do
sophisticated things such as generate code from a
static, hand-drawn image.
- POWs are only a viable option when your team is
co-located, something that I highly recommend. When
this isn't the case you'll need to consider other
lean modeling tools.
Notice: This article has been excerpted from
The Object Primer 3rd Edition: Agile Modeling Driven
Development with UML 2.