
Explore engineering and product collaboration to maximize the partnership between product managers and software engineers within cross functional teams, and learn how healthy, collaborative tension turns ideas into real products.
Explore how product managers and engineers collaborate to turn diverse skills into technology greater than the sum of their parts, using Apple’s story as a case study.
Foster cross-functional teams with diverse and complementary skills, including product managers, engineering leads, ux designers, backend and frontend engineers, qa and data scientists, to accelerate discovery and deliver better software.
Identify the roles outside the cross-functional team, including users, clients, stakeholders, product marketers, and salespeople, and learn how they collaborate to bring software to market.
Align cross-functional teams by defining backlog, roadmap, and North Star. Plan short-, medium-, and long-term goals with prioritized tickets and features to guide software delivery.
Implement short feedback loops to deliver incremental value, replacing waterfall with agile. Use beta programs and feature toggles to run experiments.
Explore prioritization using the Eisenhower matrix, with four quadrants, to sort tasks by importance and urgency, guiding backlog decisions, scheduling, delegation, and elimination for high-impact collaboration.
Explore the five-day design sprint from google ventures to turn a long-term goal into a working prototype, starting from nothing and iterating through monday to friday with customer feedback.
Ship early and often by breaking work into independently shoppable elements, toggling features, and delivering incrementally. Collaborate to reduce risk, gather user feedback, and keep development continuous and safe.
Embed measurement into your code to monitor page speed, feature usage, and workflow completion, track leading and lagging indicators, and drive better product iterations.
Explore the concept of feature factories and the 12 signs, and reflect on past team challenges to improve collaboration, awareness, and incremental fixes using techniques from this course.
Use the effort–impact matrix to prioritize features, addressing product manager frustrations with engineers by delivering easy wins and balancing long-term bets with incremental improvements.
Apply de-risking techniques for a new search ranking change through incremental rollouts, load testing, and shadow loading, and measure user behavior to prove improvements before production.
Collaborate to define milestones as meaningful, team-wide goals that empower execution, focus medium-term work, and celebrate progress while balancing technical debt, with hill charts guiding uphill and downhill phases.
Master retrospectives like start, stop, continue to pause, reflect, and realign with your team, capture insights on sticky notes or Mirror, and turn them into actions for the next iteration.
Implement collaborative tools with your team by running retrospectives at sprint ends, grooming the backlog regularly, and categorizing milestones into uphill and downhill phases to drive iterative improvements.
From the instructor
Become an Effective Software Engineering Manager, which is written by the instructor, and is a hands-on guide to becoming a leader in your company.
Effective Remote Work, which is also written by the author, which is a guidebook to the essential tools and techniques for remote collaboration.
The Engineering Manager, which is the instructor’s blog.
Recommended by the instructor
The Beautiful Mess, John Cutler’s blog on product management.
The Pragmatic Engineer, a great industry insider newsletter by Gergely Orosz.
High Output Management, an absolute classic on the processes and techniques for running great teams and companies.
Build foundations for a highly effective, collaborative team and learn autonomous implementation with minimal prescriptions. Carry these skills into your working life and consider quarterly retrospectives at home.
Have you ever wondered how to make your team more effective, efficient and fun? Look no further. Let's ship!
Learn how software companies create world-leading products through collaboration, and then take those techniques away and apply them to your own work and team.
Here's what we'll cover:
We'll learn how collaboration between product and engineering creates amazing software. How exactly are teams structured in order to create the software that we use today? We'll see how there is no lone genius doing all of the work. Instead, it's collaboration between a multitude of people. We'll be focussing specifically on product management and software engineering.
We'll discover how cross-functional teams are composed, and what everyone's roles and responsibilities are. We'll look inside and outside of the team and see who does what and when. We'll also see how a natural tension between everyone on the team can lead to better results.
We'll look at the process of planning, prioritising, building, shipping and iterating. At each of these stages, we'll learn the key things to do in order to make sure your team is staying lean and focussing on what matters.
Next, we'll dig deep into common software engineering frustrations. Technical debt, proposing technical projects, and feature factories: we've got them covered! We'll think about solutions for tackling each of these.
Then, we'll explore common product management frustrations. Why are the developers so slow? Why are big bang launches a bad idea? We'll explore deeper.
We'll explore routines for healthy and productive teams. This covers everything from stand-ups to milestone planning to retrospectives. We'll provide you the toolkit to sharpen up your team.
If you're a complete beginner, or haven't got your first job in industry yet, then that's no problem. Learning about the ways in which we think about planning, prioritising and building software will help you out in your studies and make sure you're on the front foot for the future.