Insights

Navigating Legacy Systems: A Guide to Managing Expectations

Craig Farren — 28 November, 2023

One of the greatest challenges we have as human beings is managing expectations. The ability to set realistic goals in our personal, and professional lives is a delicate balancing act and the ability to navigate them is a skill that can be the difference between fulfilment and disappointment.

Managing expectations is all about aligning reality with anticipated outcomes and it allows us to establish clear boundaries, realistic goals, and ensure that everyone involved understands what is achievable. When these expectations are not managed effectively, the result is often disappointment, frustration, and conflict, which causes strained relationships and unmet objectives.

Consultants must often manage their own expectations as well as their clients’ expectations to achieve a successful and beneficial outcome. As developers we like to keep up to date with the technology and once we have realised the benefits of new technologies it can be difficult to step back onto something older and less refined; something that is still perfectly functional, of course, but just not as nice or as easy to use. We will often find ourselves in an environment where older technology is still in use, and it can be quite frustrating to take a perceived “backwards” step.

We may find ourselves thinking “Why are they still using abc when xyz has been out for ages now?” “If they had been using xyz I could have done it this way but now I have to do it like this instead!” “This tech stack is too limiting and will take longer to achieve feature 123.”

Defining Expectations

To understand why we think like this it’s helpful to understand what expectations are. An “expectation” is the belief that something should be a certain way or that something should happen as a result of events or actions. Expectations can be high or low, reasonable, or unreasonable, good or bad. Expectations are beliefs that we develop from our thought patterns by examining evidence. They are not always right or realistic, they can be formed unconsciously and when they are not met, they can lead to frustration or pain.

Let’s take a step back and look at the specific example of technology expectations or “techspectations”, specifically around the concept of a legacy application or system. The term “legacy” refers to outdated or obsolete computer systems, software, or applications that are still in use within an organisation. They are typically older technologies that have been in place for an extended period of time because they contain and fulfill specific business needs. They can include hardware, software, databases, and even infrastructure that has been superseded by newer technologies but are still critical for daily operations.

The Legacy of Legacy Systems

Legacy systems are common across various industries, and their continued use can be attributed to a number of factors:

  1. Historical Investment: Organisations invest heavily in the development and implementation of systems and the longer a system has been in use, the more time, money and effort has been put into it. A result of this is ongoing staff training costs are minimised.
  2. Stability and Reliability: As a result of point 1, this system is stable and reliable, or at least perceived to be. It’s undergone years of testing and refinement and is less prone to unexpected issues.
  3. Business-Criticality: Many legacy systems support core business functions. Replacing and upgrading these systems can be complex, time-consuming, and expensive, often requiring significant business process changes.
  4. Integration Challenges: Over time, an organisation may have built a complex web of interconnected systems and replacing one part of that system may mean other parts need to be upgraded as well. This can exponentially increase the complexity of the upgrade.
  5. Regulatory Compliance: Industries with strict regulatory requirements, such as finance, utilities, and healthcare, often face challenges in replacing legacy systems due to the need for recertification and compliance with new standards.

Working with legacy technology provides unique challenges for IT professionals and businesses alike. As technology becomes outdated so too does the likelihood of businesses finding IT professionals with the skills to maintain or update them. Whether it’s a developer who is familiar with an obsolete language, or a technician who understands how the hardware works. This can hinder system maintenance, upgrades, and the implementation of modern security practices. IDC reports that 57% of organisations are dealing with retirement of developers with mainframe skills and, as a result, also have difficulty finding anyone to replace them. Due to demand, the remaining developers can charge exorbitant rates.

Legacy systems may also struggle to integrate with newer technologies and lead to interoperability challenges. Authentication and data exchange may be difficult or impossible without custom middleware, adding another node to the web of complexity. These systems may also not scale well to accommodate growing data volumes or user loads and can negatively impact system performance, response times, and limit business growth.

How then do we handle both client and internal expectations when it comes to legacy technology? The importance of aligning all involved parties on achievable objectives cannot be overstated and involves setting realistic goals and maintaining transparent communication. A consultant’s expectations and a client’s expectations will differ, with some overlap.

How to Manage Our Own Expectations

  1. Be realistic: We all like to work on the latest and greatest and to keep our skills current. But remember, in most cases, the legacy system was likely first created using the latest and greatest at the time. Assess the situation objectively and consider any factors that could impact the outcome. Evaluate your resources, capabilities, and external circumstances to set realistic and achievable goals. Being honest about limitations helps manage expectations and ensure a smoother journey towards success.
  2. Be adaptable and flexible: Even the best and most careful planning doesn’t guarantee success. Being adaptable and flexible is a crucial aspect of managing expectations. Don’t rigidly adhere to a predetermined outcome, embrace the nuances of the tech and work with it, not against it.
  3. Focus on progress: Instead of focusing only on the result, emphasise progress and incremental achievements. Celebrate small victories along the way, as they help motivate and encourage continuous effort. In the process, identify avenues for future improvements.
  4. Allocate time for education: Plan time for learning and researching the technologies in use to ensure you are working with the technology effectively. Look for ways to make the technology work for you. This investment will pay off in the long run as it enhances your ability to make informed decisions. Along the way you may also gain a better appreciation of more modern technologies or architectures. There’s always something to learn!
  5. Continuously improve: Treat the process as an opportunity for continuous improvement. Learn from the challenges and successes and apply these lessons to future projects.
  6. Refactor with caution: Be careful with refactoring! While it is often necessary for improvement, it should be done incrementally and never without thorough research and testing. We don’t want to introduce any new bugs to parts of the system that were working well.

How do we Manage Client Expectations

  • Realistic goal setting: IT professionals must establish clear and achievable goals that consider the limitations and challenges that result from outdated technology. Being realistic can be difficult but it is important as it prevents over-promising and under-delivering, which prevents the client from losing trust or confidence in the project.
  • Transparent communication: Clearly communicate the limitations of the existing technology to the client. Include all aspects, such as risks and challenges, as well as benefits. Provide regular updates to the client on the progress, or challenges faced, and what steps have been taken or will be taken to mitigate any issues. Transparency builds trust and understanding.
  • Risk mitigation strategies: Proactively identify any potential risks and share this information with the client, along with proposed strategies for mitigation. Involve the client in decision making and ensure that all parties are aware of and agree to the chosen strategy.
  • Education and expectation management: Educate the client on the specific challenges posed by legacy technology. This will help manage their expectations and provide insights into why certain processes may take longer or require more resources. Adopt a mutual understanding of the constraints and opportunities presented by the existing technology. This can guide decision-making and goal setting.
  • Incremental improvements: Consider a phased or incremental approach to system improvements. Break down larger projects into smaller, more manageable tasks, allowing for steady progress and quick wins. Celebrate these wins by regularly showcasing achievements and improvements to the client, reinforcing a sense of progress even in the face of challenges.
  • Set realistic timelines: Provide clients with realistic estimates, considering potential delays or adjustments. Be sure to grow a culture of flexibility, where all parties are open to adapting timelines based on the evolving needs of the project.

Managing expectations is a nuanced skill that requires self-awareness, communication, and adaptability. By setting realistic expectations, prioritising open communication, embracing adaptability, and focusing on growth, legacy systems can be better navigated. In the process we enhance our own experiences and knowledge, and the client can make informed decisions. By recognising the unique challenges posed by legacy systems, we can make time to enhance our own learnings, and identify continuous improvement opportunities for success. Managing expectations is not about removing them but about approaching them realistically to achieve better outcomes and about having a proactive mindset to blend technical expertise with effective communication for addressing challenges and leveraging opportunities for improvement.

Would you like to start transforming your legacy systems and effectively manage expectations? Contact Us.