back to blog

How to Build a Custom ERP System: the 8 Step Guide

by Katerina Reshetilo

Gartner says 55%-75% of ERP projects fail. As if that is not enough, I’ll also add that a failure of an ERP project is not something companies can just shake off and carry on. ERP projects are usually so serious in their nature, that their failure can cause a major setback for the entire company or even its death. To give you an idea of how epic such a failure can be, here is an example. Vodafone decided to consolidate its CRMs into one of Oracle’s cloud platforms and got part of the customer accounts messed up. This resulted in major losses for the company, plus a £4.6 million fine. Of course the bigger the company, the more massive the wreck. Luckily, most of us won’t get a chance of such a blow-up, just because we are not at that scale. Nonetheless, an ERP project that’s gone bad can suck the life out of any company regardless of its size. How does such a bright-sided and well-intentioned endeavor, as ERP system development, ends up in such a debacle?

Here are some reasons that we can name from our experience with custom ERP development, and they mostly coincide with those of CIO experts:

  • Having 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, into 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, otherwise, no one will use it.
  • 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.

I’m sure there are many more, like choosing the wrong vendor, but that is the subject of another article. In this article, we’d rather talk about the 8 ways of avoiding those pitfalls, by carefully planning your custom ERP software. We share our own experience, 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

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
  • SMART.

When setting goals for your ERP project, it is useful to think of an ERP 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.

To be effective, your goals need to be SMART:

  • 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 own 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 ERP 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?

The answer is - those who pay for it and those who will use the system. This includes both the management, as well as front-line and back-office personnel.

Their opinions, wishes, and needs of how your ERP should look and work are very important. Failing to involve them in the early stages can cost you dearly.

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!


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 manufacturing custom ERP. 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. It’s just that the time has come when the company had outgrown the analog way of doing things. So they needed to find the best way to scale their processes.

This might not be the case for younger businesses that haven’t figured out the optimal way of doing things yet.

Get an estimate for your custom ERP project!

Contact Us



Ok, maybe not as well as you do, but close enough to come up with the best vision of your ERP system. 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 in some cases, it can bring tremendous value to the project. This happened with our client Exotics Racing. The director had invited our founder (Sergey) 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) Sergey 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 on-board videos and photos. This was the same process that most of the EXR customers go through.

Then, the lovely site director showed Sergey and Alexandra 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 Sergey got to see and even experience how the business was working from 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 on daily basis, but personal visits can bring your project to a whole new level.


Now it’s time to tell your ERP 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 ERP. 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 ERP, 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. He wanted to know which ones bring the most clients. So we’ve integrated the system with Google Analytics and Google Adwords 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.


When you’ve nailed your preliminary list of features, both you and your team will have pictures in mind 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 with customized ERP software, you will know for sure when you use it, we’ll get to that later. The easiest way to visualize your ERP 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 design.

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. In the case of our client, Exotics Racing, we developed a kind of a 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 is 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 actually a full-fledged designer tool that you don’t even need to install.


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 failure in ERP projects. It is not agile, and nowadays hardly anyone can afford not to be agile. As I’ve said earlier, you’ll know if it is what you wanted only when you 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. This means that you and your employees have to actually 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.


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 ERP project failures.

A friend of mine has a lot of experience in this field, her job is to train employees of various companies to use CRM and ERP systems. She told me that so many business automation projects hit the wall just because the staff wouldn’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.


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!

Co-author: Sergey Opanasenko, Co-Founder of Greenice. Together with his business partner, Sergey oversees the agency operations and cares for the wellbeing of the team. Former programmer, he is known for his critical thinking and problem-solving skills, as well as a passion for technology. Also a loving husband and father.

Thinking of developing your own custom ERP? We can help!

Contact Us

Rate this post

Rating: 0