What was your most consistent complaint of 2022? Did you have some specific work complaints? Were applications slow to load? Did you grumble at the 3:00 AM notifications when backups failed? What about all those Zoom meetings?
Pointing out behaviors or circumstances to effect change can lead to innovative solutions when analyzed and addressed. However, problems with no solutions can lead to a toxic environment for everyone involved. Continuously negative thoughts in the workplace—or any area of our lives—may even damage the hippocampus, a part of the brain that helps with problem-solving and cognition.
If you spent much of 2022 grumbling about legacy code and outdated systems, 2023 should be the year to modernize. According to Harvard Business Review (HBR), organizations hold on to old solutions because of cost, resource consumption, and risk. They only consider modernizing applications when the software no longer meets business needs.
However, building organizational resilience has become a mission-critical objective for many businesses. Over the last three years,they’ve learned that a lack of elasticity in operations can impact the bottom line. CEOs are looking for more than a strong ROI on their technology investments. They want resilience to be part of the equation.
Old code lacks the flexibility to rebound from disruptions quickly. It doesn’t integrate well with the technology needed to build an agile infrastructure. McKinsey reports that businesses exhibiting healthy, resilient behaviors were less likely to file for bankruptcy within two years of a disruption than their less resilient peers.
Given software’s essential role in business operations, organizational resilience cannot exist without software resilience. So, how can organizations ensure their software is resilient?
What Do We Mean By Resilience?
Resiliency is the ability to recover quickly from disruptions. Usually, it’s a single event, such as a natural disaster or a power outage. Organizations with a disaster recovery (DR) plan can survive one disruption — maybe two. But bouncing back from the multiple disruptions of 2020 through 2022 required more than a DR plan. It required a culture with the elasticity to shape its future.
According to McKinsey, resilient organizations share the following characteristics:
- a systems mindset
- an agile infrastructure
- psychological safety
- adaptable leadership
- cohesive culture
These characteristics are leveraged to integrate new technologies, prioritize employee engagement, and deliver superior customer experiences while remaining agile enough to respond to disruptions.
Achieving this level of resilience requires resilient software. Bouncing back is hard when systems are down or can’t be adapted to meet new requirements. Modernizing applications can remove the irritants that make employees grumble and enable organizations to rebound from multiple disruptions that co-occur.
What is Software Resilience?
In a perfect world, there would be perfect software. Architects would design systems that never failed. Programmers would write error-free code. Although perfection may be the goal, software does fail, so designers and developers need to create resilient code — code that contains fail-safes to eliminate operational disruption.
This resilience is critical for modernized applications that use microservices. The distributed design can result in cascading failures if not handled appropriately. A circuit breaker design automatically cuts connections to error-reporting communications. It will recheck the link at set intervals to determine if the problem was resolved. Backpressure can help throttle requests to protect against system overload. Converting batch processing to streaming data can stabilize throughput.
While these practices are designed to reduce failures, they also lower costs and improve the return on investment that organizations are looking for as they modernize their infrastructure. More importantly, they support the system mindset and agile infrastructure that is essential to organizational resilience.
Application Modernization’s ROI
Organizations rarely begin modernization because of workplace mumblings and grumblings. Instead, they wait until the legacy application makes it impossible for the company to meet its business objectives. Then, they make decisions that may lead to more technical debt because the focus is not on building an agile infrastructure but on fast delivery.
Accumulating technical debt adds to the cost of maintaining an aging system. Licensing fees can become cost prohibitive as the system extends beyond its end of life. Depending on the system’s age, organizations may lack the expertise to work with the system and must look to outside consultants for assistance.
Of greater significance is the inability to adapt quickly to market changes. Even then, the resulting software will lack resilience because the interface between old and new technology is never seamless. How much does a business lose waiting to find someone who can kludge together a solution?
Modernization can lower operating costs by saving time, increasing productivity, and reducing lead times. It can also improve a system’s ability to adapt to sudden changes.
As systems age, so do the people who maintain them. When problems occur, fewer individuals are available to address the problem, increasing the time a system may be down. In contrast, more professionals are comfortable working with modern systems, enabling them to identify and correct problems faster for less downtime.
When IT spends less time maintaining code, they have more time to innovate. Features that have sat for months can be delivered. IT departments can focus on building a more resilient system.
IT personnel like to work on the latest technology. They often feel like they are running in place — fixing the same pieces of code over and over again. When they are stuck working on legacy systems, they can become discouraged. Often, discouraged employees become disgruntled and feed low employee moral, or worse, a toxic work environment.
Modernization, on the other hand, helps build psychological safety — a characteristic of McKinsey’s resilient organization. When employees feel heard and see their concerns addressed, they begin to feel safe in identifying problems and collaborating to fix them. They become more productive as the source of their complaint disappears. In unsafe environments, employees hide problems, making resiliency impossible to achieve.
Reducing Lead Time
Modernization enables a more agile environment for faster software delivery. With a flexible architecture using microservices and containers, development teams can address problems and deliver solutions quickly. They do not have to work with monolithic code, where a single change results in lengthy test cycles.
Modern technologies also rely on tools to expedite software delivery. Tools help teams standardize processes for more reliable performance. Established methods used consistently minimize errors that can result in downtime. A system mindset is another component of a resilient organization that modernization supports.
The ROI of Resilience
Looking back over the last few years, most companies can determine what their lack of resiliency cost. It’s reflected in their financial statements and in their annual reports. For businesses, it’s a rare opportunity to quantify the unquantifiable.
Many organizations were equipped to handle a single disruption, but few were prepared to respond over and over again. They had disaster recovery plans in place to keep them operational for a few weeks, maybe a month. No one had a business continuity plan that covered years.
Before 2020, businesses focused on digital transformation, agility, and efficiency. They wanted to know technology’s ROI. CEOs were looking for numbers to justify cloud migration or modernizing a working legacy system. Businesses worked to meet customer expectations as efficiently as possible.
The Problem of Downtime
The biggest obstacle to efficient operations is downtime. It’s impossible to meet customer expectations when systems are down. According to a 2022 report, between 70% and 80% of data centers reported at least one outage in the last three years. Although the number of outages has remained steady, the cost of downtime has increased. In 2019, only 39% of downtime cost a company more than $100,00. In 2022, 60% of performance failures exceeded $100,000.
The 2022 survey found networking problems accounted for most outages; however, software issues are increasing. Many software issues result from system complexities found in hybrid, distributed systems. In other words, production systems that involved on-premise, legacy systems experienced more downtime.
The Struggle for Resiliency
Despite all efforts, organizations still struggle with resiliency. They can’t control external forces such as power outages or natural disasters; however, they can improve their organization’s ability to rebound by implementing more resilient systems.
Application modernization contributes to system resilience by eliminating fragile legacy code. It minimizes the risk of system failures through microservices that isolate functionality for better control. Using basic resilience methods, modern applications can reduce the occurrence of catastrophic system failures and improve the application’s ROI.
Start the Journey Toward Becoming a Resilient Organization
A resilient organization has a culture that listens to employee complaints about system performance and addresses them. They create a psychologically safe environment where people fix problems rather than hide them. The right platform offers IT departments modernization tools to encourage a system mindset.
While CEOs will continue to want quantifiable ROIs for technology investments, they will consider modernization’s contribution to resilience. That’s why today’s modernization efforts must include their impact on resiliency. Incorporating modernization tools can improve the ROI of resilience. These tools can make the modernization process faster and cause it to incur fewer errors. vFunction’s Assessment and Modernization Hub provides development teams with the information they need to determine the scope of their work and to automate the modernization of Java-based applications. Contact us for a demo to see how we can help your company lower costs and increase ROI through resilience.