We’ve explored a long list of ingredients that are critical to successful product development.
Start with a small group of smart, creative people. Fertilize the team with a strong culture of humility, trust, and respect. Lead them as a servant, empowering them to collaborate and make good decisions. Give them water, sunlight, direction, and intrinsic motivation as needed. Protect them from negative influences—destructive behaviors (or environments) that threaten the culture and the ability to make progress. Bake at 72°F for six months, and you’ve got some great software. All done, right?
A lot of programmers stop there. They write software for themselves, are pleased with the end result, and then declare victory.
Unfortunately, that’s not how the real world works. “Good software” is an overly narrow definition of success. If you’re trying to pay the bills (or simply boost your résumé) you also need a lot of other people to use your software and be happy with it. The software development process doesn’t end with throwing a product over a wall; it never ends, in fact. People use your product and you need to react to them, improving it over time. If you don’t learn how to master this feedback loop your creation will die.
We’ll examine three general phases of user engagement in this chapter. First you need to get users to notice your work—are they even aware that it exists? How do they perceive it before they walk in the door? Then you’ll need to think ...