5 Common pitfalls of building your own CPO and CPM

Designing and developing a custom CPO or CPM platforms comes with the benefit that the system can be tailored to any specific requirements or issues you might have. Everything can be customized to match your needs, from the charging station software design to the security features and integrations. 

For example, you can design the new software to integrate with your renewable energy plants and battery storage system, so you can use renewable power to power the stations.

But precisely because there are so many different things you need to decide on while building the charging station software from scratch, the project can quickly become far more complex than you thought it would be. Unfortunately, a few things can soon cause your project to go away – and, in the worst case, force you to abandon it. 

Unclear or constantly changing software requirements 

Custom software development takes time – in some cases, it might even take over a year or more before the custom software will be ready to use. So to “save time” on start, some companies made the mistake of starting the development with only a few vague goals or requirements in mind, thinking that they will eventually just update the requirements as the project progresses. 

Unfortunately, this rarely ends well.  

As the requirements keep changing, the development team only gets more work to handle. For example, it might turn out that to add new functionality to the existing feature set, parts of the software need to be rewritten because otherwise the software will crash. 

Eventually, the entire team loses track of what they’ve been working on, and the progress grinds to a halt.  

Project development time is underestimated

Together with vague instructions often comes underestimating how much time is needed to design and develop a custom product, especially when this is a company’s first custom project. Obviously, you want to get your new software ready as soon as possible. 

Setting very tight deadlines for the development team in hopes the software will be finished faster this way is never a good idea though, as seeing missed deadlines will only bring frustration – to you and them.

What’s more, if the developers have too many tasks to do and too little time for them, they might try to cut corners and skip some development steps just to meet the deadlines. Then, after the product is “ready,” it might turn out that the software only has half of the features you wanted or that some of the integrations aren’t working as intended.

Project costs spiral out of control

Vague requirements, endless scope changes, and missed deadlines also come with one more threat to the project – going far over the initial budget. Looking at the Wellingtone report, only 43% of companies reported that they “most of the time” or “always” complete their projects within the established budget, this is clearly a frequent issue. 

The most common reason for going over budget is “scope creep,” where the project scope keeps growing as several new requirements are added to it. However, every new feature or development issue to be solved takes time – and budget. 

So after a few significant changes to the scope, you might find out that you are not even halfway finished with the software, but you have already used the entire budget planned for it.  

Underestimating how much each stage of the development might cost can also quite quickly lead to running out of funding – and then the project might need to be suspended or abandoned.

Not enough team members with the necessary skills

Developing a charge station management system from scratch will require far more people in your team than just developers. Besides them, you’ll also need to add UI and UX developers, testers, and people who’ll take care of database and security features. 

But most importantly, you’ll also need people who are familiar with EV development and will know how to connect all of your charging station equipment and systems to the new platform.  

If you only have a few developers inside the company or neither of them has the skills or EV industry experience you will need, then developing the ready software might take far more time and cost than you initially thought. In that case, it might be better to look for a custom software development company that can create the software for you.  

Difficulties with integrating apps and systems

Building custom software also comes with the perk that you can add any integration to it you need. So, for example, if you want to connect the new charging station management software with the CRM, ERP, or battery management software you are using, you can add a custom integration through which you can connect all those systems. 

However, building a custom integration and then making sure it works as intended requires a lot of experience and skills. 

Plus, the more integrations you need, the more complicated it might be to ensure all of them are working correctly. Otherwise, it might happen that, for example, the connection between both systems is unstable, and only some part of the data is transferred.  

Best practices for building your own CPO and CPM

All those issues we mentioned in the previous part have one thing in common – lack of research. Simply – the more you know about how your future software should work and what issues it should solve, the easier it will be to pick the right features, tech stack, and people for the project. 

What’s more, having a detailed project requirement list will also make it much easier for you to estimate how much time and resources you will need for the development, reducing the risk that you might find yourself going over the budget halfway through the project.

You can use the following questions to clarify your ideas on how the future charging station software should be:

  • What is the main reason I need a custom Charging station management platform? What issues does it need to solve?
  • What features inside the software would help me solve those problems?
  • What other features (such as flexible pricing options or automated reports) should the new software have?
  • What integrations should be included inside the software?
  • Which programming languages and technologies would be the best fit for the project? Do I have enough developers to handle the project wholly in-house?


As soon as you’ve got the answers to those questions, you should have a better idea of what (and who) exactly you will need for the project and how should you prepare for it.

Other things we can recommend to improve the chances that your new project will be a successful one include:

  • Building an MVP first: A Minimum Viable Product is a great way to get a functional version of new software you can use for testing before going through the full development process. Plus, you can use the MVP version to gather feedback from your employees about how they like using the software and what other features they would like to see included.
  • Leaving space for unexpected issues or expenses: No matter how carefully you plan the project, you might still run into some trouble. So it’s recommended that you will set aside a part of the budget just for handling sudden scope changes or urgent issues. A recommended practice here is to have an extra 50% of the estimated development cost set aside for those tasks. 
  • Writing everything down: Keeping the project documents updated throughout the development stages will save you plenty of time both during and after the project is completed. One, the documentation will make keeping all team members on the same page easier, as they will be able to review the project’s progress whenever they need. It will also be easier for new team members to get started if they can check what has already been done and where the project stands. Plus, you won’t have to try to recall everything and update the documents all at once after the project is close to the finish line.
  • Using project management tools: When it comes to storing all essential documents, project changes, and deadlines in one place, project management tools are extremely useful. Once you have everything in one place, you can keep track of who is working on what, delegate tasks overall, and keep everyone in the loop about even the smallest project changes or issues.

When to reach out to a custom software development company?

Doing thorough research on your development needs can help you with one more thing – ensuring you have enough people in-house that can take part in the project, or you will be better off handing the development to an outsourced team.  

Often, businesses first decide to run the custom software development project with their in-house team, hoping to both save a part of their budget and also to have better control over the project’s progress. However, running the project fully in-house might be quite tricky, especially if you only have a few developers working with you:

  • The developers might not have the skills or experience needed for the CPO/CPM development
  • They might not have enough time to focus both on the software development and their regular work tasks
  • The main team might not have access to the latest development tools or technologies or know how to use those

In that case, it might be a better idea to reach out to software development companies that are experienced in building solutions for the EV industry – like Codibly. Our team has worked on a wide range of projects for the EV industry, including energy management, connectivity, and smart charging modules, and charging station management systems, so you can count on our experience when it comes to all things EV-related.  

Depending on your needs, we can either:

  • Design custom-made Charge Point Operator software together with you from start to finish.
  • Send one or more of our EV industry specialists to help your in-house team handle the development project.
  • Introduce you to our Poweric Platform through which you can manage the charging stations (but also, for example, renewable energy generators and battery systems) with ease.  

If you need someone to look at your CPO/CPM project brief and give you some expert tips (for example, help you pick the right tools, languages, and people for the project) then we’ll be glad to help you as well. 

What we need to note here though is that we’re not a product company – our goal is to help your EV company grow by leveraging our development expertise and industry experience. So you don’t have to worry our solution might be competing with your main service – in fact, we’ll be delighted to make your EV company and service stand out even more.  


Custom software for a charging station can be exactly the thing you need to grow your business but without spending time managing the entire infrastructure manually or handling multiple different applications. Building it isn’t an easy task though – a custom development project needs an experienced team, a significant budget, and most importantly, thorough research. 

What exactly you want the charging station software to do, what features it should have and who do you need for the development team – without solid research, finding out those things will be much more challenging.

If you aren’t sure where to start with the research though or want to leave the development project to software development experts, we are always ready to lend a helping hand. Just give us a call, and we’ll come up with a plan for a charging station software you’ll love.