Key #6 - Developers Should Interact with Customers
Through interviews with dozens of technology executives, Brainspire conducted a research study to find cultural and technical processes and practices that produce the highest return on investment for software development. Below is the sixth of seven recommendations to enable more effective and higher quality software development: Developers Should Interact with Customers
Dev shops that isolate their development teams from customers are setting themselves up for conflict.
In most shops, the BA, PM, Account Manager or Product Manager has the responsibility of gathering and communicating requirements and ultimately building and maintaining the relationship with the customer. Development teams are often shut out of the loop when discussing features, timelines and expectations. This creates internal and external conflict that could be best resolved with closer relationships between developers and the end customer. Consumers of software are very challenging and many have unrealistic demands. One CIO who deals with large enterprise customers quotes “Many of our customers will begin looking for someone to blame before a project has even begun.” These challenges can be resolved with more direct communication between the development teams (or select members of the team) and the customers. Even a little direct communication can go a long way.
Many times customers have no idea of the amount of work or the complexity involved in creating quality software. When customers have a better understanding and a more personal relationship with the developers (as opposed to some unknown team of people), they are more likely to be reasonable and an overall better “partner” in the process. More importantly, you will get better requirements which leads to higher quality software. In addition, actual conversations always work better than email correspondence because of the real time, two-way dialog and the ability to hear and immediately react to emotions.
Executives should first examine how strong the relationship is between the development team and the BA / PM / Account Manager. Do developers feel they are being hung out to dry? Do the Product Managers advocate only for the client and never take into consideration the concerns of the developers? If so, you’ve got some internal relationship patching and trust issues to deal with before introducing your developers and customers to each other. At a very minimum, developers and customers should get to know each other’s expectations, goals, challenges and concerns at a kickoff meeting and have an appropriate amount of human interaction throughout the development effort.