Monday, October 11, 2010

Culture beats process

Last week I tweeted “culture leads to behavior; process leads to resentment”.  I thought I’d follow that up…

One of the things that I’ve noted in my career is that the natural reaction of many people is to “add process".  We’re introducing bugs late in the release cycle.  Let’s add a check in process.  We’re not sharing code “correctly”.  Let’s add a code sharing process.  Bug information isn’t getting communicated correctly.  Let’s add a bug entry process.

A coworker said (though I’m sure he got it from somewhere else):

Process is like violence.  If you’re not getting the results you want with it, you’re not using enough.

True, if you put enough process around something, you might eventually get your desired result.  Might.  Engineering systems is hard.  Engineering systems that involve people is really hard.  One of the first business books I read was The E-Myth Revisited: Why Most Small Businesses Don't Work and What to Do About It.  It was an eye opener.  It described how a business really is a set of processes.  To have “The Manual” that helps things be repeatable.

I loved it.  I ate it up.  I need to reread it now and see how much my current view of the world jives with it though. 

Because for some things this works.  For example, Ray Kroc and the hamburger.  McDonald’s does not have the best hamburger in the world, but people go back because it’s predictable.  It’s repeatable.  You get the same hamburger, chicken McNuggets, salad, or apple pie pretty much anywhere.  The process, the system makes it happen.  But then maybe that job can be done by robots.

Now where does that break down?  Is the service consistent at each McDonald’s?  No.  As much as the process attempts to enforce this, at each store are different people, with different personalities, different backgrounds and different whatever going on that particular day.

This is why culture is more powerful than process.  If you can instill a culture of cheerfully helping customers, your employees will do just that, regardless of “The Manual”.  If you instill a culture of quality code, employees are going to think twice before checking in crappy code.  Maybe they’ll get somebody to review it or give it another pass.  Processes or systems can be a starting point, but without culture they have no meaning.

Culture helps people do the right thing.  They might not always do the right thing, but that’s okay.  It’s an opportunity to teach about the culture, not add a process.  Culture is “the why” of a business.  And when you know why, it’s a lot easier to get a great result.  Put too much process around it and you’ll get a robot.

Saturday, October 9, 2010

Can’t Succeed? Redefine Success

We set goals.  We set exit criteria.  We define requirements.

Unfortunately we don’t always reach our goals, complete our exit criteria, complete all our requirements.

So what do we do about that?

Now Failure sometimes happens.  Sometimes we completely miss the mark.  But often we simply need to redefine what we see as success.  That might mean adjusting your goals mid-flight.  Maybe fudging the exit criteria for a situation that you didn’t anticipate. Change the requirements based on the evolving understanding of the customer needs.

How do we know if we Failed or if we Succeeded?  Most of the time a simple “5 Whys” exercise will get us there.  (Sometimes 1 Why might be sufficient!)  Why did you set that goal?  What is the purpose of the exit criteria?  Why did we define requirements in the first place?  If we failed at “the why”, then we failed.  Otherwise, redefine success and take a victory lap!

Original design by andrastudio
Blogger port by Blogger Templates