Mobile App for a Chemical Plant
September 14, 2023
We got a request from a large chemical industry company that produces mineral fertilizers. The main focus of the company in recent years has been on digitizing their processes. They have a company-wide ERP system in place managing finances, suppliers and staff. But there are other areas which could benefit from modern technology. This particular request was about plant equipment maintenance and repairs.
Repairs and Downtime
The company owns several chemical plants. A major concern is losses due to equipment downtime during repairs. The repair team spends most of its time working at the repair sites. These locations are spread across a wide area with limited mobile coverage and no wifi.
The challenges are:
- There is a significant time gap between identifying equipment defects and the repair team getting notified about them.
- When issues are communicated verbally, there is not enough information for the repair team to get all the necessary tools and replacement parts.
- Because the repair units and replacement parts storages are quite far apart, it results in substantial time delays if the arriving repair team doesn't have all required equipment.
Also the company management would like to keep track of the actual time spent on repairs to have benchmarks for duration of pauses in production lines due to repairs.
There is an inspection department in the plant. Their responsibility is to routinely check the equipment of the production line and document any issues found.
As the first step the company built and deployed an Android app for production line inspectors. Using this app, inspectors can document equipment defects found during regular walkthroughs, provide detailed descriptions, attach photos, and send all this information to the ERP system.
The engineers of the company IT department are responsible for the ERP system, but there are no mobile developers. So the company outsourced the development of their mobile app to a consulting company.
Now, the company is going to build a similar mobile app for their repair division.
The app idea is:
- Keep a task list for repair technicians based on defects spotted by production line inspectors.
- Provide a checklist for a step-by-step standard repair procedure, a list of necessary replacement parts, and a troubleshooting manual for every piece of equipment.
- Track repair team arrival time and repair completion time.
Of course, the app should be able to work offline and synchronize data with the server when a connection becomes available.
Another Mobile App?
The initial idea was to simply build another app. But further analysis showed that there is a sizable overlap in data and workflow between the "inspect app" and "repair app". So another possible option is to add the "repairman mode" to the inspectors mobile app.
Separate App for Repairs
- Simpler to deploy - only one division is affected.
- Can be updated independently when changes do not affect inspection app.
- Can be tailored exactly for the repairs specifics - the repair division has "their own app".
- Any modifications to the shared workflows should be implemented for the inspection app and for the repairs app.
- Duplicating the changes takes more effort.
- There is a risk of changes going out of sync, with some inspection app reports not matched by repairs app.
One App for Inspections and Repairs
- Same workflow, no duplication.
- The inspection reports are always in sync with repair tasks.
- Some code reuse is possible.
- More complex app structure with user roles and permissions.
- Updates for repairs require the inspectors to update the app too.
- Any bugs in repairs will affect inspectors, making their app less stable.
Eventually the decision was made to extend the old Android app with repair mode. Now the more detailed development plan can be put together.
Adding User Roles
Until now the inspectors mobile app did not have any user roles. We conducted a code review to find out how the current app architecture can be modified to add the role of a repair team member.
After review we came up with a task list to modify the app code to have two sections with two separate roles - inspect and repair.
- The app assigns users roles based on their division as either "production line inspector" or "repair team member."
- When a user signs in, the app identifies their role and grants access only to the functionalities assigned to that role.
- Each role has a separate set of menu items and screens available in the app.
Extending the ERP System
To support repair-related features of the mobile app some changes needed in the ERP system. The repair staff will receive information about detected equipment defects from the ERP database and send reports about completed work back into it. Our engineers will work together with the company IT department engineers in charge of the ERP system to ensure that our efforts are aligned while developing new features.
The following capabilities are to be added to the the ERP to support repairs mobile app:
- assign roles to users;
- assign equipment defects to be addressed by to specific users with "repair" role;
- store checklists, replacement parts lists, and troubleshooting manuals relevant to specific equipment defects;
- update defects statuses indicating tasks as incomplete, fully completed, or partially completed.
The Repair Division's Workflows
Finally, we get to the original purpose of the app and put together a list of the app features for the repair staff.
The following features were selected for the first release:
- The repair team gets a task list, with each task matching a single equipment defect found by production line inspectors. Equipment defects may have notes and photos taken by the production line inspectors who spotted them.
- For each equipment defect, there's a checklist provided, detailing the steps of the standardized repair procedure, along with a list of the necessary replacement parts.
- Upon addressing each defect, the repair division staff mark the corresponding task as either fully or partially completed.
- Repair team members are also able to look up manuals for resolving specific equipment defects stored on the ERP system and subsequently download this information onto their phones.
- Repair team members report the actual times they start and finish addressing each equipment defect.
- The app gets tasks and manuals from the ERP system and sends repair team reports back when Internet connection is established. Other functions work offline.
Ready, Set, Go
Now the software engineers can start working on the app. In a few months, they will release a version of the app that supports both inspection and repair modes in one. Then the app can be deployed and the technicians will start using it in production. That would be another story.