This article has multiple issues. Please help improve it or discuss these issues on the talk page . (Learn how and when to remove these template messages)
|
Software product management (sometimes referred to as digital product management or just product management depending on the context) is the discipline of building, implementing and managing digital products, taking into account life cycle, user interface and user experience design, use cases, and user audience. It governs the development cycle of a product from its inception to the market or customer delivery and service in order to maximize revenue. This is in contrast to software that is delivered in an ad hoc manner, typically to a limited clientele, e.g. service.
To develop, sell and support a successful software product a business needs to solve its 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.
Hardware and physical product companies may also need software product management, since software and digital systems are often part of the delivery, such as when providing operating systems, or supporting the physical product or software embedded in a device.
This section may be confusing or unclear to readers.(September 2018) |
A software product manager leads and manages one or several products from inception to phase-out in order to create customer value and deliver measurable business benefits. They collaborate with cross-functional teams (such as marketing, sales, engineering, finance, quality assurance/testing, customer service, manufacturing and installation) in order to fulfill a product vision and generate business success. The software product manager determines what products, enhancements and features to build and is accountable for the business success of an entire product portfolio. They develop the product roadmap and are responsible for the value chain of a product throughout its life cycle.
Software product management roles can be subdivided depending on their focus: product owner, product marketing manager, technical product manager and strategic product manager. Software program manager focuses on the project delivery of engineering processes, design, documentation, planning, execution, operations and feedback.
This section may be confusing or unclear to readers.(September 2018) |
Software product management covers all steps from the inception of a product to its end of life. It consists of five major stages in the product life-cycle, namely:[ citation needed ]
Within these five phases it deals with the following aspects of a software product within a software and/or hardware company:
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:
For each of these stages, the roadmaps and strategies of the Product Manager and Marketing will have a different focus. [1]
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: [2]
A software product manager also has knowledge in the software development domain. The International Software Product Management Association (ISPMA) maintains the public body of knowledge and syllabi for international certification.
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):
A software company is a business entity that specializes in the development, distribution, and maintenance of software products and services. These companies create a variety of software solutions, including commercial software, custom software, Software as a Service (SaaS), open-source software, and embedded software. They range from small startups to large corporations, engaging in activities such as software development, testing, deployment, and support.
The software release life cycle is the process of developing, testing, and distributing a software product. It typically consists of several stages, such as pre-alpha, alpha, beta, and release candidate, before the final version, or "gold", is released to the public.
The rational unified process (RUP) is an iterative software development process framework created by the Rational Software Corporation, a division of IBM since 2003. RUP is not a single concrete prescriptive process, but rather an adaptable process framework, intended to be tailored by the development organizations and software project teams that will select the elements of the process that are appropriate for their needs. RUP is a specific implementation of the Unified Process.
Product management is the business process of planning, developing, launching, and managing a product or service. It includes the entire lifecycle of a product, from ideation to development to go to market. Product managers are responsible for ensuring that a product meets the needs of its target market and contributes to the business strategy, while managing a product or products at all stages of the product lifecycle. Software product management adapts the fundamentals of product management for digital products.
Product life-cycle management (PLM) is the succession of strategies by business management as a product goes through its life-cycle. The conditions in which a product is sold changes over time and must be managed as it moves through its succession of stages.
Software development is the process used to create software. Programming and maintaining the source code is the central step of this process, but it also includes conceiving the project, evaluating its feasibility, analyzing the business requirements, software design, testing, to release. Software engineering, in addition to development, also includes project management, employee management, and other overhead functions. Software development may be sequential, in which each step is complete before the next begins, but iterative development methods where multiple steps can be executed at once and earlier steps can be revisited have also been devised to improve flexibility, efficiency, and scheduling.
In software and systems engineering, the phrase use case is a polyseme with two senses:
The following outline is provided as an overview of and topical guide to software engineering:
In systems engineering and software engineering, requirements analysis focuses on the tasks that determine the needs or conditions to meet the new or altered product or project, taking account of the possibly conflicting requirements of the various stakeholders, analyzing, documenting, validating, and managing software or system requirements.
In systems engineering, information systems and software engineering, the systems development life cycle (SDLC), also referred to as the application development life cycle, is a process for planning, creating, testing, and deploying an information system. The SDLC concept applies to a range of hardware and software configurations, as a system can be composed of hardware only, software only, or a combination of both. There are usually six stages in this cycle: requirement analysis, design, development and testing, implementation, documentation, and evaluation.
In industry, product lifecycle management (PLM) is the process of managing the entire lifecycle of a product from its inception through the engineering, design and manufacture, as well as the service and disposal of manufactured products. PLM integrates people, data, processes, and business systems and provides a product information backbone for companies and their extended enterprises.
Requirements engineering (RE) is the process of defining, documenting, and maintaining requirements in the engineering design process. It is a common role in systems engineering and software engineering.
A software requirements specification (SRS) is a description of a software system to be developed. It is modeled after the business requirements specification (CONOPS). The software requirements specification lays out functional and non-functional requirements, and it may include a set of use cases that describe user interactions that the software must provide to the user for perfect interaction.
A product requirements document (PRD) is a document containing all the requirements for a certain product. It is written to allow people to understand what a product should do. A PRD should, however, generally avoid anticipating or defining how the product will do it in order to later allow interface designers and engineers to use their expertise to provide the optimal solution to the requirements.
Requirements management is the process of documenting, analyzing, tracing, prioritizing and agreeing on requirements and then controlling change and communicating to relevant stakeholders. It is a continuous process throughout a project. A requirement is a capability to which a project outcome should conform.
A product manager (PM) is a professional role that is responsible for the development of products for an organization, known as the practice of product management. Product managers own the product strategy behind a product, specify its functional requirements, and manage feature releases. Product managers coordinate work done by many other functions, and are ultimately responsible for product outcomes.
Presales is a process or a set of activities/sales normally carried out before a customer is acquired, though sometimes presales also extends into the period the product or service is delivered to the customer.
Digital Prototyping gives conceptual design, engineering, manufacturing, and sales and marketing departments the ability to virtually explore a complete product before it's built. Industrial designers, manufacturers, and engineers use Digital Prototyping to design, iterate, optimize, validate, and visualize their products digitally throughout the product development process. Innovative digital prototypes can be created via CAutoD through intelligent and near-optimal iterations, meeting multiple design objectives, identifying multiple figures of merit, and reducing development gearing and time-to-market. Marketers also use Digital Prototyping to create photorealistic renderings and animations of products prior to manufacturing. Companies often adopt Digital Prototyping with the goal of improving communication between product development stakeholders, getting products to market faster, and facilitating product innovation.
In software engineering, a software development process or software development life cycle is a process of planning and managing software development. It typically involves dividing software development work into smaller, parallel, or sequential steps or sub-processes to improve design and/or product management. The methodology may include the pre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application.
Product marketing is a sub-field of marketing that is responsible for crafting the messaging, go-to-market flow, and promotion of a product. Product marketing managers can also be involved in defining and sizing target markets. They collaborate with other stakeholders including business development, sales, and technical functions such as product management and engineering. Other critical responsibilities include positioning and sales enablement.