CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Dave Laribee

"Whoso would be a man must be a nonconformist." - Ralph Waldo Emerson

Ubiquitrons

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.



Comments

Jason Meridth said:

Don't forget that they only exist in a DDD membrane.

# September 26, 2007 3:19 PM

Dave Laribee said:

We all exist in a DDD membrane. Some choose to ignore it. :)

# September 26, 2007 3:24 PM

Jeremy D. Miller said:

Ubiquitrons collect anytime the *team* is colocated and working in a collaborative environment.  Ubiquitrons have a much more difficult time penetrating paper or email.

# September 26, 2007 3:49 PM

Dave Laribee said:

Good point. While they do show up in some oddball spaces, the best instrument for detecting ubiquitrons is far and away face-to-face communication.

# September 26, 2007 4:00 PM

Joe Ocampo said:

Awesome term!

But can we agree while there are Ubiquitrons in the universe there are Anti-Ubiquitrons that are drawn to communcative channels as well.

They look remarkably similar to Ubiquitrons but they do not add any immediate value to the domain language. Anti-Ubiquitrons traits tend to prolong discussions about the domain and break apart the planning meeting into wild tangents.

On a positive note during these wild tangents the Anti-Ubiquitrons go into a flux state which produces an enzyme that strengthens normal Ubiquitrons within the domain.

The Anti-Ubiquitrons have no intentional malice as they are a by product of eons past in cultures that that have withered poor design.  They serve to balance perceived perfection adding chaos to order.......  Let us all pray now.... ahhhoommmm,  ahhooommmmmm

:-)

# September 26, 2007 4:52 PM

Dave Laribee said:

Awesome Joe! Let's call them "Distractons" :)

(Like electron is to positron as ubiquitron is to distracton)

Distractons take us away from the ubiquitous language. They have a negative charge. And so, one domain's ubiquitron is another's distracton.

I like the enzymatic chemistry you worked out there too, very cool.

# September 26, 2007 5:31 PM

Chuggle said:

I presume if a Ubiquitron meets a Distracton they anihilate each other in a flash of pure Confusion - which explains most of the meetings I have to go to

# September 26, 2007 5:50 PM

Joe Ocampo said:

@ Chuggle.

Yes if an Autobot meets a Decepticon there is complete chaos!  Oh wait that is something else... :-)

Provide you contain the Ubiquitron and Distracton  in a model inert field the flash can be contained and distilled strengthening the Ubiquitron yield.

If you don't have the luxury of having a model field, then yes pure confusion can erupt.

# September 27, 2007 12:09 AM

All Night Coder - Today’s Top Blog Posts on Programming - Powered by SocialRank said:

Pingback from  All Night Coder - Today’s Top Blog Posts on Programming - Powered by SocialRank

# October 1, 2007 8:13 AM

Leave a Comment

(required)  
(optional)
(required)  

Enter the numbers above:
Add
Check out Devlicio.us!