What I’m Reading: What business leaders need to know about software development

One of the main reasons I got into Product Management is that “I speak dev”. I have enough computer science background to grasp the concepts and more importantly, I inherently understand developer culture. I realized very early on in life that there are a lot of people that are totally mystified by engineers and therefore there is a huge communication gulf that develops between the two worlds. Providing this translation as one of the core competencies & functions of the Product Manager. And now, as the world progresses, every company becomes a ‘tech company’ and every business leader needs to understand more about software development so this skill is increasingly needed.

The first key principle I want EVERY manager to understand is that adding 3x more developers to a product will NOT increase productivity 3x. Maybe you will laugh thinking that’s so obvious now, yet I still routinely see managers thinking that “adding more developers” to a project that is at risk of running behind schedule will guarantee on-time delivery. *facepalm* This is called the ‘pregnant woman’ mistake because:

“Just because one woman can have a baby in nine months does not mean that nine women can have a baby in one month”

Fred Brooks

But that’s enough from me. Below are a few articles with a quick “What you will learn” guide that I think are helpful for business people who fundamentally don’t ‘get’ software development. It’s basically a nice “Here let me Google that for you” that I recently had to do for my management. Saving it here for future use and in case anyone else wants some copy/paste resources to send to business folks who ‘just don’t get it’.

  1. An executive’s guide to software development from MCKINSEY

Most business people I know, treat McKinsey with hero worhsip. So if you really want to convince them you need a CI/CD pipline, don’t just let them take your word for it. Once they read that McKinsey says all world-class companies excel because they have API based architecture and DevOps they’ll be knocking on your door insisting that “we need DevOps & TDD!” (and hey, they may even know what TDD stands for!). This article nicely explains the 15 key practices across the five stages that define a successful software-development life cycle:

  1. Setup decisions (Cloud, platform choice, microservices/container architecture​)
  2. Product Management practices (PM excellence, human-centric design)​
  3. Product delivery practices (Analytics, A/B Testing, Community Driven Dev)​
  4. Product Development practices (DevOps​, test automation & TDD, API based architecture, Productivity and quality)
  5. Enabling elements (Portfolio management, talent & governance, product security & risk management)

2. ​A Note to Business Leaders on Software Engineering by Nick Tune on Medium

In this artile you will find:​

  • The difference between good quality & mediocre quality software and the costs to your business (why producing good code is more complex than you think)​
  • How to create a culture of high quality code (Purpose, Autonomy, and Mastery. Include engineers in the business and give them freedom to find solutions)​
  • How to measure software engineering teams (Lines of code, story points, and hours worked are terrible techniques which you should not even consider using as measurements for software engineering teams)​
  • Costs of outsourcing and whip-cracking vs Trusting In-house teams (High pressure and tight deadlines reduces the quality and ultimate output of code, creates a culture of fear and zero innovation)