I recently wrapped up a project that afforded me an opportunity I had never had before as a software developer. I sat with my end users every day. I lived with them. This may sound like a bad idea, and in many cases it might be, but in this particular context I loved it. I have never had such a tight feedback loop. I could push out a new feature and within five minutes hear someone down the row yell, “Hey, look at this!”
This contains a wealth of lessons for those involved in software development:
- Contact with those using the product is critical to understanding their needs: Obviously, the author’s situation, being co-located with his user base, isn’t something that would work universally. It doesn’t scale across large teams or large user populations and the potential interruptions aren’t conducive to productivity. That being said, it’s obvious that some close up contact with those actually working with the product is important, even if it’s not the entire development team doing so. Observing the product “in the wild” enables you to see the where the product helps and where it hinders the users. It allows you to see opportunities for enhancement that you might not otherwise find out about.
- Users that feel that their needs are important are more likely to become active partners in the process: If people feel that their concerns aren’t being heard, most won’t bother providing feedback. Some, however, will still provide feedback, just of a shriller nature. People who are engaged will tend to provide more constructive feedback, making it easier to meet their needs.
- Grateful users lead to motivated development teams: Satisfied users tend to be grateful users (really, I’ve actually experienced this and it’s a wonderful thing). Sometimes they’re so grateful that you have to push them to ask for more.
- Motivated teams work harder for their customers: In spite of the stereotypes, technical types do respond to positive reinforcement. It’s a powerful motivator when your efforts are recognized and appreciated. Professionals should (and do) provide their best efforts regardless, but the applause certainly makes it easier.
Economists call a self-perpetuating cycle of benefits a virtuous circle. Producers and consumers of software might call it an ideal situation.