Application Convergence
One of our clients had grown over the years through a series of acquisitions. Due to a “milk and maintain” strategy that avoids expensive consolidation effort, the client ended up with a silo-ed ecosystem with duplicate systems for any given functionality. The resulting high maintenance costs, lower margins, and slow reaction time, became issues that no longer could be ignored. The Next Path team was asked to assist in addressing this problem.
Multiple strategies such as “rationalization” (i.e picking best of breed), and “standardization” (i.e. run on preferred technology stacks) were already being pursued. A “transformation” strategy (i.e. replace old with new) was also being contemplated but the size of such an effort (having kicked the can down the road over the years) seemed too daunting. The Next Path team suggested a more manageable approach where slices of functionality, starting with front-office and back-office functionality (as opposed to core business functionality), are transformed one slice at a time.
The slice of functionality chosen first was sales (including lead management, opportunity management, sales proposal, quoting, contract signing, boarding and activation). The client had 40+ sales tools with corresponding boarding and activation apps, each connected to different sets of downstream systems. The sales processes in general were paper intensive, and allowed too many pricing exceptions, resulting in delays in getting customers setup, and therefore delays in time to revenue. Along with the high maintenance costs related to duplication, there was also the issue of lost revenue opportunities due to lack of a consolidated view of customers with cross sell potential. Additionally, all existing applications were too dated, inflexible, and non-generic to qualify as a starting point to build upon.
The proposed solution was to build a single sales “interface” that hides the complexity of multiple downstream systems, provides a streamlined experience to the customer, and enables a consolidated view of customers (ex: the products customers bought, the cross sell opportunities they present, etc). This solution uses a genericized, flexible, and extensible domain model that allows true convergence to occur. Each downstream system is handled via an adapter that maps the generic data model to the system specific data model. Proper separation between business decisioning (ex: product recommendations, pricing engine), business workflows (ex: boarding, and activation flows), integration related plumbing, etc. makes this solution “future ready” as more downstream systems are brought into the fold. Where applicable, a “Buy vs. Build” strategy led to the use of cloud based SaaS components for CRM, eSignature, and Sales Wizard functionality.
While sticking to the scope of this effort, the Next Path team ensured that sufficient rigor around design principles, best practices, and reuse were applied. Consequently, several work products from this effort have found enterprise wide use. A notification service that was built to keep sales personnel posted on the progress of submitted contracts, is now being extended in other business domains for additional forms of notification. A cross cutting decryption service that handles sensitive data in web service calls is now being used across the enterprise. The SCM & CI development environment setup that allows true agile development to occur has become the reference architecture for other agile projects.
The client was new to Agile implementation techniques and it took a little convincing before we were allowed to proceed without first creating detailed requirements specifications, budgeting, and project plans. These waterfall-ish exercises often prove to be very inaccurate anyway, delay teams from making immediate progress, bog down the project at later stages with requirements change management, and lead to a lot of hand wringing over expectations versus promises. It was understood however that budget requirements would have to be determined quickly. We created an initial backlog and provided shirt size based estimates. Using an Agile release planning approach we were able to provide initial budget estimates to garner funding, outlined an initial architecture specification with technology and vendor selections, interviewed vendor resources to source implementation teams with the right resources, and started sprinting. With each sprint, incremental functionality was delivered, customer feedback was received, requirements got more refined, the backlog was updated, team velocity was measured, and all of that helped the team better predict timelines and budget. The iterative testing that goes with this approach also made the solution more bug-free and reliable.
The lightweight sales process is now performed on an iPad, and is completely paperless. The streamlined approach minimizes sales with exceptions, and reduces time to revenue. The customers view the client as a single entity as opposed to having a disjointed view in the past. The client has a consolidated view of their customers, with more insight to generate additional revenue. The convergence strategy allows cost savings from termination of duplicate sales and boarding applications over time, thereby paying for itself in the long run.