If you want your team to improve, you need to give it the means to innovate. Since innovation needs ideas, the problem is how to stimulate the creation of new thoughts. A daily stand-up can be a step in the right direction.

Some science seems to suggest that a lot of good ideas, maybe even most of them, come from collaboration and is a network of thoughts rather than a single person unexpectedly getting an idea while taking a bath. In a tightly knit group, your teammates are the extension of your mind, imagination and memory. Or as Steven Johnson said, “chance favors the connected mind”.

If this is true, let’s think about it in the context of software development. What’s the most important thing to get good ideas about in our profession?

Here are a few suggestions:

  • Reducing bugs
  • Writing better code
  • Increase collaboration
  • Improve communications
  • Increase usability

If you’re like me, you believe that all of the above are results of the way the team works, i.e. the process. It would then seem like a team that is capable of spawning really good ideas about the process and ways to improve it is very valuable.

If you somehow stimulate the intellectual and free discussions of progress in your team, then you’re practically bound to get many improvement suggestions that any one individual couldn’t have figured out on their own. If the teams learns how to, in a safe environment, discuss, argue, challenge and intellectually defend ideas, beautiful things happen.

To me, a well run daily stand-up seems like a good option to achieve this.

I’m currently experimenting with checklists in order to make sure I don’t forget or look over important actions when programming. This is my current list.

I’m done when the code is:

  • covered by automatic tests that express domain logic to as large an extent as possible
  • tested in the following browsers: IE6, IE7, IE8, Firefox, Chrome, Safari
  • commented
  • following the project standards
  • peer reviewed