The 7 Must-Dos When You are Re-Architecting an Enterprise System
June 10, 2022
The greatest challenge for re-architecting an enterprise system is understanding and reconciling its current-state to the future-state in terms of business and technical outcomes over time. We suggest your organization starts this journey by redefining core system features and reconceptualize UX to deepen customer relationship. You should then re-evaluate nonfunctional requirements such as compliance and security and re-align enterprise data strategy to improve user experience. Finally, leadership teams must take the initiative to reimagine customer support to help product and engineering teams deliver greater value to end users
Reading Time: 5minutes
In our recent series of articles on legacy systems, we started with the early warning signs that a system is heading towards the legacy state. We also explored how legacy systems can affect the product roadmap and the ways it creates headaches for software leaders. In this article, we highlight the top 7 must–dos immediately after the decision has been taken to re-write the system. These insights stem from Adtech’s own experience helping many enterprise clients rebuild their systems and ensure that they scale over time.
Revalidating Customer Research
In general, enterprise systems can last 7 to 10 years before being rebuilt or rearchitected. During this period, it’s likely that the customer requirements for which the original system was developed are now inadequate. Despite best efforts to iterate and refine the system for maximum customer relevancy over time, it’s likely that technical debt has negatively impacted both new and legacy customers alike. Therefore, before rearchitecting the system, it’s critical to rethink system design from the ground up, looping in teams across the organization – from product management to engineering to customer support. Covering multiple teams and stakeholders will enable the right questions to be asked, which will, in turn, shape the direction of the overall architecture, the release plan, and even the migration plan.
Redefining Core Features
In a previous article, we discussed the three tiers of features in most enterprise systems: 1. Core Features, 2. Differentiating Features, and 3. Innovative Features. Although there is a natural migration of features across tiers over time, it is difficult to hit the reset button when there is a never-ending stream of high-priority requests from many stakeholders. Therefore, the best time to redefine core features is while revalidating customer requirements and before rearchitecting the system. Furthermore, it is also advisable to create a product roadmap of differentiating and innovative features that complement the new set of core features. While the product roadmap may change over time, having a plan helps to prevent reactive product feature creep that may stem from future stakeholder demands that do not outweigh the importance of your product and business strategy.
Having the right set of features is one thing, creating a simple and seamless user experience is another. A robust UX enables deeper customer connections and engagement, which adds value to the overall user experience. This step is an opportunity to map customer research and core features to design thinking. Similar to the way that system architecture is engineered to be adaptive, the UX also needs to be adaptive and fluid to the context of customer use cases and workflows.
Re-evaluating Non-Functional Requirements
Just as customer requirements and features evolve over time, other non-functional aspects of the system also need to be addressed during system rearchitecting. These include system performance, security, compliance, privacy, and more. As a valuable reference, you may review the Sd3 + C framework from Microsoft. Adtech has also implemented additional non-functional requirement frameworks and can share more details on a call with you.
Re-aligning Enterprise Data Strategy
Data is the new fuel. The legacy system would have captured data based on the customer requirements and other NFR requests. With the advent of Big Data, AI/ML, etc. it’s really important for the organization to think futuristic and ask questions about what kind of problems we might want to solve for our customers. What level of data do we need to capture so that we are ready for it. We refer to this as Enterprise Data Roadmap. This is an intense exercise at the beginning but has a lot of benefits as the re-architecture happens. Product Managers carry a special task for them every quarter to keep a watch on how the data capture requirements are going and keep the Enterprise Data Roadmap updated with it. A detail of this is specified in our Enterprise System Re-Write Guide.
Reimagining Customer Support
In most companies, the customer support function tends to be an afterthought. Many times, there isn’t enough collaboration between product/engineering and customer support teams to either pre-empt post-launch issues or establish robust workarounds for known issues. Therefore, reimagining customer support during system rearchitecting is an important aspect of customer satisfaction. Sample scenarios include reimagining what customers should do when a critical workflow fails – such as when an e-commerce customer places an online order and the system fails to process the order properly. In this scenario, what do we want the customer to do? Should we bake in product features that enable customers to reach out directly to customer support? Should there be automated checks of failed orders with automated escalation paths? Reimagining customer support can also be valuable for product and engineering teams to better understand customers’ perspectives. Everything from customer segmentation to prioritizing issues based on business impact can alleviate bottlenecks within the customer support function and ultimately deliver greater value to end customers.
Re-emphasizing a Customer-Centric Engineering Strategy
Customer centricity is not anything new. However, amid endless requirements and releases, customers can get lost in the shuffle. This is unfortunate because the system was originally designed to optimize customer value. Therefore, the system re-write presents an opportunity to ensure that engineering processes and deliverables align with the customer lifecycle. More than that, leaders across the organization should be re-educated on the customer journey, understand customer pain points, and adapt to evolving customer needs. And as a side benefit, customer-centricity also helps engineering teams plan and release in an efficient and effective manner. In fact, maintaining a strong emphasis on customers can help prevent systems from spiralling into a legacy state, which is something that must be top of mind during the rearchitecting process.
Like most enterprise companies, the process of rearchitecting a system can be stressful and demoralizing. After all, it is never popular to pause new feature development and ask customers to be patient for a little while longer. Therefore, this phase also becomes the most critical in taking a step back to re-evaluate the decisions and processes that led to the inevitable system rewrite. And more importantly, to follow these important prerequisites to help prevent future rewrites from becoming necessary. While we touched upon these main categories at a high level, we welcome the opportunity to help you through your current or upcoming system rewrite. Click on the to schedule a call with our team of enterprise software experts.