Software product management
Software product management (sometimes also referred to as digital product management or, in the right context just product management) is the discipline of building, implementing and managing software or digital products, taking into account life-cycle considerations and an audience. It is the discipline and business process which governs a product from its inception to the market or customer delivery and service in order to maximize revenue.[1] This is in contrast to software that is delivered in an ad hoc manner, typically to a limited clientele, e.g. service.
The need for software product management
To develop, sell and support a successful software product a business needs to solve a market problem, understand its market, identify the opportunity as well as develop and market an appropriate piece of software. Hence the need for product management as a core business function in software companies.[2]
Hardware and physical products companies may also have a need for software product management, since software and digital systems are often part of the delivery, such as when providing operating systems, supporting the physical product or software embedded in a device.
The role of software product manager
The software product manager leads and manages one or several products from the inception to the phase-out in order to create customer value and deliver measurable business benefits. He or she collaborates with cross-functional teams (such as marketing, sales, engineering, finance, quality assurance/testing, customer service, manufacturing and installation) in order to build a product that fulfils a product vision and to turn it into business success. The role determines what products, enhancements and features to build and is accountable for the business success within an entire product portfolio. The product manager develops the product roadmap and is responsible for the entire value chain of a product throughout its life cycle.
Software product management roles can be further subdivided depending on the focus: Product owner, product marketing manager, technical product manager and strategic product manager. Software program managers focus on the project deliveries of engineering processes, design, documentation, planning, execution, operations and feedback.
Software product managers can deliver better results by:[1]
- Behaving like an “embedded CEO”
- Driving strategy and portfolio from market and customer value
- Being enthusiastic about their own product
- Having a profound understanding of the products' markets, customers and portfolio
- Measuring the products' contribution on sales (top-line) and profits (bottom-line)
- Periodically checking assumptions such as business cases
- Taking risks, and managing them
- Fostering teamwork based on lean product developments
Content of software product management
Software product management covers all steps from inception of a product to its end of life. It consists of five major phases in the product life-cycle, namely:
- Strategy
- Concept phase
- Market entry
- Development
- Evolution
Within these five phases it deals with the following aspects of a software product within a software and/or hardware company:
- Idea generation (e.g. on whiteboards) for a new software product, or for the next version of an existing product.
- Collection and prioritization (see below) of business and/or market requirements from prospects, customers of earlier versions of the product, domain experts, technology visionaries, market experts, products / solutions from competing vendors, etc.
- Crafting of Marketing Requirements Documents, or MRDs, which synthesize the requirements / needs of various stakeholders as outlined above.
- Using the MRD as a basis, come up with a product requirements document or PRD, as an input to the engineering team to build out the product. A PRD is generally not the same as a functional specification since it specifies what a product should do, but not how the product should do it. Frequently, a PRD can be a collection of UML Use Cases, UML Activity Diagrams, HTML mockups, etc. It can have other details such as the software development environment, and the software deployment environment (client-server, web, etc.).
- Deliver the PRD to the software engineering team, and manage conflicts between the business units, the sales teams, and the engineering teams, as it applies to the software products to be built out.
- Once the software development gets into build / release cycle, conduct acceptance tests.
- Deal with the delivery of the product. This can vary from demonstrating the product to customers using web-based conferencing tools, to building product demonstrations, to other placement and promotion tactics. Frequently, in Silicon Valley, these two aspects of marketing, and sometimes also pricing, are dealt with by Product Marketing Managers, as opposed to Product Managers.
- Once the product is deployed at a customer site, solicit customer feedback, report software bugs, and pass these on back to engineering for subsequent build / release cycles, as the product stabilizes, and then matures.
- Perform competitive analysis as to how this product is behaving in the market, vis-a-vis other products catering to the same / similar customer segments. In the software space, this might require the product manager to take the opinion of analysts, who can come from name brand market research firms like IDC, Forrester Research, and Gartner Group.
- Solicit more features and benefits from the users of the software product, users of competitive products, and from analysts and craft / synthesize these requirements for subsequent product build / release cycles, and pass them on to the software engineering team.
The above tasks are not sequential, but can co-exist. For Product Managers to be efficient in the above tasks, they have to have both engineering and marketing skills. Hence, frequently, Silicon Valley firms prefer engineers who are also MBAs to do software product management.
Another concept of Product Lifecycle Management provides 4 key stages that a product will move through in its life, which are:
- Launch stage - during this stage, the product is launched into the market and will attract early adopters
- Growth stage - during this stage, the product is iterated on and grows its market share, attracting a core customer base
- Maturity stage - at this stage, the product is no longer growing but is well-established in the market
- Decline stage - at this stage, for various reasons, the product will be declining in market share
For each of these stages, the roadmaps and strategies of the Product Manager and Marketing will have a different focus.[3]
Education
Industry and academia established a standard for software product management education. According to this consensus, a software product manager is educated in the following areas:[4]
- Core practices: product strategy and product planning
- Participation in strategic management
- Orchestration of development, of marketing, of sales and distribution, and of service and support
The International Software Product Management Association (ISPMA) maintains the public body of knowledge and syllabi for international certification.
Prioritization
A key aspect of Product Management is the correct prioritization of enhancements. User story mapping is a valuable tool that assists with visualizing and organizing priorities. Here's a method that works well (borrowed and adapted from Joel Spolsky):
- Identify the panel, i.e. whose opinion you are going to seek
- Make a list of all items
- Estimate the effort required (either in days or in money) - this needs to be very rough and approximate
- Add up the total effort E
- Give the panel members a budget of 0.5 × E each - they can place this any way they like, including all on a single item. You should disclose the rough estimates to the panel, as it may influence their vote.
- Rank the items in terms of the ratio Votes / Estimate
- Do as many of the items as the actual budget allows, respecting the sequence
See also
References
- Christof Ebert (2009). "Software Product Management" in: Crosstalk, Vol. 22, No. 1, pp. 15-19, Jan. 2009.
- Ebert, Christof (2007). "The impacts of software product management". Journal of Systems and Software. 80 (6): 850–861. doi:10.1016/j.jss.2006.09.017.
- Theodore Levitt. "Exploit the product lifecycle".
- Samuel Fricker (2012). "Software Product Management" in: A. Maedche, A. Botzenhardt, L. Neer (eds.): Software for People. Springer. 2012.
Further reading
- Cagan, Marty (2017). INSPIRED: How to Create Tech Products Customers Love. Wiley. p. 368. ISBN 978-1119387503.
- Kittlaus, Hans-Bernd; Fricker, Samuel (2017). Software Product Management - The ISPMA-Compliant Study Guide and Handbook. Springer. ISBN 978-3642551390.
- Kittlaus, Hans-Bernd; Clough, Peter (2009). Software Product Management and Pricing - Key Success Factors for Software Organizations. Springer. ISBN 978-3540769866.
- Conde, Dan (2002). Software Product Management: Managing Software Development from Idea to Product to Marketing to Sales (Execenablers). Aspatore Books. ISBN 978-1-58762-202-1.
- Dver, Alyssa S. (2003). Software Product Management Essentials. Anclote Press. ISBN 978-0-929652-01-6.
- Clements, Paul (2001). Software Product Lines: Practices and Patterns. Addison-Wesley Professional. ISBN 978-0201703320.
External links
- International Software Product Management Association (ISPMA)
- International Software Product Management Network
- Software Product Management Twiki and Resources
- International Workshop on Software Product Management (IWSPM) Series IWSPM 2010
- Software Engineering Institute Carnegie Mellon University software product line (SPL)