Surprisingly software products do not behave exactly the same way as psychical products from a data sheet point of view. Physical products usually have got the a certain number of functionality that they deliver. As an example, consider a datasheet for a watch that is for instance capable of measuring the time, showing in different, having alarm clock and so on.
In this sense the datasheet of a watch as a product can be something like :
- Shows time in 12 / 24 format.
- Shows the date.
- Alarm clock.
- Water resistance.
From a mathematical point of view let we consider a U universe of possible functionality. We can say that classical products can be described as subsets of the universe of functionality.
A software product however is a more difficult thing. On the one hand it is not so easy to specify a functionality of a software product as generally the terms like collaboration, mobile awareness, user friendly are not so exactly specified as like showing time in 12 / 24 format. On the other hand, most software products have got more or less possibility for extension. It can be some kind of a customization, scripting extension, plug in, or third party integration. So instead of saying for a software product that it realizes a certain functionality, it is better to say the followings:
- It realizes a functionality out of the box.
- It realizes a functionality with customization.
- It realizes a functionality with scripting.
- It realizes a functionality with third party integration.
- It can not realize a functionality.
From a mathematical point of view a software product can be much better modeled as a Fuzzy or a rough set of a given U universe of possible functionalities.