Case Study - Replacing a Team of 8 Consultants With a Team of 2
As a leader in logistics in Canada and expanding throughout North America. Our client needed a custom ERP that would allow them to manage all facets of their operations, systematize their best practices, and integrate AI solutions to optimize their operations.
- Client
- Ray-Mont Logistics
- Year
- Service
- Custom ERP, Web Development, Operational Research
- new locations opened using the new ERP
- 2
- new type of service offered powered by our solution
- 1
- existing operation modules optimized using our new solution
- 5
Facilitating Rapid Growth
The client a custom ERP that had been developped in the early 2000s. While the system still worked, it couldn't meet the company's new needs.
Leadership decided to invest in innovation to modernize the company and prepare for future growth.
They chose to build a new custom ERP that would manage all their operations, systematize their best practices, and integrate AI solutions to optimize operations.
First Attempt
Before our involvement, the client had attempted to replace a small part of its ERP with a custom terminal management system that integrated AI.
The client had hired an external development team of 8 consultants to build this project.
Multiple Errors
Several factors contributed to the project's failure.
Replacing a part of the ERP required integration with the old platform, which took a significant amount of time and integration effort.
The technological choice for the new system was also a problem. The software architect in charge of the project had implemented a solution that was too complex for the client's needs. While the architecture would've been suitable for a company with hundreds of thousands of employees, the project's complexity slowed down development time and increased risk of failure.
The supplier's practices were also an issue. A lot of time was lost in project management and in communication time. The developers on the project lacked sufficient mastery of the business domain and weren't able to look beyond specifications and propose solutions that could improve the project.
A New Foundation
After 2 years of development and spending several million dollars, it was clear that the project was not going to be successful and was abandoned.
A plan for a new project was put in place.
A new custom ERP would be created to completely replace the old ERP to avoid having to do any integration with the old system.
The new project would use Elixir and Phoenix to accelerate development time. Being a relatively new platform, it was a risk to choose this platform, but if used correctly, the project could be completed much faster.
A strategic decision was also made to create a monolithic application, ignoring the trend of microservices that have no utility for this client.
Our development team understands the client's business domain and can propose solutions beyond the specifications. This helps reduce risks and create a system that better meets the client's needs while reducing time spent communicating with the client.
Modules
Different modules were built to replace the old ERP and create a complete system on which the business can operate each of their locations.
Directory
A first module was built to keep information on clients, suppliers, employees, and important locations.
As the client has more than one location, it was important to contextualize information based on the location of the user.
Configuration
A configuration module was built to allow the client to configure the various products and packaging that the company processes.
Order
An order management module was built to allow the client to manage customer orders.
Client orders can be very complex and may contain multiple products, services, and destinations.
A Provisioning section manages the allocation of cargos and containers for orders to ensure orders can be completed based on what the shipper or trader sends us.
Capacity
A module that estimates and manages the company's resources.
The different resources managed are employees, containers, cargos, trucks, space on railway tracks, facilities, and equipment in logistics terminals.
Work Order
A module that manages how orders will be executed in logistics terminals.
Allows assigning employees to tasks, managing used equipment, and managing order steps.
Terminal Operation
A module that manages operations in logistics terminals.
Contains a dedicated page for cranes, which are vehicles that move containers in terminals. The operator can see the next moves he needs to make, and can also decide to reorder them to optimize operations.
Transportation
A module that manages truck transport operations.
Allows organizing container transports between logistics terminals, railyards, clients, and ports.
Ocean Transportation
A module to manage ocean transport operations. Notably the voyages offered by different shipping lines and the bookings they have on these voyages.
Yard Configuration
A module that manages how containers will be stacked within a terminal.
Allows the creation of yard zones in which blocks can be created. Blocks can be assigned to customers and can contain different types of containers.
Container Moves
A module that manages how containers are moved within terminals.
Allows ingating a container at the terminal, moving a container within the terminal and outgating a container from the terminal. Also takes care of generating the necessary documents for the transfer of containers between the different parties involved.
Paper Rolls Transloading
A module to help a terminal handle a lot of paper rolls.
It was difficult for terminal operators to keep track of all paper rolls transloaded into a container that can contain up to 90 rolls.
A system was put in place to allow operators to scan paper rolls and assign them to a container. This reduced errors and increased operator productivity.
Integration with AI Supplier
In addition to the development of the ERP, our team was also responsible for integrating with an AI supplier.
The AI supplier creates optimized plans of the operations to accomplish at the logistics terminals. We had to expose to them the resources available in the terminals and the work to accomplish and also handle the plan they send us to integrate it into our system.
Launch of Storage
Due to COVID, the company needed to launch a new service offering to store import containers for an indefinite period.
Containers had to be stored by company and not mixed randomly. Thus, it was necessary to be able to keep track of all client containers' positions in the terminals.
Additionally, it was necessary to be able to bill clients for the time their containers remained in the terminals and the number of moves required to outgate a container.
The module was built within 3 months.
The launch of the storage module in January 2023 allowed the company to launch its new storage service and generate new revenues in a difficult period for logistic companies that were primarly focused on export.
The module was used to service multinationals such as IKEA.
The Outer Difference
Outer replaced a team of 8 consultants with a team of 2 developers who understand the business domain and can create a solution that meets the client's needs quickly.
Compared to the old team, Outer was able to deliver a much larger system that manages much more complexity in less time and at a quarter of the cost.
- Custom ERP
- Web Development
- Elixir
- Phoenix
- Phoenix LiveView
- PostgreSQL