Whiteboarding as Brainstorming
Part of my “brainstorming process” for working on a problem is to find a whiteboard where I can write down all the ideas for solutions and then start filling in pros and cons for each idea. This helps me think of more ideas, as well as to begin considering what are the values that are important in choosing a solution.
A Whiteboarding Example
A recent problem my group had to look at was how to configure multiple ethernet devices on a single host:
Idea | Pros | Cons |
---|---|---|
Static Configuration | does not break during infrastructure outage | requires work to fetch IP addresses |
DHCP | trivial to configure | might have reliability issue if DHCP breaks |
Looking at our table told us we had two concerns: reliability, and time to develop.
The project was more nuanced than that, however: we were trying to get up-and-running
quickly to unblock another team, so reliability
was important to us only in the
long term, and time
was the most important concern right now.
Unfortunately, one of our partner teams didn’t value the priorities the
same way.
Were there other approaches we had missed?
In fact, there were.
The obvious one is to implement both solutions - DHCP first to unblock the other teams,
and then later switch to static configuration.
Another idea we thought of was to keep eth0
with static configuration (which
maintains the reliability of health monitoring), and use DHCP for the extra
ethernet devices.
Idea | Pros | Cons |
---|---|---|
Static Configuration | does not break during infrastructure outage | requires work to fetch IP addresses |
easier to debug | estimate a month to complete | |
DHCP | trivial to configure | might have reliability issue if DHCP breaks |
estimate a day to complete | harder to debug | |
DHCP first, Static Later | best of both worlds | extra work |
eth0 static, others DHCP | reliability would only affect applications, not monitoring | could be confusing to debug problems |
estimate a day to complete |
Thinking about the new idea of mixing static and dynamic configuration together identified a new concern: ease of problem diagnosis for the customer.
The point here is that this process of pedantically using the whiteboard to layout choices can be a tool that helps identify alternative solutions. I’m using the whiteboard to offload details from my brain so that I can step back and see different aspects.
I hope this example gives you some ideas for how this technique might be useful in your own “brainstorming process.”
Leave a Comment