I was trying to explain to my wife what I felt was a need for a better way to customers and developers to share ideas and reach a mutual understanding that could realistically lead to a plan.
To make the point, I asked her to think of an idea for new software that she would find valuable. Right away, she said that a program that managed her food inventory would be useful. She even knew some of the features it should have. It would remind her when something is running low. It would update itself when she took something out of the pantry or refrigerator. She could quickly check to see whether she had all the things she needed for a given recipe.
At this stage, she certainly doesn’t care what it looks like, whether it’s on the Web, or an embedded device, or whatever. She doesn’t care whether it’s Windows or Mac or *nix. She probably does care about how she’d have to interact with it, but in her mind, all she knows for sure at this point is that it should be easy and quick and as much of it should be automated as can be.
To get back to my point, I claimed that I could think of a spectrum of solutions varying quite widely in expense. At the low end would be a Microsoft Excel spreadsheet, with a few special formula cells and VBA modules, costing a few hundred dollars to develop. At the high end would be something like MIT Media Labs context-aware kitchen, or any one of a variety of high-tech kitchens, costing hundreds of thousands if not millions to develop.
I said it was important to make sure she got value back out of the software. She said she thought it could be worth $20,000. I’m sure she meant Monopoly money, because there’s no way she’d actually fork over that much for a food inventory program. For the sake of argument, though, I took her at her word.
And then we reached the crux of the matter. It was certainly possible to create something for that much money that at least partly reached the functionality she wanted. But neither of us knew whether the final result would be actually valuable to her, enough that she would feel that her money had been well-spent.
Had I been talking about something that she understood better, she would have been able to quickly evaluate a plan. Instead of new software, I might have suggested buying a kitchen makeover, or a visit to famous kitchens around the world, like Julia Child’s kitchen in the Smithsonian’s museum, or several years’ subscription to a home food delivery service. We’ve never bought any of those, so we have no direct experience to apply in determining whether any of those things would be worth $20,000. But we can pretty easily and quickly make that evaluation anyway. Why? And why can’t we do the same thing with software?