Friday, March 26, 2010

Preventing Process Goo (or How to Keep Process in Check)

Everybody loves process. Approval forms, multi-level sign-offs, tools that make everything "easier", and people who find satisfaction is getting the process done, regardless of whether work gets done or not (you know, the process police).

If you've only ever worked in large companies, you may have never experienced a life without process. There is a place where, as a trusted employee, you make a decision and just do it. That flexibility is a small companies greatest strength, but it can also be its biggest weakness.

Different types of companies require different amounts of process. Life sciences, with the heavy regulation, needs a significant amount of process. The average consumer web company doesn't need much. Every company needs some process, though.

Good process ensures that good decisions are being made. It provides information and direction on how to do things better than you did last time. A good process will make sure you are gathering and taking into account all of the information you need to.

The problem with process is, left unchecked, it will self-replicate into grey goo. And, just like in nanotechnology, the way to keep prevent process goo is by adding "process limiting code."

How do you implement processes limiting code? You specify up front things that you want to get out of your process and what you are not willing to give up. What are you currently doing that is working really well? If you don't identify it what you want to keep, you can be sure that your process changes will eventually destroy it.

And that, in a nutshell, is what most people fail to realize when they go into process mode. In all of the ferver to find new and better ways to do things, they keep track of what they don't want changed.

So next time, you are changing your process, keep the following in mind:
  • You should have specific, measurable goals of what you are trying to accomplish with your process. If you can't measure it, it didn't happen.
  • You must include the set of anti-requirements: what you want to ensure you process is not changing. Again, try to make it measurable, but that can be hard for things like company culture.
  • Make small changes over time to better identify cause/effect relationships
  • Evaluate if you process changes are meeting your goals and not breaking your invariants.
  • If you are not seeing the results you want or your invariants have varied (bad thing for an invariant to do!), roll back those changes and try again a different way.
Here are some ideas:
Goals Invariants
Management should be able to predict the output of the team for the following two weeks within a 20% margin of error. A task should never take more time in process than in actually completing the process.

Photo Credit: Amit Patel

No comments: