Ubiquitrons are an elementary particle in the physics of software development. Much like gravitrons or neutrinos they are everywhere. The air, your office, and your brain are constantly penetrated by hundreds if not thousands of ubiquitrons each and every day.
What, exactly, is a ubiquitron? To the naked ear they sound a lot like words. Nouns and verbs that when strung together form the vocabulary – or Ubiquitous Language – of the problems we’re meant to solve in the applications we develop.
How are they collected? Well, Scott says they arrive during a planning session as a kind of emergent property of good Behavior Driven Design. Yeah, they do that. They’re attracted to meetings where they can be found in heavy concentration (could be the bagels). But Ubiquitrons can also be found aggregating around the water cooler. They can also attach themselves to email, memoranda, and documents. They’re pervasive little buggers.
How can you become the ultimate ubiquitron collector? Be around your users and the experts in the kind of software you’re writing. Ubiquitrons, after all, come from the minds of these people. Asking the right people a lot of questions will attract ubiquitrons. Sure the planning session provides a nice time to collect particles of insight, but why not try taking Skip the Sales Guy or Accounting Jan out to lunch sometime sometime? Good domain modeling is a lot like a cup of tea or method acting; you’ve got to steep in it, you’ve got to live it. It’s a lifestyle.
It’s worth noting that collecting ubiquitrons is all about quality over quantity. Be prepared to throw away those particles that have a replacement with a stronger charge. One time I had an “invoice” ubiquitron that, as it turns out, needed replacement with a “remittance advice” ubiquitron. For a while the two looked like the same thing, but once I made the trade both conversation and code flowed much better.