Wednesday, January 25, 2012

The Importance of Being Quipped

Not too long ago, we switched from Bugzilla to Fogbugz as our issue tracking system. I say "not too long ago" because I'm trying hard not to remember the whole incident too clearly. I'm sure I agreed to it, that's the way we do things: as a team. Nonetheless, as with most technology stack shifts, there are both unintended consequences, and unexplained ones (ahem, you know who you are). Now don't get me wrong, Bugzilla and Fogbugz are both fine defect tracking solutions, and we have benefited significantly in our SDLC from Kiln's Code Review features (which are actually the primary reason we switched).

Nonetheless, I have my regrets. There is something comforting about old tools, and I don't think software developers are immune to the easy comfort of the well-loved chef's knife or hand-saw. Oh sure we "thrive" on change and PROGRESS, but underneath, we suffer the obscenities of EMACS and Microsoft Office Ribbon Bars, every bit as much as the normal application user.

All of this has nothing to do with this post however.

Well except for the intro line.

You see Bugzilla had a feature which turned out to be (for our team) even more important than case tracking. This feature turned out to be the very foundation of our team knowledge, wisdom, and humor. And the moment it was taken away (because it didn't exist in Fogbugz) we began the slow inexorable slide towards... well, being boring. If you are a software developer, date one, have a sibling who is afflicted, or (god help you) are married to one: then you will know this: we don't tolerate boredom well.

So I made a "request" (which probably sounded like a demand, but was in fact For The Betterment of The Team, honest) that we bring this feature into Fogbugz; thereby improving the product, recapturing our institutional wisdom, and most importantly, adding a respectable veneer of sophisticated humor back to our daily plod through defects which others have thrust upon us. Like a superhero without a cape, Christopher swept down upon Fogbugz and created a JS plugin which has become the analogue to Bugzilla's Quip feature.

If you have never seen this feature, a picture is worth a {for(int i=0;i<1000;i++)} words:

These little snippets of philosophy, wisdom, existentialism, or ridiculousness are defining characteristics of what I think of as our team. They leap out at us every time we look at an issue. In their absence, the world is somehow less friendly, bright, and human. Almost every day, quips are added based on Skype messages, emails, phone conversations, meetings, whatever. Sometimes they make me laugh, sometimes they make me regret being too fast on the send button, but always they remind me of what a wonderful experience it is to work with people whom I respect, who aren't afraid to speak their minds and share their day.

I have often succumbed to (and regretted) the temptation of using the term "personalization" to mean "application configuration specific to a known user account". YUCK. That is just customization of a more or less friendly UI, but there's nothing remotely personal about it. Quips on the other hand, are true personalization. Tied to personalities, expanding your knowledge of others and encouraging self-evaluation.

As a developer, team member, and manager, some of my favorites show that our team's intent to collaborate is alive and well:

Phil to David: This is the only corporation in America where the vice president cleans out the fridge

David to Steve: you were right. I was wrong. Don't tell anybody. Steve: K.

Christoper to Steve: David was going to show me... then he saw a squirrel

David to Others: Do I need to join this meeting to suck the fun out of it?

These make me smile, they also make we wince. What makes them funny is they are also true, and the good-natured acknowledgement of both fault and opportunity to get better is what makes us more than just a team, it makes us an improving, enthusiastic team. We tease, we lend criticism, we self-deprecate, we connect.

By the way, we also have a wonderful bunch of Quality Assurance folks who keep us honest, and are also a part of our team and our success:

Dev1: there are a heck of a lot of re-opens... QA1: Duh Sherlock!! You didn't fix them right.

The QA mantra - Please don't say "It works for me", Please don't say "It works for me", Please don't say "It works for me"

I guess in the final analysis, Quips may not be the most critical feature in our issue tracking system, and they certainly aren't the most effective way to archive and convey SDLC knowledge. Quips are, however, profoundly important because they tie us together on a truly personal level, and in the end any good team is more than the sum of its skill sets.

I am more productive, more tolerant, more motivated, just more because of knowing the others I work with.

And so I leave you with one more tidbit from our central repository of all known knowledge and wisdom:

I'd rather write with pen and paper, scan the document using OCR, and then edit the resulting image using Windows Paint than use emacs

Well, they can't all be beauties.

Tuesday, January 24, 2012

Post-Peak Society: Dystopia, or Opportunity?

The other night, my wife and I took our girls to our local bookstore. While I was browsing the photography books with my older daughter, I heard my wife call out, "Oh, Phil, here's something that's right up your alley."

Sure enough, James Howard Kunstler's novel The Witch Of Hebron articulates almost word-for-word the dystopic vision of the world after petroleum that I have been agitating about with my friends and colleagues for several years now. Here's the description from the inside cover:

Kunstler expands on his vision of a post-oil society with a new novel about an America in which the electricity has flickered off, the Internet is a distant memory, and the government is little more than a rumor. In the tiny hamlet of Union Grove, New York, travel is horse-drawn and farming is back at the center of life. But it’s no pastoral haven. Wars are fought over dwindling resources and illness is a constant presence. Bandits roam the countryside, preying on the weak. And a sinister cult threatens to shatter Union Grove’s fragile stability.

True as Kunstler's novel is to my worst boom, gloom, and doom diatribes, I recoil from reading it. And only in part because I know better than to read such things before bedtime.

First of all, brooding about such a dark future doesn't lend itself to the healthiest mental and emotional state. Imagining the worst contriubtes to fear, anxiety, and just plain moodiness: at some level of our being, we believe in what we imagine.

More importantly, what you imagine sets your overall direction in life. In place of the fear and cynicism of Kunstler's vision, why not embrace the idea of shifting, as activist Joanna Macey describes it, "from the industrial growth society to a life-sustaining civilization."

As the high cost of petroleum makes shipping food from places as far away as China impractical, for example, local agriculture could return to being a more significant portion of our food supply. Reliance on local food sources, in turn, would lend itself to a higher quality of connection with the people in our immediate surroundings. It would also make us more conscious of the quality of our immediate environment. Who would tolerate fracking knowing just how precious those local water and agricultural resources are?

You don't have to get discouraged by the level of effort necessary to steer an entire civilization in the right direction. You only have to see the change in your mind's eye and take small steps towards living that change. Macey describes the challenge as "The essential adventure of our time." Indeed.

Don't get me wrong. I still believe that we're in for some rough spots in this adventure. Go ahead and stockpile your flashlights, batteries, food, and wind-up radios to prepare not only for a Katrina-scale weather event, but also for the rolling blackouts and unpredictable region-wide power outages that peak-oil will bring. (I recommend The Ultimate Suburban Suvivalist Guide for a full picture of how to prepare in a reasonable way). But, the difficulties can give way to a better future -- if we dare to imagine.