The Wonderful World of Software
Former STQE magazine Technical Editor Brian Lawrence shares a tale about why a commitment to quality and paying close attention to detail are critical elements in building better software. It's all about careful planning and anticipating customer behavior. Go with Brian on a stroll through one of the oldest, best-known amusement parks to find out more.
Editors Note: This piece originally ran in STQE magazine, May/June 2000. It sparked numerous responses, but some of you may have missed it. If so, here's a chance to tell us what you think.
Not long ago I was talking with author Elisabeth Hendrickson about a recent visit to Disneyland in Southern California with her children. Early one morning she had gone for a walk with her infant daughter. Since she was staying at the Disneyland Hotel, she could stroll around Disneyland's grounds before the theme park opened to the public. The sun was shining, and it was peaceful and quiet. Elisabeth noticed that everything was wet, even though there were no signs of rain. During the night, the staff had apparently hosed everything down. The place was spotless. It was as though the thousands and thousands of guests who visited Disneyland the previous day had never been there. No trash. Nothing.
Not thinking about anything in particular, she sat down with her daughter on one of the many benches. Too late, she realized that she might be sitting in a puddle. But the bench was dry! She looked around. All the benches were dry, even though everything else in sight was wet. Somebody had come along after they washed the whole place and toweled off all the benches. It was hours before the park was due to open and the benches would undoubtedly have dried off by opening time. But they had sent a crew to dry the benches anyway, and they had already finished their jobs and disappeared before the early opening time-now that's planning! They had done it just in case some of the hotel guests went for a morning stroll and wanted to rest for a moment. Now that's attention to detail.
But hold on a second. Disneyland is only an amusement park-hardly on the critical path to anybody's work. Why should Disneyland's operators take quality so seriously? It's not like it really matters all that much.
Or does it?
How is this related to software? Well, it has to do with carefully thinking through how users are going to experience your product or system. What can we in the software industry learn from Disneyland? How about commitment to quality? Even if it's just entertainment. Disneyland is one of the oldest amusement parks, yet it remains one of the best and best-known amusement parks in the world, even in an increasingly competitive market. In software, we'd call it a "legacy system." But unlike many legacy systems, Disney is constantly reinventing itself. They see customer satisfaction as a core competency, and they strive to be unparalleled at it. How do they do it? They pay attention to detail. They think through what visitors' experiences are going to be like, and craft a product meant to satisfy all of them. That's careful design.
Drying the benches at the crack of dawn doesn't seem like an obvious thing to do, but they've learned to do it. Maybe somebody lodged a complaint. We'd call that "usability bug report." Or maybe they just think really hard about how their users are going to use their product. I'd bet it's both.
Do you know how to build quality software? There are lots of good proven approaches around. But it isn't enough to know about them. You have to want to use them. Does someone say you don't have time? If your software system is any good at all, it'll probably last longer than anyone believes today. If we learned anything from Year 2000, that's the lesson-software systems last longer than we think they will. Do you really have the time NOT to do good design? I know of Web development companies who are starting to write thorough requirements and design specs, and to inspect all their software artifacts-to work towards developing rock-solid systems. To build quality products.
If Disneyland can do it, perhaps you could too. After all, what they do is just entertainment. Is what you do just software?