Wednesday, November 16, 2011

Always be Failing!

Here is a good change enabler: FAILURE!

Failure is a powerful tool. People learn from failure but unfortunately, the first reflex most of use have is trying to prevent failure. When you think about it, we should be spending more time becoming resilient to failure instead of preventing it; This would be a much more valuable investment of our time.

When you fail, fail quick and fail LOUD so people can see the causal relationship between a change and failure. For example, think about having a big, publicly visible build system monitor or package deployment summary screen that goes RED when something bad happens (broken build, unresolved dependency, failing unit tests, etc..). The instant feedback is key!

In today's fast moving technological world and particularly with software development, change is something that is risky, but necessary. Enabling change by embracing failure can be extremely beneficial  and if failing hurts, DO IT MORE!

  • Push code all the time - It will get less painful
  • Upgrade all the time - It will get less painful
  • Write tests all the time - It will get less painful
  • Do code reviews all the time - It will get less painful
  • Merge branches all the time - It will get less painful
  • Fail all the time, it will get less painful

So go ahead, learn from failure and enable change! Just don't forget to make sure people aren't stigmatized or afraid to fail.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.