Although it may be easier to work as we go, having the requirements defined in advance (as many as possible) will help us create the required platform fabric faster and more efficiently.
How we (and things) connect with the platform in real time
How we want to store the data
The types of APIs that we will build
The microservices and utilities we need to build