Before defining software product I think it would be good for us to define what is software. According to Wikipedia:
Software is any set of instructions that directs a computer processor (hardware) to perform specific operations.
In this Wikipedia article, there’s even a comparison between software and music, in which the author compares musical instruments to hardware, and the music (performed in these instruments) to software. I find this comparison very interesting.
Great, we already have a definition of software but what is a software product?
You have certainly used some software products; after all, the internet is made of them. Google, Facebook and Twitter are good examples of what you’ve used, or maybe use on a daily basis. When you shop on Amazon or on eBay, you are using a software product as well. The internet banking system from your bank can also be considered one, such as Netflix, that you can access from your computer, smartphone, tablet or even directly from your TV.
The smartphone operational systems iOS and Android are software products. There also the offline software products: the best known are the Microsoft Office, Autocad, SAP and others; the least known, the embedded software inside hardware that are not computers, nor tablets, nor smartphones, but printers, TVs, videogame consoles, voting machine, network equipment such as routers, switchers, hubs and firewalls, etc.
A software product is any software that has users.
So, any software can be considered a software product? No, because there is software that doesn’t have any users. They are the software that interface with other ones. Some examples are:
- Hardware drivers that translate the information between the device and the applications or operational system.
- Firmware, which is the set of operational instructions programmed directly into the hardware of an electronic equipment.
- Compatibility layer, that allows software to run in an environment in which they are not originally programmed to run, such as a host system.
However, even this kind of software would benefit from the concepts and practices of software products management that I’ll approach in this book.
Types of software products
Software products can be categorized in different ways, depending on how we see them. We can look, as described previously, to the way that the product is delivered to users (online, offline, embedded), or according to what it does: e-mail, e-commerce, payment, e-mail marketing, content management, education, communication, collaboration, reports, entertaining, operational system, ERP, CRM, etc.
Another way – my favorite, because puts the user in the center – is to look and categorize products according to for whom it solves the problem. From this point of view, we can have three types of software product:
- For end customers: in this type of product, a problem is solved for end customers who are willing to pay in order to use the software. Some examples are Netflix, LinkedIn and online games. There are also software products for end customers who pay indirectly, i.e., customers pay for another service and the software product is only a small part of this service. Some examples are internet banking, school or college intranets, access to lab exams and embedded software in general. E-commerce websites also belong to this category, since its use is free and the fee is paid for the products you buy and are delivered to you.
- For companies: this type of product solves companies’ problems, who are more willing to pay for a software than the end customer. Some examples are Locaweb, Google AdWords, SAP, AutoCAD and Microsoft Office.
- Mixed: in this case, the product solves the problem both for end customers and companies. Usually, this type of products doesn’t have any cost for the end customer; companies pay the bill. The most common model for revenue generation in this type of product is advertising, paid for the company when the final customer sees it, clicks on it or buys something because of it. A great example is Google Search, which is a software product for end customers, and Google AdWords, a software product for companies.
Note that while describing each type I had the concern of getting clear who’s paying the bill. This is very important, because every software product has costs. Even though the costs might be hidden, they exist; ergo, every software product needs to generate income in some way.
Even though I prefer to categorize software products while understanding to whom it solves the problem, there are other ways of classifying them. For example, Netflix is a software product for the final user, but also an online software product for entertainment.
Product Management: Delight your customers with your software
In 2015 I wrote a book on Software Product Management in Portuguese. In the beginning of 2016, Paulo Caroli talked to me about how he enjoyed the book and how this book could be useful to people in the software industry not only in Brazil but anywhere in the world. For this reason, we decided to create an English version of my book.
The book is organized in 5 sections:
- Definitions and requirements
- Life cycle of a software product
- Relationship with other areas
- Product portfolio management
- Where to use software product management
This book is suitable for anyone working with software. Even companies that do not have software as its core business use software in their day to day and often have developed some software that interfaces with its customers such as a website or a mobile application. It is important for these companies to understand the software product management role and responsibilities, so they can better manage this software and increase its chances of success.
We are working on the translation but as we progress we are already releasing the content. If you want to see the work in progress, please visit the book page at LeanPub. Still in beta but already with valuable content. Feedback is always welcome!