Thanks again to those of you who watched my Mile High Agile 2013 presentation, Design Patterns in Non-Software Contexts. This post describes the presentation and provides some materials.

Here’s a PDF print-out of the Design Patterns in Non-Software Contexts slide deck. Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

I made it primarily with Haiku Deck, an iPad tool for making quite, visually appealing presentations. I finished it in Microsoft PowerPoint 2011 for Mac. The presentation primarily uses the Quicksand font, a free font by Andrew Paglinawan.

The first eight minutes or so of the presentation is going through the quote slides. While I think it was an effective way to introduce the topic, even I found the quotes to be tedious by the end. They were not present in the previous version of the deck, which was closer to 140 slides long which I’d planned to push through at a rapid pace. I’m glad I sat down and re-conceived the deck. There wasn’t enough interaction in that version, and the presentation was much better for it.

The next fifty minutes consisted of participants collectively brainstorming real-world examples of these patterns. We spend about six minutes on each pattern, enough to fill a flipchart paper:

flipchart papers.

Here are the examples the group came up with. I hope over the coming weeks to unpack these in separate posts. But, for the benefit of the attendees, here they are:

**Object Pool**: bowling shoes, library, video store, rental cars, bank loan, thread pool, database connections, ski rentals, technical debt, scrum coach, consulting firm, team's capacity, farm leagues, friends of the team **Command**: remote control, voice activated (Siri), ordering something online, fast food, drive by wire, dog whistle, in car navigation, ground control for satellites, offshoring development, backlog **Composite**: Legos, black box as tree to instrument's leaf, story in a backlog, DDOS attack, everything – atoms, cells, scrum of scrums, sleeper cell, sharded database - S3 **Decorator**: gift, marketing, clothing – thermal underwear, up-selling at restaurant, politicians – spin, priest – titles – job role, nitro for car, the Borg, Iron Man, trim for house, plastic surgery **Adapter**: travel converter, MagSafe converter, wrapper with third-party vendor, silly zippy pants, scrum bond, Scrumban, male to female plumbing adapter, language translator, product owner, Internet Explorer shim, minimizer, SOAP to REST wrapper **Observer**: Sentry or alarm system, newspaper, Doppler radar, poller – print queue, scrum master, Craigslist or eBay auction, continuous integration server, stock market analyst, process control or auditor, A/B testing **Strategy**: audible, chess gambit, feint, personal choices, chord progressions, retrospective – kaizen, long-term planning, robot navigation, cooking techniques, software delivery methods – lean, JIT **Proxy**: celebrity cardboard cutout, password hash, CAD, Skype, model – foam car, crash test dummy, flight simulator, product owner, backup for a job role, mocking framework, simulated load testing, data models, consumer price index

You’ll notice that some of the examples are stronger than others, and in fact, some may be better examples of other patterns or false examples of the pattern in question. To me, this is a weakness of the format. I did not spend a lot of time debating the examples given, in part because I wanted to encourage further participation – no one wants to feel graded – and I wanted to make sure we had enough time to cover the original five patterns I’d planned to talk about.

Overall, I think the talk went really well. I know that the comments have been generally very positive from attendees, though I don’t have full feedback yet.