Treat digital products as if they were physical
Stakeholders and users often do not understand the complexities of digital products such as apps or web platforms. As a result, their expectations are unrealistic: they expect that new features can be easily and quickly added with no added costs.
To have good expectations about software, I recommend treating digital products the same way you would physical ones.
When it comes to physical products, it is understood that you cannot expect everything to be customizable. For example, when purchasing a bicycle, no one would expect that every individual wish could be easily fulfilled in terms of shape, color, and gear specifications – let alone that these could be easily, quickly, and cheaply changed after the purchase.
However, with digital products, people have a different mindset. They think that every feature and change request is possible. This mindset may be due to a lack of understanding about the technology, limitations, and complexities involved in software development. People are more aware of the production limitations of physical products – for example, they know that a bicycle made completely of plastic would be extremely hard to produce and could never be converted from a steel bicycle after production.
Let's translate this to digital products: for example, a feature request such as "I want to track my cycling routes with friends" for a cycling tracker app that is designed for single users is like requesting to make a tandem bike out of a single rider bicycle. The structure of software that is designed for single person usage is much simpler than the one intended for use by a team.
Some differences that make such a feature request very complicated:
- For every feature of the app (like editing a route), there are many more things to consider and edge cases to program (for example: "What should happen when user Anna edits a route and user Bert wants to edit the same route at the same time?")
- User management (authentication, access rules) is much simpler for single player apps
- The database setup for a multiuser app is more complex
Changing these parameters would require writing the app from scratch.
It is important to remember that software should not be seen as a wishlist, but rather as a product with limitations and difficulties. Do not expect that everything is possible with software – especially not that it is easy, quick, and cheap. Have lower expectations of the software you are using or managing, be humble. Ask the developers what is possible and what is not, and how difficult it is.