Product Management (MPCS 51240)

Product management is a cross-disciplinary endeavor that sits at the intrersection of software engineering, marketing, and the user experience. Product managers are expected to create products in support of business objectives, ensuring that products deliver value to customers and are feasible to build within varying sets of constraints. In this course we will introduce the role of the product manager and demonstrate the challenges faced by product managers. We will explore approaches for managing the tension that exists between software development and product delivery, using the minimum viable product and the product roadmap as critical tools.

Key themes for this class

What does it take?

Understanding the elements of "good" product management—and identifying a lack thereof.

How do you do it?

Getting to product market fit quickly; aka "Perfection is the enemy of progress".

Why isn't it working?

Understanding the value of iteration and failing fast; aka "You don’t know what customers value".

What's a good product?

Delivering a product that meets customer needs; aka "Customers don’t know what they need".

Why is it so hard?

Aligning product focus and business needs; aka "Stay in your lane and drive on the shoulder".

What happens next?

Planning for product maturity; aka “You gotta know when to hold ‘em and know when to fold ‘em”.


Product management concepts factor into every aspect of the business and hence can be approached from a number of different—but complementary—perspectives. This course skews towards a more business-focused discussion of product management, while incorporating key technical elements.

We set out to understand what it takes to deliver a minimum viable product (MVP), including a review of the different types of MVPs and when to use each one, the various tools that can help us define an MVP, hypothesis testing, and metrics. We then work with tools for agile product design such as user stories, model users (personas), storyboards, and ready stories. This is followed by a very high-level survey of UX design approaches and UI design (from the perspective of achieving desired product and business goals, not visual asthetics), product architecture considerations, and how to work with engineering teams. The second half of the course focuses on managing the product roadmap: working with product backlogs; prioritizing features and managing tradeoffs. We bring some of these techniques together in a multi week-long simulation of an actual product—with some shortcuts, in the interests of time!

While most of the course is geared towards developing early-stage products in small companies or start-ups, we also touch on techniques more relevant to larger or more established product organizations, e.g. managing product portfolios, complementary products, and planned obsolescence.

Coursework

This course incorporates a mix of case studies, in-class exercises, product design sessions, written work, and presentations. A key element of product management is communication, so there is an expectation that every student will contribute regularly to class discussions. You will work in small groups during class, rapidly developing new concepts and ideas which you will then present to the rest of the class. Unlike many other courses in the MPCS, you will be called upon to challenge the ideas presented by your fellow students—in a constructive manner, of course!

Grading

The grade for this course is split roughly evenly between homework assignments, quizzes, and in-class activities. Note that overall class participation will be a substantial component of the final grade.

Reference Material

While there is no prescribed reading for this course, we will review the approaches developed by Geoffrey Moore, as presented in his classic book "Crossing the Chasm", so feel free to get yourself a copy if you want to dive deeper into some of the concepts.

Prerequisites

This course assumes no prior knowledge of product management concepts or specific technologies. However, you may find some of the material easier to put into perspective if you're familiar with software design patterns, or have taken one of the other software engineering courses offered in the MPCS.