Product engineering comprises of a set of processes that enable the design and development of a system, which could be later sold as a self-sustained item. It is the art of creating products that are characterized by innovation, high quality and a decent value for money. A good product is key to a successful business. For many years, the notion of a product has been associated with some production manufacturing processes. In recent years, the “product” concept has been broadened beyond physical systems in order to address software systems as well. The importance and advantages of software products are typically associated with sustainable revenues, higher profit margins and more innovation when compared to individual projects. Hence, it is important for IT professionals to understand and fully leverage product engineering methods and disciplines that enable the creation of software products.
The Phases of Product Engineering
The product engineering process comprises of various inter-connected phases, which form the product lifecycle. These phases define the main activities that are carried out by product engineers. In the case of software related products, these phases include:
- Product Ideation: This is the product’s inception phase, where the idea about a product is first articulated. During the production ideation phase a new product idea is introduced, along with suggestions about the product’s features and functionalities.
- Product Architecture: As part of this phase, the architecture of the project is determined. In most cases the architecture is specified as a set of components that comprise the product, along with the main structuring principles that drive their integration.
- Product Design: In this phase, the various components of the product are designed in detail. The design can be used to drive the product’s implementation.
- Product Implementation and Delivery: Following its detailed design, the product can be implemented and integrated in-line with its architecture, product features and design specifications. This phase involves close collaboration between the product manager and the engineering, marketing, support, and other departments, in order to ensure that product features are delivered according to the target quality and specifications.
- Product Testing: This phase is devoted to the testing of the project against its functional and non-functional specifications. Functional specifications correspond to the product’s features and capabilities, while non- functional specifications refer to properties such as scalability, reliability, performance, extensibility and more.
- Product Migration: As part of this phase, the product is migrated into its real-life operational environment. The migration process involves Data Migration, along with a host of software configuration tasks.
- Technical Support: Technical support is an essential phase of product engineering, since it guarantees its proper operation despite failures, mal-functions or other types of problems that might occur during its actual use.
- Sustaining Engineering: This phase refers to the continued engineering of the product, which aims at ensuring that it remains up to date with respect to the evolution of the state of the art. It may involve the inception and implementation of additional ideas that will map to new product features.
- Professional Services: Product vendors offer professional services to customers wishing to use, integrate and extend the product. They ensure that customers have access to the required support, when trying to take advantage of the product properties in order to improve their processes
As part of their engineering lifecycle, software products are associated with processes that work on continuous improvement of such products. This concept is similar to the agile iterative software engineering processes. In this framework, managers of software products undertake idea management as the process that enables the articulation of new concepts and features of the product, along with the planning of their subsequent implementation. New features are usually incorporated in the product as part of the specifications phases of the product engineering lifecycle i.e. the product architecture and product design phases. As part of these phases, new features are detailed and their impact on the product is analyzed, along with their effort-related and cost-related implications. Furthermore, software products are usually associated with a product roadmap, which focuses on the prioritization of the product features, as part of the overall product vision. The product roadmap is used as a communication device, which enables stakeholders to understand both the current status of a product and its intended future state.
As part of the product engineering lifecycle, product managers and engineers are expected to receive and analyze customer feedback. By listening to their customers, product managers aim to comprehend gaps for features that are lacking and features that can be improved. They can also get field insights about whether the product is actually performing as planned and also whether it is addressing the problem that it was destined to solve. The customer feedback phase is invaluable and probably the most critical phase of the product lifecycle, as it enables product engineers to discover problems they weren’t aware of and analyze and predict the success of the product.
Product Manager: Product Engineering’s Vital Role
Product engineering brings new roles and responsibilities into the foreground. One of these roles is that of the product manager, which is an interdisciplinary role that orchestrates different teams in order to improve the quality, cost-effectiveness and overall acceptance of the product that is brought to the market. In the software industry, the software product manager is a role that combines various responsibilities that were traditionally assigned to software project managers, software developers and engineers, including the tasks of defining the scope of a product and the prioritization of product features. These tasks require various capabilities and skills, including a broad understanding of software development complexity, market trends and competing products.
Product managers are key persons for the development of any software product. They are usually in charge of articulating the overall product vision, while at the same time structuring and maintaining the product roadmap. They are accountable not only for the product’s features and functionalities, but also its overall value for money. Most important, they must ensure that the product remains aligned to the company’s business and marketing strategy.
As the role of a software product manager is a new one, it’s not common to find experts for this position in the first place. Rather, in most cases product managers are still former project managers or lead software engineers, with business acumen, technical skills and a very good understanding of the market.
As software products have clear advantages companies specializing in product engineering will be on the rise. In the near future, we can expect some of the major trends in physical products engineering to influence software products as well. These include for example the rise of mass customization, i.e. products that are produced in great variety with only marginal increase in the products unit cost. Likewise, software products could become highly personalized to their users, much in the same way several types of physical products are nowadays personalized. Moreover, software will become an integral element of most physical products as well, as part of the on-going digitization of the industry and the rise of the fourth industrial revolution. In this context, we can also expect an increased demand for competent product managers, engineers who will lead the engineering of future software products.