A friend of me asked me about starting an ERP business. As an expert in the ERP industry for 25 years, I shared my views. It can be a challenging and complex undertaking, but with careful planning and attention to key issues, it is possible to build a successful ERP company. In this article, I will outline some of the most important factors to consider when starting an ERP business, based on my extensive experience in the field.
Is it an Investment or a Project?
Starting an ERP business requires investment. You cannot start with a project. When you start with an investment, you have a chance to create a "Product". When you start with a project, you can never have a "Product". All you will have will be different implementations of a project!
Demography is crucial
ERP is a half technical, half functional domain. That's why the starting team should be in this proportion. An ideal starting team consists of 10 employees.
- 3 Business professionals, at least one senior. These are non-tech employees preferably having know-how of business functions like production, accounting, inventory and more. They will be responsible for gathering requirements, analyzing business processes, and defining system workflows.
- 3 Software engineers, at least one senior. They will be developing the system architecture, structuring the data, coding the software, and implementing integrations.
- 2 Support Specialists. One should be experienced in content creation. The other should be experienced in testing. Both must be experienced in customer relations! They will be responsible for providing customer support, troubleshooting technical issues, and creating training materials.
- 1 Salesman
- 1 Entrepreneur
Generic vs Vertical
Focusing on a specific sector is crucial for mid-term success in the ERP business. Creating a generic ERP product can take up to 5 years. By narrowing your focus to a specific sector, the time required can be reduced to 2-3 years. Vertical ERPs also have a marketing advantage if verticalization is done correctly.
Targeting a specific company size is crucial for the success. Identify the company size that the ERP will cater to, such as small business, medium-sized business, or enterprise. This will allow for a focused approach in developing the specific features and functionalities that are most important to that size of business. Additionally, it will make marketing efforts more effective as it will be easier to reach and appeal to a specific audience.
Monolithic vs Distributed
An ERP is a monolithic software that must include all of a company's functionalities. However, with the rise of cloud computing and the need for more flexible and scalable systems, a distributed ERP architecture is becoming more popular. This architecture allows for the separation of different modules and functionalities, making it easier to scale and update individual components without affecting the entire system. It also allows for easier integration with other software and systems, improving the overall efficiency and effectiveness of the ERP. It is important to carefully consider the pros and cons of each architecture and choose the one that best fits the needs of the target audience and the business as a whole.
An ERP must have the following "Multi"s:
- Multi-Tier: Modern ERP software must have at least 3 tiers: Database Layer, Application Layer, and UI layer.
- Multi-Tenancy: A modern ERP must have multi-tenant architecture. It has to be able to support multiple clients with different databases, security, and user interfaces.
- Multi-Language: The ERP must support multiple languages to cater to a global customer base.
The ERP must have a well-defined API that allows for easy integration with other software and systems. This is crucial for many businesses that rely on multiple software applications to function. The API should be easy to use and well-documented, with clear guidelines and examples for integration. Additionally, it should be secure and robust to ensure that sensitive data is not compromised.
Test Driven Development
Test-driven development (TDD) is a crucial aspect of developing a high-quality ERP. By writing tests before writing the code, developers can ensure that the code is functioning as expected and catching any errors early in the development process. This saves time and resources in the long run and leads to a more stable and reliable product. Additionally, TDD promotes code modularity and reusability, making it easier to add new features and functionalities in the future without breaking existing code. This is especially important for the next topic: Customization and Release Mng.
Customization and Release Management
Modern software development includes well defined and flexible planning. Long term major releases, short term minor releases, bug fixes end feature enhancements must be declared. This includes defining release cycles, versioning, and deployment processes. It is important to have a system in place to manage and track changes to the software, ensuring that new releases are thoroughly tested and validated before being deployed to customers.
A well-designed customization framework should be in place to enable the development of custom modules and functionality while maintaining the integrity of the core system.
The ERP system must be designed with security in mind from the ground up, including data encryption, access controls, and regular security audits. Additionally, the ERP should comply with standards and local regulations.
Continuous improvement is essential to the success of an ERP business. Ongoing monitoring and analysis of customer feedback, market trends, and technological advancements should be conducted to identify areas for improvement and innovation. This feedback should be used to guide the development of new features and functionalities, as well as to inform marketing and sales strategies. Additionally, regular maintenance and updates should be performed to ensure that the ERP remains relevant and competitive in the market.
A new software must comply with the popular technical frameworks of its time. Keeping up with the latest technical trends and frameworks is important for the success of any ERP business. By staying up-to-date with the latest technologies, the ERP system can remain competitive and relevant in the market. It is important to continually assess new technologies and determine which ones would be beneficial to incorporate into the system. Additionally, regular training and upskilling of the development team should be conducted to ensure that they have the necessary skills to implement new technologies effectively. Overall, staying on top of the technical zeitgeist is crucial for the long-term success of an ERP business.