I often come across my Product Manager friends fretting about “over engineering” by their product development team. “Over engineering” leads to more time and money – which is a source of worry for the Product Manager. Does a Product Manager know if a feature is “over engineered” by engineering? Perhaps, Yes. Is the extent of engineering required for a product, a Product Manager’s prerogative? Perhaps, No. We love to state and perhaps over-state that Product Manager is also the complete owner of the product . Product Manager is of course the custodian of the business aspect of the product and has the say in what feature must go and the timeline of the feature. However, it is the engineering team consisting of software architects and developers who develop the product. Let us look at various scenarios based on two parameters: the scope of the product development and effort estimate.
1. A prototype or experiment: If you are building a product to check the technical feasibility or test a new idea or change in the market, then you must get this out in the least possible time and effort. Usually engineers try to “over” engineer because when the prototype becomes successful and starts seeing traction, the Product Manager assumes that it scales, which may not be the case usually. So, to be safe, engineers try to build something that stands the test of endurance, which may not really be needed in a prototype. The Product Manager must reiterate the purpose of the effort and should be cognizant of the effort that is required ahead.
2. A full scale product development: This is a tricky one. Here the Product Manager has to work alongside the Architect to ensure that every architectural decision ultimately references to a business goal. Reverting an architectural decision is most often next to impossible. Sometimes during this exercise, the product manager might even discover aspects that the architecture has not considered and the effort might only increase. The happier scenario is when the Product Manager discovers that some high effort architectural decisions have been made to satisfy a non-functional requirement that was stated as a buffer requirement; in such a case the Product Manager can make a prudent decision if the buffered requirement really is required now or can be postponed.
Revisiting the question we asked initially: Is the extent of engineering required for a product, a Product Manager’s prerogative? Perhaps, Yes.