In my early days with AltSchool Africa, we were introduced to product management as an organizational function that involves taking a product from ideation, documentation, design, development, testing, and then release. I did some extra reading and found as many articles as possible to back that up.
Stay with me. The elaborate syllabus took us further into product-project management processes, including agile and waterfall methodologies. To briefly explain, agile is an iterative and incremental approach to project management and product development, emphasizing flexibility, collaboration, and customer feedback. In contrast, waterfall is a linear and sequential project management approach, dividing the project into distinct phases such as requirements gathering, design, implementation, testing, and deployment.
Thanks to my mentor, I'm now a big fan of Marty Cagan, and I learned another interesting thing from him this week. Let me explain it in my own words.
To begin, I understand that anyone can create a PRD (Product Requirements Document) or lead a Scrum team, among other tasks in product management. However, the strength of great product managers lies in the quality of their methodologies. And yes, I aim to be "great."
Now, let's address the key issue at hand: what differentiates the best companies from most companies? As a stakeholder, I want you to reflect on how your organization builds products today. Typically, you generate ideas, create a roadmap to follow, the product team sets out to gather requirements, designs are made, engineers start building, it's deployed to a test environment, and finally, the solution is deployed for customers to use.
Let me expand on each of these points and provide examples. Let's assume that Jacob is the product manager for Luca Payment Company, working on the PTSP (Payments Terminal Service Provider) solution.
- Ideas: These product ideas come from various sources, mostly from executive members and customers. For instance, the head of products might enter the product team's office and say, "Hey Jacob, our biggest PTSP merchant just requested X."
- Business Case: Also known as business justification, it is a project management document that explains how the benefits of a project outweigh its costs and why it should proceed. This document is usually created to answer two critical questions: how much will we make, and what will it cost? For example, the head of products might tell Jacob, "You know she generates a lot of revenue for us; we can't afford to lose her."
- Roadmap: A roadmap is a strategic plan outlining the vision, goals, and major milestones for a product's development over a specific period. Continuing with the example, the head of product might say to Jacob, "The head of the business has crafted a strategic roadmap to achieve this quickly," while handing him a document, "I need the first two items completed by tomorrow morning."
- Requirements: Requirements are specific descriptions of what a product or system needs to accomplish in terms of functionalities, features, characteristics, and constraints. Jacob might respond with, "Okay, sir, I'll start gathering the requirements."
- Design: After gathering the requirements, Jacob would work with the UI/UX designer and say, "Here's a lo-fi wireframe; please transform this into a hi-fi design as soon as possible."
- Build: Once the design is complete, Jacob hands it over to the engineers to start working on it.
- Test: The solution is then sent to the testing environment.
- Deploy: Finally, an update is sent out to all terminals.
This traditional approach to product development is highly problematic and is a reason why many companies don't last. Before I suggest a better way to work, let's revisit some key concepts.
Now, back to the main topic. The elaborate syllabus introduced us to product-project management processes, including agile and waterfall methodologies. While agile is iterative and customer-centric, focusing on flexibility and collaboration, waterfall is a linear and sequential approach.
Now, let's consider whether Luca follows an agile or waterfall approach. This is a fundamental problem in many companies. Although they claim to be agile on paper, they often operate as if they are in a waterfall environment.
Cagan pointed out other fundamental issues with this model:
- The source of the idea is often wrong. The best source of ideas in product development is usually the engineers. They interact constantly with technology and are aware of trends. Customers often don't know exactly what they want. The idea should come from engineers, with business making a business case and customers validating it.
- This will lead to the second issue, that the engineers were not brought in early, they only came in the 6th stage of the development when it should have started with them. It is important to state that the earlier point doesn't outrightly mean that engineers should tell us what to do next or what not, it simply means that they should be carried along from the ideation stage. This is another pointer to having a good cross functional communication in your organisation.
- The fallacy of business cases. Not only should business cases come only after ideas have been properly generated, we can't know for sure how much a product will cost or what it will bring in revenue. This is because some solutions have to take several iterations before they start bringing in money and some don't even satisfy the customers.
- The approach taken to roadmaps is wrong. Roadmaps are supposed to be a means to an end and not the end itself, they are simply supposed to be the details and not the vision. Roadmaps should serve as guides, not rigid plans. Adjustments are often needed, as I personally experienced in my career. Do you know I had to review my career roadmap just after my first sprint? Yes, I did. This was to respond to the outcome I got during that sprint.
- The role of the product manager. I had an eye opening moment when I read Cagan's "Inspired" on job roles within product led organisations. The positioning of a product manager in most organisations is wrong. They are typically positioned as a project manager.
- The role of the designer should be respected. Wireframing involves various aspects like user experience and usability testing, best left to those skilled in the field. In the above example, Jacob handed down a wireframe to the designer. This is a red flag.
- Outcome and not output. The problem with being rigid with roadmaps and organising teams like its a project is that it is focused on output and not outcome. You begin to measure team performance based on whether or not they have ticked off the different checkpoints on the roadmap. The problem with this is that you will then have mercenaries and not missionaries working on your product.
- Customer validation also happens too late. Though customers don't sometimes know what they want, it is still important that they are carried along from the start. Let them, at checkpoints, validate what you're doing. This is why having an MVP is important.
- Lastly, the opportunity cost. The above method costs both time and money.
If your organization faces at least one of these problems, you might be operating at least 10% below the best teams. So, what is the best way to develop products?
- Start from ideation, involving all necessary stakeholders such as engineers, customers, and the business team.
- Engage in continuous discovery, a crucial phase in agile and customer-centric product management. This phase includes understanding, defining, and validating problems and needs before building. Product discovery helps to ensure that the resulting product is aligned with customer needs, market demands, and business goals. The questions to ask include: is it valuable? Will the customers buy it? Is it usable? Is it feasible? Can we build it? Will our stakeholders approve of it? Is it ethical? Should we build it? Especially with AI and machine learning going mainstream, this is increasingly important.
- Continually deliver, ensuring that something is ready at every stage. This means that you should ensure that software can be reliably and efficiently delivered to users or production environments at any time. Build MVPs to test and get to market fit.