21 August 2011

The Filler Anti-Pattern

There aren't enough killer apps to go around. Most software developers perform a daily slog making information massaging applications or information shuffling applications.

A developer I know worked on a project for the now defunct Minnesota Brewing Company. MBC occupied the former Schmidt Brewery in Saint Paul circa the late 90s through the early 2000s.

The Filler

To software developers, abstractions like inventory, workflow, content management, contact management, and so on, soon become a monotonous blur. Slinging code for an unscrupulous hedge fund manager or a head-strong brew-master -- after a while, it begins to look the same: massage or shuffle.

The difference in the story of our intrepid MBC developer was something known as The Filler. Our buddy would regale fellow-programmers with stories about The Filler. Filler stories involved the plant loudspeaker and a plant employee warning everyone about the dreaded Filler.

Our buddy might be VB-Scripting a jury-rigged ETL between Microsoft Access and Microsoft Excel when over the loudspeaker, he would hear:
Shut The Filler Down!....Shut The Filler Down!
Since we'd never been inside MBC plant gates, the meaning of this plea was left to our collective imaginations. We'd imagine massive beer vats packed like copper sardines into a steamy, industrial-aged factory.

Pot-bellied vats would be over-flowing with boiling wort. And because we'd imagine the floor drains were clogged, swells of pre-fermented swill would be roiling down corridors gushing into windowless chambers where unsuspecting programmers were mindlessly toiling away on Microsoft Office automation.

Shut The Filler Down Metaphor

In the intervening years I have wondered how Shut The Filler Down might be a useful metaphor for a few repeating software development scenarios.

Perhaps the best application of the Shut The Filler Down metaphor might come at the moment we detect an anti-pattern in code, or an anti-pattern in team behavior.

Anti-Patterns in Code

Custom software developers frequently weigh the client's value with either the seemingly laudable tendency toward gold-plating, or with the seemingly laudable tendency to get stuff done.

I have coded myself off-the-rails many times by hacking together something marginally useful in haste simply to complete a user story within the confines of an iteration.

Last week I recognized one of my off-the-rails moments. "Super Dave" Osborne looked at the stinking pile of MVVM and Silverlight ooze I had made, then offered a couple of suggestions so that I could then see my way toward turning my malodorous ooze into something tighter, simpler, and better aligned with established patterns in the rest of our code base.

Not every team has a "Super Dave", but when you're coding yourself off-the-rails, remember the mantra
Shut The Filler Down,
then ask someone for a second set of eyes.

Anti-Patterns in Team Behavior

Shutting The Filler Down
by reversing caustic anti-patterns in team behavior (or in corporate culture) might take months (or years). So I suggest starting with the first retrospective. Call out the anti-pattern - respectfully. Rinse and repeat. Be tenacious, but be respectful -- because you're a professional!

Imagine clinging to an over-sized monkey-wrench with like-minded team-members as you incrementally inch the shut-off valve to its closed position. To Shut The Filler Down when it involves human egos is delicate. It requires patience and finesse.

2 comments:

  1. Hi, If you're going to write insightful agile stories like this one, I think you need a $ sponsor or to send it in to some soft dev mag or other:)

    ReplyDelete
  2. @whittet - Thanks. your check is in the mail ;)

    ReplyDelete