Product Software
Concepts of Product Software: Paving the Road for Urgently Needed Research
Authors: Lai Xu and Sjaak Brinkkemper
Institute of Information and Computing Sciences, Utrecht University, The Netherlands
Abstract
Software products are ubiquitous, yet scientific studies on software engineering as a product are limited.
The paper highlights the need for further research in product software.
Various terms for software products are examined, and categorization methods presented.
A framework for software product development is introduced focusing on key business domains within software companies.
Evaluations of related existing literature and future research directions are proposed.
1. Introduction
Early computing involved custom-built software based on manufacturer specifications.
Emergence of independent software vendors (ISVs) in the 1980s led to the creation of packaged software, defined as pre-built software to handle a variety of business functions.
Notable ISVs include Microsoft, SAP, Oracle.
As of 2001, the product software market was valued at $196 billion USD, representing about 9% of global ICT spending.
The product software sector is one of the fastest-growing sectors in OECD countries, with robust increases in employment and R&D investments.
Noting the significant economic impact of product software, the authors argue more research is necessary to differentiate the development of product software from other software types like embedded systems.
There is an urgent need for a cohesive body of knowledge regarding methods, tools and theories specific to product software.
2. What are Software Products?
2.1 Terminology
Terms associated with software products include shrink-wrapped software, COTS (Commercial Off-the-Shelf), packaged software, and commercial software, which often overlap in literature.
Shrink-wrapped software: Sold in physical packaging, which is boxed and sealed. It typically supports standard operating platforms and is produced for a broad market.
COTS software: Contains products available to the general public either out-of-the-box or with minor customization while retaining core functionality. COTS must be supported and updated by the vendor.
Packaged software: Generally has widespread availability with minimal need for modification, often associated with enterprise-level solutions like ERP systems.
Commercial software: Software that must be explicitly purchased or licensed for use, with restrictions on copy distribution.
Open source software: Software with publicly available source code which can be studied, modified, and shared, though it does not necessarily mean it is free.
ASP (Application Service Providers): Providers offering software applications from the cloud, which can be free or paid.
A software product, therefore, is defined as a packaged configuration of software components (including services) geared for sale in a specific market, emphasizing concepts of packaged components, software-based services, auxiliary materials, release, and trading.
2.2 Categories of Software Products
Software products can be classified from perspectives such as standard versus semi-standard products and according to certain attributes highlighted by authors like Robert L. Glass.
Categories of COTS software include attributes such as function, targeted industry, and platform adherence.
Architectural classifications include centralized, client-server, and peer-to-peer systems.
3. Specifics of the Software Business
The software industry notably differs from traditional industries as the cost to produce software is consistent regardless of production volume, yielding substantial gross profit margins.
The productivity variation among employees can range from ten- to-twenty-fold, with a high percentage of projects frequently exceeding time and budget.
Customer loyalty can be difficult to alter, with long-term dependencies created from product use.
Notably distinct operational processes exist between traditional and software product pipelines, evidenced by varying inventory management costs related to digital versus physical products.
4. Software Development Framework
The organizational scope of software product firms includes corporate, product, and service strategies, ensuring quality and control throughout product development.
Strategies are based on internationalization and organization of resources, pivotal elements for success within the software market.
5. Related Work
Previous research has studied software processes in small firms, COTS software definition accuracy, and assessment procedures.
6. Conclusions
This paper asserts the pressing need for unified research concerning the development of software products and outlines the fundamental distinctions between product and tailored software development processes. Future research directions focus on software development across various organizational types encompassing both the business and engineering perspectives.
References
A diverse array of sources including but not limited to industry reports, academic articles, and foundational books on software engineering and product management referenced across sections.
Management of Software as a Business
General Overview
The discipline of software product management has evolved significantly with historical roots dating back to Procter and Gamble's introduction of product management in 1931.
Major tech companies like Microsoft, IBM, and Google have adopted Software Product Management (SPM) practices, extending into corporate IT sectors across various industries.
The effective role of a software product manager is crucial for the economic success of software products, necessitating an understanding of historical context, definitions, characteristics, and business perspectives.
2.1 Historical Context
Software, as a standalone commodity, began its evolution in the early 1960s, marking a significant shift in market structures as IBM endeavored to separate hardware and software.
The growth of the software industry, characterized by rapid technological change and high potential risks, has led to significant transformations in consumer goods and business operations.
2.1.1 Moore’s Law
Describes the doubling of transistors on integrated circuits approximately every two years, paving the way for increased processing power and availability of computing resources.
2.1.2 The Internet
From a military network to a global communication infrastructure, the Internet transformed industries by enabling new business models and applications, significantly altering traditional business practices in sectors like banking and retail.
2.2 Product Management for Software
Key Characteristics
Software remains a fundamentally intangible product, where usage rights rather than ownership are transferred upon purchase.
Investments in software represent a significant component of IT infrastructure spending, outpacing hardware acquisitions. Software is categorized into a unique economic dimension characterized by knowledge and intellectual property rather than the traditional factors of production (land, labor, capital).
2.2.1 Definitions in Software Product Management
A software product comprises mainly software components and services and is often supplemented by various supporting materials aimed for sale.
Embedded Software: Defined as software integrated within complex systems (e.g., automotive, medical devices), thus not marketed separately.
2.2.2 Product Platforms, Families, and Lines
Insights on how companies differentiate products into categories like product platforms (common technological base) and product families (grouped by marketing strategy) contribute to streamlined product development and marketing strategies.
2.4 Business Models and Frameworks
The Universal Business Model provides a foundation for understanding the value generation process via a defined set of product/service interactions, relevant particularly within software industries.
The Software Product Management Framework
Core Activities in Software Product Management
Various frameworks set the foundation for structuring software product management activities, defining processes from product planning to marketing requirements fulfillment.
Important stages include managing product lifecycles, aligning with market needs, and maintaining a customer-centric approach to product development.