Thoughts on Software

We are Building a House

We are building a house for our customers to live in. Not just a house, but a palatial mansion. We are building it to the highest possible standard. Every last detail must be perfect. When the customers walk through the front door, every square inch should sparkle.

To accomplish this, each of us must obsess over the quality of the house. No single person can go through the house day-by-day checking for defects and each of us is liable to make an innocent mistake here and there. We will only achieve a perfect result if all of us are continuously reviewing every facet of the house to make sure nothing goes unnoticed.

When you discover a defect, let the rest of us know - and fast! Have everyone come rushing to you to inspect it. This may seem silly for a tiny imperfection but even the smallest defect bears witness to a greater problem - our process for building this house is broken. It has produced a defect. And, if our process produced one defect, it is sure to produce another someday soon. What's worse, is that the rate at which we produce defects may be increasing. The only way we can win the battle against defects is to bring our defect production rate as close to zero as possible.

Now remember, while we must always insist on quality, the scope of what we are building may vary. The front entrance will have the finest marble, but in the boiler room, a simple polished concrete floor will do. Likewise, the first bedroom can be larger and more finely appointed than the ninth.

Unfortunately, we will not have complete privacy as we build this house. Some of our customers are already moving in. Though the kitchen is only half finished, customers are cooking meals amidst the construction. I guess we can't blame them - people need to eat! Help guide them on how to use the house in the half completed state and keep them safe. If they try to use an appliance that isn't properly installed yet, it could be dangerous.

It's perhaps more frustrating that these customers already have opinions about the house. The kitchen is too small. It should have had an induction range instead of gas. The cupboards are in the wrong place. We won't be able to address all this feedback - but if we are smart we can do better as we start on new rooms.

I know many people on this team haven't built a house before, let alone a mansion. But we are learning together. Each day we reflect on what went right and what went wrong. We look at where time was wasted and where things went quickly. We try to extrapolate lessons from our observations that we can apply tomorrow to do a little bit better.

We are building a house and we aren't exactly sure how it will end up. It's a herculean feat to build something of this scale with such a small team. Undoubtedly, we will fall short of the goal. But some days, we will catch a glimpse of the perfection we are in search of, and we will be proud that we have made something great.

If you enjoyed this post, please follow me on Twitter to catch the next one.

Subscribe to my blog via email or RSS feed.