In Part I of this 3-part series we stressed the importance of finding an open source service provider that serves companies of your size and type, with the specific services you need. This article will consider the “engagement model“, which is the default way the provider works with its customers.
Many open source providers advocate an extremely “agile” implementation model, which mirrors the agile development processes commonly used in the open source development community (see agile development manifesto).
This philosophy is characterized by an emphasis on personal interactions around running software that the development team updates on a fixed “sprint” cycle, which can range from daily to monthly (or any interval in between). The agile approach can work well if the partner is close at hand and provides an experienced consultant that you see every week, and you have decision-capable business staff available to spend the time and make decisions on the spot.
However, the very small amount of written documentation can result in the process breaking down if much of the interaction will be remote or if your staff is not able to commit large blocks of time up front to interact at the levels required by the agile methodology. It also works against you if your goal is to eliminate dependency on the external consultant and eventually take full ownership of the system.
Look for a service provider that engages on your terms, adapting to the level of formality that makes sense for the specific project and your organization. At Agility ERP, our only non-negotiable is that we are hardcore about transparency and precision, clearly capturing all work and any issues in our private Jira system–which provides a complete, customer-accessible repository of all development artifacts and work tasks. Alternatively, on request we have also executed projects in the customer Jira system or similar.
Depending on the project and tools being used, we often use an evolutionary prototyping approach to put working software in user’s hands, and then use the feedback to formalize the design prior to formal construction. This approach is especially efficient with a model-driven platform like Openbravo, which automatically generates high quality screens from the application dictionary.
Be pragmatic about your company and staff capabilities (including time commitments), and assess the best way to work with a service provider to implement the project. Beware of overly prescriptive or academic approaches that may work well in theory but may not work in practice for your company, with your specific staff.
Finally, some providers take a high volume / standard package approach to minimize costs and delivery time, and this model may potentially save you money–if you are willing to accept a “best practices + all in one” approach. On the other hand, if it turns out that non-trivial customizations or integrations with other systems are needed and the partner development processes are not mature or aligned with how your company works, then you may regret your choice of partner.
Agility ERP engages on relatively large, complex projects, where our experience and deliberate approach add the most value, especially in the case of the Openbravo ERP Platform. We also take on smaller projects that are more tactically “function-focused” (wherein the platform itself is not necessarily seen as strategic), depending on the fit and our workload.
As mentioned in Part 1, a conversation is the best way to get a feel for how the provider engages its customers, the degree of real flexibility, and if it will work for you. If you are unsure, ask to speak with a reference about their experience working with the provider.
In the open source world, it may not be enough to find a partner that serves your type of company, with an approach you can live with. Read Part 3 to find out why the service provider’s relationship with the open source vendor can also be critical to your success, especially for ERP.