Taking on the task of transforming your order-to-cash billing system is a big—and long-term—commitment.
It’s probably necessary for your continued growth, but it may also be riddled with complexities in business processes, underlying technologies, and operations. No one-size-fits-all approach can guarantee success, but there are certain elements that are applicable to all businesses.
We recently spent a year (and counting) on a large transformation project for a large financial customer. We were chosen as the prime vendor to transform and integrate their massive legacy fulfillment systems into a single global Oracle stack platform.
The lessons we learned from that project can help any company embarking on this journey.
1. Engage the business early and often
For a business with multiple legacy systems, developing a solid understanding of all the business processes is critical. Even systems with a small customer footprint could have a large revenue impact. If you don’t identify any faulty assumptions early on, the later need to redesign can be both time-intensive and costly.
Of course, even if everyone agrees on an effective solution at the beginning of the project, a process that was valid several months ago may no longer be relevant today. Continuous engagement at key milestones—proof of concept demos, competition of development, quality assurance certification—is key.
2. Identify interdependencies
Effectively identifying finish-to-finish, start-to-finish and finish-to-start dependencies between features in a large global transformation project can be intimidating. But missed scenarios, code merge issues and deployment delays are difficult to avoid if you overlook important interdependencies.
Aggregating the right mix of people with expertise in business processes, applications and data will help you effectively plan around interdependencies.
3. Plan Ahead for Sufficient Infrastructure
Getting into a situation where features are developed but can’t be adequately tested causes delays and frustration for everyone.
Instead, identify certain parameters early on—the number and size of application servers, database servers and code repositories. Identify whether full production-sized environments will be necessary. These issues can appear less important at the beginning of the project but become more so as the project continues.
To maintain flexibility and avoid planning too small (leading to schedule slippage) or too large (leading to cost overruns), invest in IaaS so your team can quickly scale to the rise and fall of the project’s demands.
4. Avoid skill set gaps for niche technologies
For a large order-to cash-project that involves a full stack of applications like order entry, middleware, service integration, etc., a quality core team is essential. Of course, the team needs subject matter experts, but the developers must also have appropriate skills for niche applications such as Salesforce.com, Oracle Billing Revenue and Management, and Oracle E-Business Suite.
Relying on on-the-job training during project execution is a huge risk that can lead to delivery delays or poor quality code. Instead, carefully screen key candidates and plan a realistic delivery schedule. Training QA engineers at early stages of the project on business processes will also allow them to plan for relevant and complete test case scenarios during project execution.
5. Use Automation in QA, Unit, and Regression Testing
The testing required for each new function delivered by your development team can be time-consuming if done manually. In many cases, too many hours are spent executing (and re-executing, in the event of defects) the test cases. Control the schedule by using repeatable and representative sets of use cases that can certify a code delivery.
When done correctly—identifying, defining and translating the use cases into automated test cycles—automation can result in a high return on investment. For a long-term and complex project, automating QA and unit testing can save time that could be used instead to add more functionality.
One element is consistent throughout each of these tips: the right people working on the right tasks at the right time. Successfully completing a complex project on time is no easy feat. You’ll need the best team on the ground, empowered with the right tools and resources to get the job done.
Contact us Today for More Tips and How We Can Help!