Schedule and Events



March 26-29, 2012, Software Test Professionals Conference, New Orleans
July, 14-15, 2012 - Test Coach Camp, San Jose, California
July, 16-18, 2012 - Conference for the Association for Software Testing (CAST 2012), San Jose, California
August 2012+ - At Liberty; available. Contact me by email: Matt.Heusser@gmail.com

Friday, January 12, 2007

Choices ...

Imagine, for a moment, a retirement home. Crammed full of people, they are told where to live, what to eat, when to eat ... not even allowed to leave the building. If they tried, a monotonous-looking nurse in white would jump up and so "Oh, no, I'm sorry, you can't leave --- we do have a picnic scheduled for a week from Thursday, from 11:00-1:00, if it doesn't rain."

Even the terminology is clinical - doctors, nurses, and patients.

Under these conditions, people simply lose the will to live. Organs simply stop working, and healthy people become unhealthy. (Living in a cramped environment that bacteria loves doesn't help much, either.)

There are a few doctors working on alternative medicine systems that are different, but one common theme is choice. Build communities of houses, with six people or so to a house, and let our senior citizens walk from place to place as they please. Let them cook their own meals and decide for themselves what and when to eat, and include vegetables from their own garden if they want to. The theme is to restore dignity and choice, thus restoring meaning for life - thus restoring life.

Now thing for a moment about the typical Dilbert-like office environment. HR tells you where to sit and when to sit there. Appeals to management to change the environment are typically met with sighs of hopelessness - even though the furniture is a one-time four-figure expense, and staff costs in the upper five-figures annually.

Methodology standards tells us what documents to produce, and when to produce them. Requirements and specifications tell us exactly what to build, eliminating the chance that a do-er would implement anything else - even if he had a technical innovation that would take 30 minutes to code that could save millions. Architecture standards tell us what technologies to use; coding standards tell us how to code with those technologies. Thanks to SAS 70 and Sarbanes-Oxley, Auditing standards tells us all kinds of things about how we should do our job.

At one point, I gave this rant to a peer in one organization, and said "It's getting tot he point where all you get to do is decide to use a FOR loop or a WHILE loop."

He replied that "Yeah, we really should document the pros and cons of a FOR loop verses a WHILE loop, so we can created a repeatable way to decide which to use."

I'm not kidding. He wanted the process to determine which kind of loop to use.

Now, you have to have an HR department, and standards can be very helpful, but when they rob us of choice, something dies inside. If you've ever seen someone burned out and sleeping through a career, you known what I mean - it's not just a waste of a salary, it's a waste of a life.

I am not advocating that we go charge the HR department, or that we throw our carefully considered policies out the window. Instead, I am suggesting reframing those "rules" as guides, and living with a little bit of uncertainty.

Your mileage may vary, but I've been doing that for my entire career, and I seem to be doing all right ...

1 comment:

Ben said...

and said "It's getting tot he point where all you get to do is decide to use a FOR loop or a WHILE loop."

He replied that "Yeah, we really should document the pros and cons of a FOR loop verses a WHILE loop, so we can created a repeatable way to decide which to use."

I'm not kidding. He wanted the process to determine which kind of loop to use.


LOL.

This is what I hate about most "best practices" and detailed processes. High-level process is good. Process (and automation) is good for things that require consistent repeatability. Process can be good with large and/or inexperienced teams.

However, processes that micro-manage can be laughable when proposed and ridiculous -- even dangerous -- when implemented.

Process should help us be more productive and improve quality. We need to be flexible enough to bend the process when it doesn't apply. ... but first we'll have to go through the process bending process. :)

I have encountered a number of people that require a defined process to be productive. It is a challenge to get some people to think without a process to guide them.