How to Develop ERP Software: the 8 Step Guide
50% of ERP projects fail in the first attempt.
As if that is not enough, I’ll also add that a failure of an ERP development project is not something companies can just shake off and carry on. Such projects are usually so serious, that their failure can cause a major setback for the entire company or even its death.
How does such a bright-sided and well-intentioned endeavor, as ERP system development, end up in such a debacle?
Here are some reasons custom ERP development projects fail (according to CIO experts and our experience):
- Ineffective business processes - if you haven’t worked on your business processes to make them effective and unified, then no automation tool will help
- Not including all stakeholders, especially end-users, in decision-making - everyone who is going to be using the system and affected by it should have a say in the project
- Failing to prioritize features - which can be another extreme of trying to please everyone, and therefore, delaying the shipment of the system by months or even years.
- Trying to deliver the whole thing at once - long gone are the days of waterfall planning, why wait so long and spend so much just to learn that the software sucks, better to learn it early on, and fix it bit by bit.
- Failing to get everyone onboard - a new custom ERP solution means people need to change the way they work, they’d better understand why and know what to do.
- Forgetting to budget for maintenance - you will likely require changes along the way, not to mention that things can break, so it is wise to account for it in your budget.
In this article, we’ll talk about the 8 ways of avoiding those pitfalls, by carefully planning your custom ERP software. We share our own experiences, as well as the experience of others, so be prepared for a lot of examples.
Step 1: Define Goals and Objectives for Your ERP Development Project
Step 2: Identify and Involve Stakeholders
Step 3: Investigate the Current State of Affairs
Step 4: Help Your ERP Developers Understand the Business Processes as Well as You Do
Step 6: Get the Vision of Your Web-Based ERP Software
Step 7: Development and Deliver in Small Working Parts
Step 8: Don’t Forget to Get Everyone Onboard
Step 1: Define Goals and Objectives for Your ERP Development Project
It is easy to dismiss this step, thinking it’s obvious, or to do it ‘formally’ and say something like: ‘‘The goal of building a custom ERP is to make everything work faster and better.’ But, when the goals and objectives are unclear for you and everyone involved in your project, it can easily run off track. You’ll have no single point of reference with all the important decisions to come, like choosing the core functionality, prioritizing, and so on. As a result, you may spend your time on features that won’t contribute to your bottom line, and neglect those that could make the biggest difference. To bring value to your project, your objectives have to be:
- Aligned with the business strategy
- Based on goals
When setting goals for your project, it is useful to think of the new system as a tool (which it is) that you will use to achieve your company goals. So what are your company goals and how do you want your new tool to contribute to them with the new custom ERP? By answering this question, you’ll align your project goals with the overall business strategy. Another useful way of thinking about objectives is imagining them as a route with steps that you need to follow to reach your goal, aka destination. In other words, goals are the things you want to achieve with your project, while objectives are the ways you are going to do it. That is why it is useful to find out first where you’re going (goals), and then come up with a route and steps (objectives) you need to take to arrive at your destination.
- Specific: Be very clear about who, what, when, where, and why you want to achieve.
- Measurable: Know what success looks like and find ways to measure the ‘before’ and ‘after’.
- Attainable: Be sure that you set objectives that you and your team are capable of achieving with the available resources.
- Realistic: How do your objectives fit into the realities of your business and its priorities? For instance, you could set an objective to get all the paper-based processes digitized in two weeks. It might be even achievable, but is it realistic?
- Time-bound: To stand a chance of becoming a reality, your objectives have to be on the calendar, each with its deadline.
Example of ERP Goal and Objectives Goal: Improve the carrying capacity of the business (the number of customers served daily). Objectives:
- Reduce paperwork to 10% by January.
- Shorten the registration process from 15 to 5 minutes on average by January.
- Reduce customer wait time from 30 to 15 minutes on average by January.
After you’ve defined the goals and objectives for your project, make sure to let everyone involved know about them, including and especially, your web development team.
Step 2: Identify and Involve Stakeholders
This brings us to the next question - who, besides you, should have a say in your project?
You may have many stakeholders, but the most important ones are those who pay for it and those who will use the system. This includes investors, customers, management, and personnel.
They have the knowledge and influence you need to build a custom ERP system, failing to involve them in the early stages can cost you dearly. There is a great example of this in the McKinsey article. In it, a bank was undertaking a major upgrade of their IT systems and didn’t involve its finance department until the last moment. It turned out that the new system didn’t fit all their needs. The resulting changes delayed the entire project by over 3 months, at a cost of $8 million. Ouch!
See how we developed an ERP for an Inc. 500 cosmetics companyRead the Case Study
STEP 3: INVESTIGATE THE CURRENT STATE OF AFFAIRS
How are things done currently? What is the customer experience like in your company? And how does the process of serving a customer look from inside the company? If some of your processes are fundamentally flawed, then their automation won’t do any good. For example, if you haven’t figured out your optimal dispatching algorithm or the order of things for pick up and delivery, then automation can bring even more chaos and mess. So if some processes in your company have to be re-engineered or standardized, it is a good idea to do that before ERP systems development.
One of our clients is Exotics Racing, a company where you can rent exotic cars and drive them on special race tracks. The company already had established processes, most of them were paper and whiteboard based. The guys had polished and proven these processes throughout the years. However, the company had outgrown the analog way of doing things. So they needed to find the best way to scale their processes.
So in the case of this company, they only needed little tweaks to their established processes in order to automate them. However, some companies may require a complete re-engineering of the current ways of doing business, before building their software.
Get a free consultation for your custom ERP project!Contact Us
STEP 4: HELP YOUR ERP DEVELOPERS UNDERSTAND THE BUSINESS PROCESSES AS WELL AS YOU DO
Ok, maybe not as well as you do, but close enough to come up with the best vision of how to create an ERP system for you.
So spare no effort to describe everything to your project manager, or even better, let him/her see everything with their own eyes. If you are contracting with a custom ERP software development company, you might find it useful to invite your team representatives to come on-site. That is not always possible, but it can bring tremendous value to the project.
This happened with our client Exotics Racing. The director had invited our founder (Sergii) and project manager (Alexandra) to visit their sites in Las Vegas and Los Angeles. They got to experience 90% of the customer journey, which included customer onboarding and actually racing the supercars!!! (not enough exclamation marks here)
Sergii and Alexandra got transferred to the racing track by the special shuttle bus for Exotics Racing customers. Then they went through the registration, received their technical briefing, went on a discovery lap, and finally got to drive Porsche and Lamborghini. After which they received onboard videos and photos. This was the same process that most of the EXR customers go through.
Then, Sergii and Alexandra were shown how everything works behind the scenes. They followed the onboarding process that the company uses for new employees. They saw how personnel collected data about customers, how customers got assigned to driving instructors and cars, and much more.
In two weeks, Alexandra and Sergii got to see and even experience how the business was working from the inside out. That is incomparable to describing everything over Skype and Google Docs. Don’t get us wrong, it is still possible to deliver a successful solution without visiting the site, and we do this daily, but personal visits can bring your project to a whole new level.
Learn more about how we’ve built an ERP for ExoticsRacingRead the Case Study
STEP 5: SET EXPECTATIONS
Now it’s time to tell your ERP systems development team what you don’t like about the way things are now. Also, let them know what you and the stakeholders need and expect from the new solution.
Create an environment where everyone can freely share their opinions, and be prepared to hear a lot of them. You will need to take that all in, filter through, and prioritize. There should be a balance between accommodating the needs of various departments and delivering your project on time and within budget. And your web development team can help you with that by letting you know how difficult it will be to implement certain functionalities. By the end of this step, you should be able to compile a list of features you’d like to see in your new solution, divided into phases in the order in which you want them implemented.
For example, when we were developing a web-based ERP system for a locksmith company, their marketing manager wanted a way to track the effectiveness of their marketing campaigns. These campaigns account for a large part of their spendings and it wasn’t easy to track their results, since many customers were just calling on the phone in the ads and not clicking on them. He wanted to know which ads bring the most clients. So we’ve integrated the system with Google Analytics, Google Adwords, and call tracking, to do that. As a result, the company was able to track ROI for each campaign, which allowed them to concentrate only on the most lucrative ones.
STEP 6: GET THE VISION OF YOUR WEB-BASED ERP SOFTWARE
When you’ve nailed your preliminary list of features, both you and your team will have ideas of what your system should look like. Now, it is important to combine your visions into a single one, and the best way to do this is with visualization.
“You will know it when you see it” is a good way to put it. Although, in the case of customized ERP software, you will know for sure when you use it. The easiest way to visualize your software is to create wireframes. Their main purpose is to give a basic idea of what interfaces should look like and where everything goes. Those wireframes that survive the scrutiny of the stakeholders can later be used for interface
What’s even better is to create clickable prototypes and discuss them with all the stakeholders. Discuss and move things around until you’re satisfied.
For one of our clients, we've developed a Proof-of-Concept demo of their system. It was a set of clickable wireframes with which we made a video demonstration of how the system will work. This allowed our client and the company personnel to see everything ‘in action’ even before we started the ERP development process.
There are a ton of free and paid tools for this that you can choose from. We use Figma (no affiliation), because of its robust functionality, it is a full-fledged designer tool that you don’t even need to install.
STEP 7: DEVELOP AND DELIVER IN SMALL WORKING PARTS
When you and your team have settled on some version of your system, you can finally begin programming. Here, the most important thing to keep in mind is to try to not deliver the whole system at once. That’s a big mistake, and one of the top reasons for the failure of custom ERP solutions. It is not agile, and nowadays hardly anyone can afford not to be agile.
As mentioned earlier, you’ll know if it is what you wanted only when you see and use it. That is why it’s vital to divide your system into small parts and deliver them one by one. You can start with the most important feature set for you or even a single feature. Have it developed first and start testing it in the wild as soon as possible. Like the truest ascetics of the IT world, the guys from Basecamp have put it in one of their books ‘Getting Real’:
‘With real, running software everyone gets closer to true understanding and agreement.’ Getting Real, by 37signals.
This means you don’t just have to roll out some working module, click a few buttons, and go to the next one. You and your employees have to use it with real data in the real world. Only this will give you an understanding of whether you’ve built the right thing. So if something is not working as it should, you can fix it right away. Alternatively, you might even realize that your idea was all wrong and you have to do something completely different. That is ok too! It’s better to realize it in the beginning, than at the end, when all the money is spent.
STEP 8: DON’T FORGET TO GET EVERYONE ONBOARD
Last, but not least - make sure everyone understands the importance of the project and knows what’s expected of them! You expect people to change the way they do things in their day-to-day work activities, and it is not that easy. Poor change management is often sighted as one of the top reasons for software project failures.
Many business automation projects hit the wall just because the staff doesn’t take them seriously. People won’t put in customer and/or inventory data as they’re supposed to, won’t follow invoicing procedures, you name it. This happens either because employees find the new systems difficult to learn, or because they don’t understand why they need to do it. Sometimes both. That is why spending some time and money explaining and training them to use the new technology will be worth your while.
How Much Does ERP Software Development Cost?
Several factors influence the cost of ERP development:
- System complexity
- Hourly rates
- Team proficiency
The complexity of your system has a direct impact on the scope of work for the ERP development company you hire. This includes the number of modules, features, user roles, and integrations. Therefore, some systems can be relatively simple and take a couple of months to build, others can take years.
Furthermore, ERP development companies have very different hourly rates depending on their location and pricing strategy. For instance, hourly rates of web development teams in North America are $100-$150 on average while the rates of developers in Eastern Europe are $35-$50.
However, hourly rates may mean very little if the team is inexperienced. Technical proficiency and experience in ERP app development have a direct impact on how much time the team spends on each task and how well they do them. Hence, hiring the cheapest company can result in the greater overall cost of the project.
So if you want to cut the development costs without compromising on quality consider the following tips:
- Start with a Minimum Viable Product (MVP), i.e. choose only the essential features and make the changes and upgrades gradually while already using the software
- Make sure the company you hire has the necessary skills and experience in developing a similar system to what you need.
To give you an idea of what a custom ERP system may cost, here are the ballpark estimates from our team:
- MVP can cost anywhere from $25k to $50k
- Complex solutions can cost up to $100k and higher.
Get a free estimate for your custom ERP project!Contact Us
HOW TO APPLY THIS TO YOUR BUSINESS
In spite of all the horror stories, we are convinced that it is possible to succeed with an ERP project! We believe that all it takes is a commitment, an open mind, focus, and courage to make uncomfortable decisions. As a custom ERP development company, we’ve worked on a number of such projects for a large international corporation, as well as for smaller local businesses, and all of them worked out successfully (no bragging at all). We’d be glad to help you with your project!
Thinking of developing your own custom ERP? We can help!Contact Us
Author: Kateryna Reshetilo is a Head of Marketing at Greenice web development agency. She is responsible for uncovering new market opportunities in the eCommerce, Healthcare and eLearning spheres. Kateryna also crafts and oversees the execution of marketing strategy at Greenice. When off-duty, she is a loving wife and mother of a cute 8-year-old boy. She is also passionate about climbing and windsurfing!
Co-author: Sergii Opanasenko, Co-Founder of Greenice. Together with his business partner, he oversees agency operations and cares for the wellbeing of the team. A former programmer, he is known for his critical thinking and problem-solving skills, as well as a passion for technology. Outside of work, he is also a loving husband and father.