Construction ERP Software
Minimum Viable Product
Design: Affinity mapping, UX flows, wire-framing and UI design (100+ screens).
We worked with documents that:
1. Captured how data is stored and linked, and
2. Captured the business process flows.
Manual processes of managing a construction company and its projects lead to a range of problems:
A multi-tenancy ERP system for managing equipments and projects.
Module 1: Set up subsidiary companies in the system
A module that allows the admin of the parent company to create a subsidiary company, its key users, and assign equipments in a yearly package to the company.
Module 2: Create users for specific roles
A module that allows the admin to create users who can perform specific tasks within the subsidiary companies. Each user role is essential to complete the all major flows like equipment rental and project management.
Module 3: Manage equipment inventory
Users can store different equipment details, track its movement across warehouses and projects, view a history of maintenance checks performed, damages reported, and more. It gives a snapshot of all necessary equipment related info.
Module 4: Create teams and assign equipments for projects
The admin can create teams of workers within the subsidiary company. Equipments can be assigned to these teams. In this manner, data regarding work done on projects and equipment allocation is tracked for each team.
Module 5: Manage people and equipments on projects
Workers, teams, construction managers, construction site managers, and equipments can be added and tracked on projects. The cost associated with equipments and teams on the project can also be calculated and used for invoice generation.
Module 6: Rental of equipments for projects
Allows the construction manager to place rental requests for equipments on projects.
Module 7: Manage repair for damaged equipments and vehicles
Track the repair efforts taken to fix damaged equipments.
Module 8: Manage the maintenance for equipments and vehicles
Manage and record maintenance performed for equipments.
Module 9: Assign vehicles to drop off and pick up equipment
Transport can be assigned for the movement of equipments across locations for rental on projects and repair purposes.
01 Define user roles and their functionalities
The system accommodates 9 user roles. This aspect of the process involved defining these roles and the permissions assigned to each of these roles. The functionalities of the system are entirely dependent on the tasks performed by each user in the system.
For example, the admin of the parent company creates the asset package for the company and it is received by the workshop manager for the main warehouse of the subsidiary company.
02 Map out relationships between entities in the system and businesses processes
The next step to mapping the ecosystem of this product involved studying the spreadsheets where the current business processes are recorded. Alongside, I also correlated existing business processes with the functionalities of each user. This helped a build a blueprint of the system.
For example, for an asset package assigned to a subsidiary company, the number of assets, duration of the rental for the package, and the price of the package also had to be recorded.
03 Build foundational system rules for product capabilities
After achieving a comprehensive understanding of the system and all its entities, I started defining the system rules to carry out the business processes.
Each key function was imagined to be a micro-service. For example, the rental module and project module.
04 Write the PRD
The defined user roles and permissions, businesses processes that need to be carried out by the system, and the rules for the system led to creation of the product requirement document.
05 Define Information architecture and medium fidelity designs
The information architecture was created based on the mappings of the business process. Next, the wireframes for each module were designed.
For the MVP, the approach was to create a system that matches the brand guidelines that the company already has.
06 Work closely with the engineering team to deliver the MVP over 12 months
I also worked closely with the engineering teams to deliver the MVP according to product specifications. This involved:
1. having regular calls to track progress,
2. meetings to address bottlenecks in the development process,
3. even tweaking certain features as a part of an iterative process, and
4. testing different scenarios of different flows on a regular basis.
Case Study 1: Multi-tenancy company set up
01
The admin for the parent company can add and edit the companies on this tab.
02
The admin for the parent company fills in details for the company and also create the user role "general manager" for the subsidiary company.
The general manager can create the main warehouses and the user role of "regional manager" for his company.
01
The admin for the parent company can create and edit the company package in this tab.
02
To create the asset package, the admin for the parent company needs to select the assets and the drop location is the default main warehouse for the subsidiary company.
03
In the overview of the company package, the admin can select the start date and the duration of the package.
The price calculated by the system based on the daily rates of each asset is displayed.
01
The general manager for the subsidiary company creates the regional manager and assigns it to a region.
02
The workshop manager can receive the asset package at the warehouse.
So, the regional manager creates the workshop manager and links it to the warehouse location listed for the company.
01
The workshop manager for the subsidiary company can view all its outstanding deliveries.
02
Here, s/he can view the contents of the package.
03
Here, s/he can mark the package as received.
Case Study 2: Project management
1. creating a project,
2. assigning users to this project,
3. tracking costs of assets linked to this project, and
4. tracking the time teams spend working on the project.
The construction manager creates a project.
At this stage, s/he adds the construction sites to which assets can be rented, selects the construction site managers who receive the asset deliveries, add workers, and add teams to track work done on the project.
01
The team cost center gives an overview of the no. of hours a team has worked on a project on a daily basis.
The cost is calculated on the basis of the hourly cost of the asset package assigned to the team.
02
The machine technical assistant (admin for daily operations for the subsidiary company) enters the no. of hours worked by a team on a project.
The construction manager can view the asset related costs incurred on the project.
The cost can either be associated to a rental request (with a start and end date) or it can be a transportation cost (linked to only one date).
Transportation costs are optional.
Case Study 3: Asset rental
01
The construction manager can make a rental request for the project he is linked to. S/he would have to select one of the construction sites from the project as the drop location.
02
The rental review screen displays all the important aspects for the rental. The asset rental cost is recorded against the project it is booked for.
01
The admin (MTA) can either approve or deny the request.
02
The admin (MTA) can also assign transport to pick up or drop off the asset at the beginning and end of the rental.
The cost is billed against the project.
01
The MTA first needs to select the drop location and the drop off date and time.
02
The MTA can then select the type of transport s/he would like to assign - heavy or light vehicle. The transport closest to the drop location and lowest cost is displayed as the best result.
03
The MTA then selects the driver for the transport vehicle.
04
The MTA also assigns the time the driver needs to go pick up the transport from its current location.
05
The driver can view a list of all transportation jobs assigned. The driver has the option to mark it as received and even deny the request.
06
The driver can also view the details of the job assigned.
Looking back, I would have conducted a few usability sessions to test the user flow and each module's steps. This would have allowed me to identify any overlooked pain points and assess whether the priorities I set for different steps in the current flow were appropriate. Even though it was just a proof of concept, this feedback would have been valuable in refining the overall user experience.