Product Management 101: Development Phase

Manasi Dubey
3 min readJul 20, 2021

The two general development methods that are used to develop products are Waterfall and agile. The Waterfall is a phase-gate (also called stage-gate) process, and agile comes in many variants, such as Scrum, extreme programming, lean and kanban. We will go through both of these one by one in this article.

WATERFALL

The philosophy behind waterfall development is that the team do all of the planning up-front in large batches. Product managers give developers a comprehensive list of features and market needs from which developers create a finished product for release. The development in the Waterfall can take six months, a year or even several years. It works very effectively for products where requirements, the market and competition doesn’t change or won’t change often.

The advantage of the waterfall methodology is that the product manager has ample time to create a carefully thought out market requirement document. It avoids the company’s rushing to the market and possibly developing features that might be trending this month but meaningless in the long run. It also avoids the engineers having to change priorities constantly. Under waterfall development, everyone has to rely on the same long-term view. The product manager has more time for strategic planning and to maximize the overall success of the product.

The downside of the Waterfall is that it lacks the flexibility to change plans because the MRD needs to be revised, and the stakeholders need to be informed about the changes, agree to them and sign off accordingly. Therefore, new functions cannot simply be added, and they can not be delivered to customers as quickly as in Agile since the planning and release cycles are much longer with Waterfall. Market and customer requirements can change during development, and with Waterfall, teams can not respond quickly.

AGILE

Agile methodology means a practice that encourages continuous iteration of development and testing throughout the product’s development lifecycle. Agile development uses many specific terminologies like Scrum, Scrumban, Kanban and Extreme Programming (XP) to refer to different development methods. The most common framework for agile development is Scrum. Agile is excellent for software products, especially for smaller applications, software as a service (SaaS), and web-based applications.

Under Scrum, development occurs in short, defined periods called sprints that are up to two and no more than four weeks long. The goal of every sprint is to build code iteratively and incrementally and complete a specific part of the job. This process is repeated as the product is constructed gradually. For each sprint, the development team takes over the work from the top of the product backlog, emphasizing top priority items that can be developed during the allotted time. The team breaks the work into tasks and then complete each task. Quality assurance takes place in parallel. If a task does not complete in its given sprint, it is postponed to the next sprint. However, each sprint can be released to customers once it’s completed. Often several sprints are bundled and are made available to the customers. In Agile, the product manager communicates the requirements through simple user stories to the engineers instead of writing and signing a complete MRD like in the waterfall case. The user stories convey to the engineer what the customer needs and what the user is trying to accomplish.

The format of a user story is as follows: As a <persona>, I want to be able to <customer need> so that I can <benefit of requirement>.

Staying up to date and interacting with the team as the product develops is crucial for product managers. Critical questions about the implementation of features and tradeoffs come up daily. As the product leader, PMs must stand up and be there to help the team do the right thing for the customer.

I hope the article added a bit to your existing knowledge. Keep reading and share as much as you can. Thank you.

--

--