In the "Venus and Mars" series of mainstream relationship books, author John Gray attests that differences in outlook and inherited traits account for relationship problems between genders. His position is that men and women come from inherently different places and therefore approach things from inherently different perspectives. In this week's column, Carol Dekkers explores how some of the issues in software development might be similarly rooted in differences between the software development and customer communities.
For the sake of discussion, let's assume the perspective that there are human issues (beyond issues with tools and processes) that create obstacles between the customer and systems development communities. What's the fundamental difference in project vision between these two groups? It’s said that before you can empathize with another human being you have to walk a mile in his shoes. Not having the luxury of cross-training today, let's explore the respective roles of customers and systems developers.
IT Customers Are From Venus
End users and business managers (IT customers) all share common goals: keeping business running efficiently and effectively; to satisfy their external customers; to accomplish both at a profit. Because they deal with day-to-day external customer issues, IT customers are most concerned with day-to-day business continuity. It is from this perspective that they approach and prioritize projects that are not critical to the mission, including software development.
Developers Are From Mars
Software developers also share a common vision-providing computer resources, facilities, and software applications needed by the business. In this supporting role, the primary focus of the developer’s activities is to satisfy the IT customer by delivering customized software that is specifically designed to their needs.
In short, IT customers focus on the running of the business and its external customers, while developers focus on the delivery of software tools to the IT customers. This difference gives rise to interesting-and challenging-behaviors on software projects.