In my experience, everyone who has worked on a software development project with multiple stakeholders has encountered the difficulties of communication. Developing a software based on a business plan, and taking into account legal, social and other non-technical requirements needs close collaboration between stakeholders with a different background (Economists, developers, legal consultants, …), and that’s not an easy job.
Let me show this with an example: You want to create a new digital platform to connect travellers with certain activities, guides, accommodations, vehicles and/or a driver. This envisioned platform could offer a wide range of functionalities including communication between the user sides, time-related booking, payments, reviews and many more.
To develop such a platform, you need to involve many different stakeholders all coming from a different background. A management team, strategy architects, a product manager, database developers, User Interface designers, local governments, legal consultants, future users and many more. Without the involvement of all stakeholders the developed product will have shortcomings, but involving all these stakeholders causes major communication problems;
First of all, the term ‘digital platform’ is overloaded, it can mean almost anything. Maybe the management and the software developers have a completely different idea of what a ‘platform’ is…
Second, the terminology and definitions of different kinds of digital platform (a.k.a ‘platform types’) including ‘sharing economy platform’, ‘on-demand platform’ and ‘multi-sided platform’ are overloaded as well, making it hard to classify your platform and information tailored to your needs.
Third, especially when a platform operated in a multi-sided market and plans to target multiple user groups it is hard to clarify the user types (think of customers, travellers, providers, activities, guides, drivers, vehicles, vehicle owners with possible overlap) and the envisioned functionalities and constraints linked to these user types.
During my research I found a possible solution to these problems; An ontology model. This is a visual representation of the entities and relationships aiding in the creation of the envisioned digital platform. First, by making a difference between objects, user roles, social constructs and events, improving the communicate between stakeholders of a different background. Second, by driving software development due to the clear representation of data requirements, constraints and envisioned functionality. For example, the (partial) ontology below gives a good overview of what a digital platform is, and what is related to it.
As someone with a little knowledge of IT can directly spot, our model is based on Unified Modelling Language (UML) and extended to capture more than only data requirements. Objects (in red) can be software or stakeholders (management, user) of a platform. Objects are bound to each other via social constructs (in green). It is the platform management that offers the digital platform towards a target user community. After, a platform user can bound itself to the platform via an affiliation agreement. This affiliation (e.g. by registration, subscription, transaction, …) is dependent on the platform type and will be elaborated later on. Due to these social constructs our model is able to capture and link information primarily important in a legal context. An object can also relate to events (in yellow) it can perform. In this model all events are supported by software (it is a DIGITAL platform after all) and can be divided into three main groups:
- User actions: These actions are performed by a user, and are important for the developers to create the user interfaces, with a clear visual what kind of users (depending on their role) should be allowed to access what interface/functionality. Typically during the development of the software web developers are involved using Angular, React or Ruby on Rails
- Platform Software action: These actions only involve the software, and are data driven. An example is the distribution of Uber drivers to customers. The development of these events into software typically involves data-driven developers using Java or Python
- Platform Management Action: These actions involve employees, and are typically back-end interfaces directly connected to the database. This involves Node.js and/or update sql queries.
Visualize the Differences
The platform ontology above gives a high-level representation of all platform types. But depending on the type, your platform will need different requirements and functionality. For example a sharing economy platform like Airbnb works differently than an on-demand platform like Uber. The following taxonomy gives an overview of how digital platform types can differ from each other. More information on this taxonomy can be found here.
For each property value, we created an ontology module. These ontology modules can then be combined with each other, like building blocks. When you have chosen the right property values of your envisioned platform, use the compliant ontology modules to create a full ontology model of your platform idea. By organising the ontology into modules, it is possible to apply and combine modules, create new ones and increase the possible functionalities of the model. As a result, the ontology can accommodate the evolution of the digital platform domain and combine existing and emerging platform variations to model new types.
Example: Uber Eats
As a proof-of-concept of how the ontology model helps understanding digital platforms and improve the communication, we shortly discuss Uber Eats, a platform for food delivery. As you can see below, the process model is only capable of capturing the activities needed from the different user types to get the meal to the customer.
On the other hand, the ontology model below not only captures the functionalities and events (yellow) and user types (red) but also relations (arrows), constraints (e.g. 0..*, 1..*, 1, …) and social entities (green) of the Uber Eats platform. More information and the latest version of the taxonomy and ontology model can be found on www.model-a-platform.com.