Case Study: How Implementing an ERP System Can Help Businesses Scale
- 7718 views
- 18 min
- Mar 20, 2018
Growth is the ultimate goal for any business. Both startups and large enterprises are looking to expand and find ways to generate bigger profits.
However, before building ambitious plans and setting far-fetched goals, businesses need to be ready for growth. This sounds like a simple task, but it can be a real challenge that many companies stumble over.
Enterprises face a variety of challenges when scaling:
- Lack of workforce to handle the growing scope of work
- Workflows suitable for a small company may not work well for a larger company
- As the team size grows, communication becomes more difficult
- More work makes financial management complex
- Technology toolkits have to be upgraded to match an increasing scope of operations
Growth doesn’t make things easy; on the contrary, it’s a challenge for businesses, and many fail because they can’t adjust to new conditions. Scaling a company for growth touches on all aspects of business management. These are the most important steps a company needs to take to scale:
- Devise and adopt a relevant workflow to minimize effort and enhance productivity
- Strive to automate as many processes as possible in order to streamline operations and avoid unnecessary work
One of our clients faced the challenge of scaling and reached out to us for assistance.
The background story
Our client, Custom Communications Inc., is a well-established company in the communications infrastructure industry. Founded in 1998, Custom Communications has grown into a leading technology solutions provider in the southeastern United States with a team of over 250 professionals.
Custom Communications offers a wide range of services including design and installation of wired and wireless networks, VoIP systems, satellite fulfilment, and call center management. The company’s customers include Dish Network, Walmart, Amazon, Verizon Wireless, and other prominent names.
Before RubyGarage joined the project, Custom Communications didn’t have a universal tool to manage their increasing scope of business operations and required a significant upgrade to their workflow. The company faced a number of challenges:
- Low productivity stemming from the difficulty of ensuring on-time and high-quality work order fulfilment.
- Poor communication that made collaboration between departments complex.
- Complicated financial management, making it difficult to receive and audit payouts as well as to handle payroll.
- The human resources department was difficult to manage, making it hard to recruit, train, and retain employees.
This unproductive way of managing business processes was a major hurdle on the company’s way to further growth and development, and our RubyGarage team had to find solutions to help Custom Communications scale
To get a full understanding of the project, we collected detailed requirements from our client. Based on the information we received, our experts determined the scope of work and defined the following tasks:
- Conduct thorough research into the existing workflow at Custom Communications
- Develop ways to enhance the company’s workflow
- Analyze the enterprise software used in the company’s operations
- Suggest enterprise software to match the company’s new workflow and automate business processes
The RubyGarage team decided to split work on the project into two main parts:
- Digital business transformation – We decided to carry out a profound change to how Custom Communications operates to streamline business processes, activities, and models.
- ERP system implementation – Our experts recommended developing a fully functional enterprise resource planning system to handle the company’s workflow and operations.
Five steps to the digital transformation of Custom Communications
Digital transformation is a complex process that goes far beyond adopting new technologies. It requires a deep transformation of all aspects of company’s operations – from processes and activities within the business to the ecosystem and organizational culture.
Therefore, our team carried out a thorough analysis in order to suggest a viable digital business transformation strategy. Here are the steps we took:
Step #1 Defined digital transformation objectives
First, our team closely collaborated with Custom Communications to get a full understanding of what objectives the company wanted to achieve through digital transformation. Among their key goals, Custom Communications wanted to increase productivity and streamline business management.
Step #2 Assessed the digital agility level
Next, our team moved on to determining how agile Custom Communications was in terms of adoption of new technologies. Digital business agility involves the following capabilities:
- Hyperawareness – the ability to detect changes in the business environment
- Informed decision-making – the ability to make optimal decisions in a particular situation
- Fast execution – the ability to quickly implement changes
Step #3 Selected relevant technologies
Based on previous research, our experts were able to select the best technologies to transform the way Custom Communications does business. It isn’t enough to select any available technologies; instead, digital transformation requires picking the technologies that can bring the best results for a particular project.
Step #4 Developed a digital transformation roadmap
Digital transformation requires a lot of time and resources (both human and financial), so our team developed a detailed action plan. Our goal was to optimize the use of resources and get the ERP tool up and running on time.
Step #5 Implemented the digital business transformation
Having defined a scope of work, our team could start transforming business processes at Custom Communications. We relied on software development best practices to implement digital transformation without disrupting the company’s operations.
Reinventing an enterprise resource planning system for Custom Communications
Now that you know the strategy our team adopted, let’s have a closer look at the WorkFlow enterprise resource planning system we developed.
The WorkFlow ERP solution provides the following benefits:
- Productivity. The ERP system automates lots of operations, saving time and eliminating redundant tasks. As a result, each employee is able to cope with a larger scope of work.
- Security. The company has full control over business information and sensitive data is kept in secure cloud storage.
- Collaboration. All departments of Custom Communications use the same platform so it’s easy for them to collaborate.
- Integrated information. All information is stored in a single database, so employees can easily access the information they need.
- Mobility. Being cloud-based, the ERP tool can be accessed from any computer or mobile device from any location.
The company’s ERP system is perfectly tailored to its business operations – it includes only the necessary functions. At the same time, the WorkFlow ERP system was developed with a vision of the future; new features can easily be implemented to make it more functional.
Here are the modules that the WorkFlow ERP system consists of:
The ERP system facilitates order management, allowing the company to handle more orders and, consequently, be more productive. WorkFlow automatically checks partner websites for new work orders and updates information about those in progress. When new orders are available, they’re added to the ERP system for further handling.
Moreover, WorkFlow automates task distribution: when new orders are imported to the ERP tool, they’re automatically assigned to technicians. If for some reason an order hasn’t been assigned to a technician or if a technician can’t fulfil it, dispatchers can assign the order manually.
When technicians complete tasks, they fill out a special form in the ERP system describing what work they’ve done and what equipment they’ve used.
Thanks to this simple automated workflow, Custom Communications can fulfil more orders and provide services to more customers.
To implement order management functionality, our team integrated the WorkFlow ERP system with the APIs of telecommunications service providers to which Custom Communications delivers services.
The WorkFlow ERP system has an inventory management module that helps manage material resources (i.e. equipment used by the company). The ERP tool helps employees easily monitor movements of equipment, check current inventories in all warehouses, audit equipment, manage replenishments, and so on.
Custom Communications fulfils lots of orders every day, so it needs efficient financial management functionality. This module handles all financial information for the company: invoices, payments, payroll, and so on.
These are the major features of the financial management module:
Automated invoice generation
To get paid for completed orders, Custom Communications issues invoices for customers (i.e. partners). After fulfilling an order, a technician fills out a form specifying what services they provided and what equipment they installed. When the form is submitted, the ERP system automatically generates three invoices: two for the customer and one for the technician.
Apart from invoices, the WorkFlow ERP system supports immediate online payments for additional services – technicians can specify what work they’ve done and charge accordingly. Customers can choose their preferred payment method, including by credit card.
We selected Stripe as the payment service provider as it offers multiple payment options.
The company’s ERP system automates sales tax filing. When a client makes an immediate payment, WorkFlow automatically calculates the sales tax so the company’s financial department doesn’t need to spend several hours taking care of tax returns every month.
To implement this feature, our team integrated Avalara in the WorkFlow ERP system.
The WorkFlow ERP system handles payment reconciliation, comparing payments from customers against invoices to check whether all invoices are paid properly. If a payment doesn’t add up with its invoice, the ERP tool marks it so that the financial department can quickly address the problem.
Human resources management
With over 250 IT professionals on the team, Custom Communications needs a tool to store and manage employee information. Hence, the ERP system contains an HR module that streamlines human resources management and has the following features:
- Employee information database. This database stores personal details (such as name, phone number, address, and payment information) of Custom Communications employees. The ERP system also keeps track of updates to personal information.
- Employee database and records. This database contains a list of current and former employees.
- Performance management. This feature allows managers to quickly check how many orders a technician has completed within a particular period of time.
- Employee deactivation. Managers can deactivate an employee (namely, a technician) in case of poor performance, low quality of services provided, or for other reasons. Moreover, managers can leave a note specifying the reason for deactivation.
- Employee onboarding. Getting accustomed to the ERP system can take time; to minimize errors and train new technicians, the first 125 work orders for each technician are highlighted in WorkFlow so that managers can keep track of them and provide help if needed.
Efficient collaboration requires fast and direct communication, so our team implemented a communication management module. WorkFlow provides the following communication features:
Live chat facilitates communication within the Custom Communications team: employees can send direct messages to each other, create channels, and share files.
Moreover, employees can create tickets, add descriptions, and invite people who can help to the discussion channel; all employees involved in a ticket can easily keep track of its resolution. This streamlines the workflow and enhances productivity of all departments.
The WorkFlow ERP system has a notification system for keeping employees updated on recent activities. It has the following features:
- Email notifications. The ERP system supports newsletters for all departments. For example, technicians can receive emails informing them about new and updated orders.
- SMS notifications. These notifications remind technicians to close orders in the ERP system. This tool is very helpful for technicians as they get paid for completed orders only.
Reporting and analytics
The WorkFlow ERP system includes a reporting and analytics module that generates different types of reports about the company’s activities. For example, managers can easily get a report on all orders fulfilled within a particular period or generate a report on payouts received by technicians.
This module provides reports about the company’s performance for the financial department and executives.
Building an intuitive user experience
To bring maximum value, an ERP system has to be easy-to-use and convenient; if it’s too complex, then instead of enhancing productivity it’s likely to slow it down. Our team faced the challenge of creating a smooth and intuitive user experience so that users of WorkFlow are able to interact with the system easily.
Developing a user-centered UX design
Our aim was to deliver a streamlined and simple, yet efficient, UX design. To cope with this task, we adopted the principles of user-centered design – a design approach that focuses on the needs and requirements of users. In other words, user-centered design helps create software for the people who are going to use it. In the case of Custom Communications, we designed the UX for the company’s employees.
We passed through several stages while transforming the user experience for Custom Communications:
- Analyzed the workflow for each role in order to get a clear understanding of how the company’s employees worked and what could be improved
- Collected user requirements to find out what challenges users faced
- Suggested potential solutions to users’ problems
- Created low-fidelity prototypes based on suggested solutions
- Tested prototypes in order to get users’ feedback
Our team developed a totally new user experience design tailored to the needs of Custom Communications employees. The WorkFlow ERP system, which is convenient and easy to use, provides assistance to employees in their everyday work and enhances productivity.
Creating a mobile version of the web application
As part of reinventing the UX design of the WorkFlow ERP system, our team decided to develop a mobile version of the web application. This mobile version helps the Custom Communications team conveniently interact with the ERP tool from smartphones and tablets.
The mobile version of WorkFlow helps technicians save a lot of time when fulfilling orders – they can easily view work order details, select hardware from inventory, handle equipment returns, close work orders, and so on.
We created the mobile version of the ERP tool from scratch. Our team was in charge of the UI/UX design as well as development. RubyGarage experts came up with a minimalist user interface that’s intuitive and easy to read.
Developing the WorkFlow ERP system
The RubyGarage team had to implement the WorkFlow enterprise resource planning system without interrupting the company’s ongoing business operations. Therefore, we had to adopt the right application development approach, and we started by defining potential technical disruptions.
Preventing technical difficulties that could create bottlenecks
As adepts at quality, our team set a goal of determining potential technical issues that, unless prevented in time, could grow worse and create bottlenecks for the company’s business operations.
We had to develop an application for moving Custom Communications forward instead of slowing the company down and putting its professional reputation at risk. In collaboration with our client, we defined the following technical challenges our ERP system had to be prepared for:
- Scaling the application. The app architecture needed to be scalable so that the application remained functional regardless of the amount of data it processed.
- Scaling the development team. As the application grew more complicated, it became reasonable to scale the development team. As usual, the team was split into several sub-teams responsible for particular functionalities.
- Implementing new functions fast. Adding new functions to an application can lead to deterioration of code quality and incorrect app performance. Therefore, the application architecture needed to be built in such a way that adding new functionality was fast and trouble-free.
- Testing the code. Testing is crucial for delivering a well-performing application that functions properly. However, testability largely depends on the app architecture; for example, database-centric apps are fast to build but harder to upgrade and test.
After conducting an in-depth analysis of these technical challenges, our team concluded that we needed to develop a scalable and updatable app architecture, automate key processes, and adopt web development best practices to deliver a full-fledged application.
Implementing solutions for building a fully functional ERP system
The solutions our team came up with were aimed at optimizing the time, effort, and expenses of application development, ensuring updatability of the ERP tool, and delivering clean and secure code.
Here are the steps the RubyGarage team took to get the WorkFlow ERP system up and running:
Selected a domain-centric architecture
Many applications have a database-centric architecture that treats data as the most important part of the application. Despite some advantages of this approach (such as faster development), it proves less efficient when it comes to building large-scale applications. Custom Communications is a growing company that needs an upgradable ERP tool, so we suggested going for a domain-centric architecture.
In a domain-centric architecture, applications are designed according to the business domain, focusing on elements of this business domain, their behaviors, and their relationships. A domain-centric architecture helps us build web applications with concise code that’s easy to test and upgrade.
Built a scalable application
Custom Communications handles scores of orders every day, and their number increases with the growing scope of operations. Thus, the enterprise resource planning system has to be scalable and function well regardless of the number of orders in progress.
Our RubyGarage experts decided to host the WorkFlow ERP system on Amazon Web Services (AWS), a global leader in cloud computing services.
We selected Amazon EC2 for secure and scalable cloud-based hosting. To ensure scalability of the app configuration, our team used Elastic Load Balancing and Auto Scaling. These services automatically adjust capacity to conditions.
The Custom Communications ERP tool needed to quickly provide information, so it needed fast and reliable storage. We used Amazon S3 for object storage, Amazon RDS as a relational database service with PostgreSQL for the database engine, and Amazon ElastiCache for Redis as in-memory data store and cache.
Optimized the software development workflow
To get the WorkFlow ERP system up and running on time and within budget, our RubyGarage team needed a streamlined software development workflow. We decided to automate development processes to avoid unnecessary time-wasting manual work and deliver clean and quality code faster.
For this purpose, our team adopted the following practices:
- Infrastructure as Code (IaC). To manage the cloud-based infrastructure and maintain its integrity throughout the release pipeline, we adopted IaC – a key DevOps practice of managing an operations environment through writing provisioning scripts. IaC helped our team automate server management and minimize downtime (as new servers are deployed automatically in case of critical errors). To implement IaC, our team used Ansible, a reliable configuration management tool.
- Continuous delivery and continuous integration. Deploying new features can cause so-called integration problems – errors that appear when new code conflicts with the existing code base. To ensure smooth, fast, and reliable releases, our team adopted continuous delivery – a development approach of producing software in short iterations and keeping it deployable at any time. Continuous delivery works alongside continuous integration, a practice of merging changes to the code base as frequently as possible. We used CircleCI to set up a continuous integration server.
- Automated testing. Continuous delivery and continuous integration involve intensive testing. Not only every new piece of code is tested, but the whole code base is tested to ensure correct performance after each piece of code is integrated. Our team wrote automated tests with the RSpec framework for every single feature we added; we also used CodeClimate for code analysis.
These software development practices helped our team set up a productive development workflow and deliver an updatable and maintainable application. RubyGarage continues working on the project, and new functional updates of the WorkFlow ERP system are planned.
Ready to boost your business with digital transformation?
Developing and implementing a digital transformation strategy has helped Custom Communications turn business opportunities into tangible results:
- Increased productivity – The ERP system has streamlined the workflow, helping Custom Communications perform better and more efficiently.
- Simpler business management – Managing the company’s business operations has become fast and simple.
- Enhanced customer satisfaction – The WorkFlow ERP tool has helped the company improve quality of services.
- Flexibility – The ERP system has made scaling the company’s business processes easy and trouble-free.
However, each business requires a unique digital transformation strategy to deliver maximum value. If you want to transform your own business operations or build a useful enterprise resource planning system, share your ideas with us.
Subscribe via email and know it all first!