27 January 2021

For those unfamiliar with the Project Management Triangle, it looks like this:

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/c0828246-b750-4899-a271-1b58e3cd8128/Untitled.png

It's a model that identifies the constraints of project management. As Wikipedia puts it:

The quality of work is constrained by the project's budget, deadlines and scope.

The project manager can use this framework to decide which levers to pull in order to deliver quality. It's often said that you can only pick two of the three levers at a time.

https://images.unsplash.com/photo-1569098644584-210bcd375b59?ixlib=rb-1.2.1&q=85&fm=jpg&crop=entropy&cs=srgb

How it could be applied to shipping software

Let's realign the main goal for software. While quality is key for many projects, in software, shipping the product is paramount. Let me make my case: you can make the most beautiful and technically sound product but that won't get your business anywhere without shipping a product. This is a highly relevant goal for tech startups that still haven't reached Product-Market Fit (PMF). But it can also apply to any company whose product development is stifled by internal politicking.

For businesses with a software product, I propose a new triangle: the Product Management Triangle.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/6ce75994-9f07-4420-b898-c3abad320742/Untitled.png

Shipping product

Shipping product is the centrepiece of the triangle; it's the only way through which you can learn from users, improve your offering and deliver value. When shipping becomes your main goal as a software team, you'll notice that the business will start to learn a lot faster from its customers and make more meaningful decisions. It's what will move the needle for business. Seen from the flip-side, if you're not shipping product, your business may be missing out on key insights and making decisions in the dark.

Speed

Cost has been replaced with Speed. While many projects have a budget (cost) component to improve quality, it doesn't translate exactly in software. Adding more engineers doesn't necessarily improve quality or expedite product being shipped; the Mythical Man-Month phenomenon would even say that your project will be delayed by adding more people to a project. Instead, what we can control is speed: you can write code with off-the-shelf libraries and frameworks, copy-paste templates and reduce the time spent debating technology. This has been talked about a lot in bootstrapping circles; instead of picking the perfect technology stack, focus on building and delivering value to customers.

Quality

Quality has replaced time. Time is covered somewhat by speed, so the next most relevant lever we can control as a product manager is quality. You can ship much faster if your code is half-baked or shoddy. This is far from ideal but it is still a lever you can pull. Need to ship something tomorrow morning? Hack together software and leave FIXME notes in the codebase. Fix them later. Yes, technical debt does pile up but that's the trade-off: if you don't ship, there won't be anyone to tell you there's something to fix.

Scope