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.
Source: Wikipedia
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:
However, even this kind of software would benefit from the concepts and practices of software products management that I’ll approach in this book.
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:
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.
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:
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!