Start Seeing Software

I found this on Joe Ely’s weblog Learning About Lean:

Central to any Lean system is Management by Sight. An effective system is very visual. In less than two minutes, any associate must be able to assess if the system is in or out of compliance.

He tells a little story about a colleague looking out the window and seeing an activity gave him important information about a problem with their production process (the are in the buildings business).

How can we apply “Management by Sight” to software?

Create visibility into the product.

–Test first development. When the code passes the test you know it works.

–Technical reviews. People with the relevant technical expertise examine a product (a feature, a design, a spec…what ever) and assess whether the product will do the job it’s intended to do. Make the review team’s recommendation public information (but not the issues list, please).

–Satisfaction surveys. Send out a little survey that asks the designers (or developers or testers… whoever) how they rate the product. (Here’s a short article on using surveys to “see” into┬áthe product.)

–Unit tests. Run unit tests and post the results.

–Track defects. Make the information public.

Create visibility into the project.

–Create a Public Project Poster or Deliverable Map. Put it up on the wall and post review recommendations, status, estimated and actual effort and duration. Trouble cannot hide!

–Milestone reviews. Look at planned and actual progress. Look at what’s changed, what assumptions have turned out to be correct and which have not; what risks have come home to roost.

–Track and display metrics. Defects, Fault Feedback Ratio, requirements changes, effort….. this list of possible choices is long. Pick a few key metrics and make them public (always in aggregate, metrics on individuals should stay private). Let your data tell a story.

–Hold a retrospective. Hold sprint retrospectives at frequent, short intervals. Ask the team: “How do you rate the product at this time? How do you rate our process at this time? How do you rate our teamwork at this time?” Use a 1-10 scale. Make a histogram. Figure out what it means. Choose what to change.

–Hold another retrospective at the end of the project or release. Recreate the timeline on a wall, a visual reconstruction of the project. It amazing what people will see about patterns of process and behavior when it’s up there on the wall in black and white and color.