Recently the cartoon Dilbert posted the following. This strip has consistently done a good job of pointing out the challenges and realities of the modern corporate world. What I liked about this strip was the tension that we see between engineering and marketing. This same tension can be seen between development and sales, management and employees, and any other group that has a codependency on each other. When your success is dependent on someone else’s work, incentives must be put in place to ensure that the dynamics are not one sided.
Many developers don’t understand sales and marketing teams. I’ve been in many meetings where the thought is marketing makes charts (they get customers to want things that they don’t need) and sales is only coin operated (they will sell only those things that give them the most commission). This is a very cynical view of sales and marketing. As a developer, sales and marketing are two key groups to make you successful. Marketing should be listening to customers and understanding what they want. The should not be making up “markets”, but understanding what the market needs and wants. Sales should be listening to customers and helping them to find the right product within your portfolio which will meet those needs.
As a developer you should be expressing to sales and marketing, what you are doing. How it may address the needs of the customers. And you must be willing to change to address shifts in the market. Part of receiving an MBA, is understanding how to build an appropriate business case. A business case is like a project plan, where you are balancing costs and potential revenue, to build a story that helps drive the right decision. One point that many people struggle with is that in this decision, you should not consider sunk costs. Sunk costs, are those expenses that you have already spent.
You can’t change the past, but you have to leverage the work product from these sunk costs to do the right thing. This same challenge comes into play as a developer when you look at the features and code you’ve already written. Customers change their mind, markets shift and change, and technology changes. Figuring out how to leverage the work that you’ve already done to address these changes sometimes means throwing it away. Take what you learned developing those features and make your next features better.
I believe that the quickest way to help drive this balance is to listen to each other, and understand that for development to be successful, customers need to use your code. Sales and Marketing are successful when customers are open and honest, knowing that the solutions that will be made available to them will meet their needs. Ultimately, listening to each other and focusing on what truly benefits customers, should drive the right behavior. You must understand your capabilities and your market. If your marketing has grown beyond your capabilities, you may need to refocus back on your core abilities.