SiteStudio Platform Design Principles
The environment in which the SiteStudio Platform was created provided an opportunity to create an integrated platform which could ultimately serve many types of businesses.
The SiteStudio Platform was created to satisfy the following requirements that were present in major mining construction projects that were always both fast moving and complex:
1. A given mining construction company typically has many projects happening at the same time.
2. The company is often commercially involved in a joint venture or as part of a consortium with other mining construction companies for any given project.
3. The company deals with many subcontractors and supplier businesses during the course of the project.
4. There may be one or more layers between a construction company and the ultimate client. (eg a larger EPCM company that manages work on behalf of the client mining company).
5. Each party involved had their own unique arrangement of disparate business systems that were involved in managing aspects of the project.
6. Internet connection speeds were often slow or even non-existant at various locations on a project.
As a result of not having a sufficiently capable and flexible platform to dynamically keep pace with the abovementioned considerations, these projects typically devolved into being managed via a lot of spreadsheets that frequently contained inconsistent data.
As a consequence of the abovementioned requirements, many design decisions (listed in next section) were required to best satisfy the circumstances.
Critical design aspects of the SiteStudio Platform
As a consequence of the fast changing requirements (and project hot spots), fast moving
1. By default, every single entity (eg Employee, Labour Hour record, Equipment Hour record, Site Variation) that goes into the system has separate forms automatically created for:
a) Adding new records
b) Updating or Deleting existing records
c) Viewing (filter, sort, search, export) all records
d) Audit to show timestamped history of changes for any given database record
By doing this there is always a fundamental way to manage the collected data, even if it not the most efficient or desired.
Customisations can be later made to achieve
2. The overall goal was to make it easy to get data into the system, clean up that data as necessary, create workflows, report accurately as required by an internal or external party.