Odoo Customization: This is How we do it at Pragmatic!
After going through hundreds of Odoo ERP customizations for people across the globe for over a decade now, we thought of taking a moment to break down the anatomy of a typical Odoo customization project at Pragmatic. This is primarily meant for company executives who are weighing the risks and rewards before signing their next Odoo customization software contract.
It is true that not just Odoo customization, but any type of software customization comes loaded with a great deal of risk and uncertainty in the world of business.
Speaking specifically of Odoo Customization, it is very different from purchasing off-the-shelf tools available in the marketplace, in terms of the expectations and resources needed for its execution.
Out-of-the-box is usually used because it is stable, robust, and ready for immediate implementation, however Odoo customization calls for a very different set of logistics: business needs to account for development time and costs, as well as ongoing user feedback, maintenance, and support.
Out of our experience of over a decade, we have seen and heard of big projects that suffered from cost and schedule overruns. Based on our observations, we have seen custom software projects run approximately 66% over budget and suffer a feature shortfall of 17%.
Statistics like these make us behave extra cautiously when executing an Odoo customization project and hence we try to ensure that our Odoo customization process is finely tuned to the needs of a project or an organization and would produce a significant return on investment, in both quality and efficiency of output.
To achieve these types of desired results, assessing the cost-benefit of Odoo customization up front and following through with effective management strategies is absolutely critical.
Odoo Customization: To do or Not to Do?
- As the client approaches us with his requirements, first we suggest that he looks at our ready apps on the Odoo App Store.
- We have 75+ apps ready plug and play apps to choose from. If an app is ready and fits his requirements, there is no reason for us to reinvent the wheel of customizing the software.
- Some of our apps are free and others paid.
- If the client selects a free app and downloads it, there is no support provided by Pragmatic. However, if you have some good developers available at your behest, you can very well proceed with the free app. We ensure that even our free apps are robust enough to sail through your basic requirements.
- In case of paid apps, support is provided in case the clients have any doubts with regards to functionalities or usage.
- It is suggested that you have a look at the star ratings and the number of downloads before you select the app. It is not that the ones that don’t have a stellar star rating or a two or three figure download are not up to the mark, it is just that there is not much demand for it in the market.
Odoo Customization: When No App is Available…
- If there is no ready app available on our Odoo App Store to fit the client’s requirements, then we go in for creating a custom one.
- Our team of Odoo experts discuss the requirements with the client and based on the scope, finalize the project timelines and cost.
- Next, at Pragmatic, our operations model is such that we try to break down a bigger functionality into smaller logical functions and create apps around them.
- For example, you can have a look at our reports app on the Odoo app store, you will see that we have 9 different types of apps with different functionalities.
- These smaller apps are available for sale on the Odoo App Store. If some other client comes in with a similar requirement, we again start with proposing the ready-to-use apps from the App store to see if it fits their requirement. If yes, the client purchases the app, if no, then we proceed for developing Odoo customizations.
Odoo Customization Coding Best Practices –
Code Level Documentation
- In the process of Odoo customization, we ensure that we do the code level documentation. This helps in easy maintenance of the source code as it explains how the software operates or how to use it. This is very important for developers especially when they inherit a software or jump projects.
- Our project managers ensure that nothing is done without documentation. They have access to all the files and emails of the developers. Information is shared between everyone. No one hogs or hoards information.
- Because we know that email archives, code backups, SharePoint, and Microsoft Project are all fine and dandy for describing a program’s surface plan, but they don’t help much with the code muscles and bones and the comments that bind them.
- This document is maintained so that it is easy for the developers to maintain the code base. Besides, our main goal of effective documentation is to ensure that developers and stakeholders are headed in the same direction to accomplish the objectives of the project.
- We produce 2 types of software documentation, namely product documentation and process documentation.
- Product documentation describes the product that is being developed and provides instructions on how to perform various tasks with it. In general, product documentation includes requirements, tech specifications, business logic, and manuals.
- Process documentation represents all documents produced during development and maintenance that describes the process like standards, project documentation, such as project plans, test schedules, reports, meeting notes and even business correspondence.
- Version control is a system that records changes to a file or set of files over time so that you can recall specific versions of the software later.
- All the developers at Pragmatic ensure that version control is taken care of before committing the code to the repository. We keep the version changes identified by a number or a letter code. For example, an initial set of files is “revision 1”. When the first change is made, the resulting set is “revision 2”, and so on. Each revision is associated with a timestamp and the person making the change. Revisions of the Odoo customization can be compared, restored, and with some types of files, merged.
- At Pragmatic, version control enables multiple people to simultaneously work on a single project. Each person edits his or her own copy of the files and chooses when to share those changes with the rest of the team. Thus, temporary or partial edits by one person do not interfere with another person’s work.
- Besides, it acts as an insurance against computer crashes or data lossage.
- The newly developed Odoo customization code is then tested for quality assurance to check if the actual results match the expected results.
- In our testing process, we identify errors, gaps or missing requirements in contrary to the actual requirements. It is done both ways, manually and by using automated tools.
- Even though our developers at Pragmatic follow Odoo and Python coding best practices, to ensure an error free code, developers are also humans after all. Hence, testing!
To recapitulate, to customize or not is a decision that is based on your business needs. If you are sure that only customizing will solve your workflow problems, go for it without the slightest hesitation. If not, we can help you in setting up out-of-the-box Odoo for you.
You can get in touch with us at firstname.lastname@example.org or give us a call on +1 713 701 5957 and one of our Odoo ERP experts will contact you within 1-2 business days to know your requirements.