Bad Software: It'll Blow Your House Down

Bad Software: It'll Blow Your House Down
This post was published on the now-closed HuffPost Contributor platform. Contributors control their own work and posted freely to our site. If you need to flag this entry as abusive, send us an email.

In the “Three Little Pigs,” it’s the third pig’s house, made of bricks, that can finally withstand the blows of the wolf. One little guy manages to outsmart the big guy. In today’s digital age that narrative applies to the relationship between software glitches and big business - most are on the verge of blowing the house down. The spate of recent high-profile global IT failures are evidence of this systemic weaknesses.

Delta Airlines, United Airlines, Southwest Airlines, Verizon and even a local 911 system serviced by Frontier Communications in Illinois recently experienced downtime. Why? Software that didn’t do what it was supposed to do, when it was supposed to do it. It glitched and caused intense consumer frustration.

The banking industry has been particularly susceptible to these issues. Innovative technologies which promise enhanced online banking and seamless mobile payments are disrupted by systems that have gone down due to bad software. To make matters worse, modern technological advancements have resulted in more complex security threats. Innovative cyber-criminals are ready to pounce on faulty code, and businesses need to ensure they employ software applications that are fully secure and robust.

Globally, the now-infamous Bangladesh Bank SWIFT hack has highlighted the importance for organizations to cleanup their act when it comes to IT performance. Startups, who have a clean tech slate, have an advantage over legacy businesses with old, creaky systems and clunky front-ends.

The risks are magnified by many businesses being unable to detect major software flaws that fail to be discovered. Organizations require an in-depth analysis to help detect the most dangerous structural flaws in their systems. With 50 percent of security problems occurring in the software design and architecture phases of development, this is vital to ensure up-to-scratch performance.

Software: The Founding Pillar of the Digital World

As modern customers demand state-of-the-art experience and applications, digital upon digital layers add up. Software is the founding, structural pillar.

Industry leaders in banking, retail, manufacturing and health are forced to become technology companies in their own right. These are new challenges to incumbent players who have not fully modernized their business. Organizations, regardless of industry, must embrace technology or become irrelevant.

Increased digitalization brings a greater risk of system failures. Organizations still running legacy systems try to migrate over to a more agile environment because as industries digitize, it is now a question of ‘do or die’.

The Global IT Outage Problem

Recent large-scale outages, such as the one at Delta Airlines mean IT failures are a hot topic. The IT Process Institute states resolution time per system outage is around 200 minutes, and a typical large IT organization will see as many as 20,000 software related incidents per year. When critical competitive factors are on the line - customer experience, brand reputation and financial penalties - it is amazing to see the lackluster attitudes some businesses take towards software quality.

Here are the main challenges businesses must address to adapt in the digital age:

Complexity

There is a tendency to make the simple complex. Through our own analysis into the software performance of the Financial Sector, we found that banks in the U.S are running systems that are entirely unfit for the digital future. The longer the code, the greater exposure to glitches. Complex code takes twice as long to determine the root cause when a glitch or outage happens.

Outsourcing

US businesses are more likely to outsource software coding and maintenance, often to countries such as India. Whilst outsourcing has many benefits, it can often result in a loss of control. Software applications come back into the organization with different levels of quality control. One person’s idea of excellent code could be different to another’s. Regular measurement of outsourced applications sets a performance benchmark.

Legacy Tech

As businesses try to adapt to meet modern consumer expectations, they are often building new software on legacy systems. This is particularly poignant for traditional banks and insurance businesses, some even running applications on systems more than thirty years old. Coders are using mainstream and ‘old school’ technologies to support such applications, with a higher blend of COBOL, and a lower blend of modern methodologies like DevOps and Agile. Global legislatures are putting further pressure on banks to digitize. Most recently, the UK’s Competition and Markets Authority (CMA) ruling and SWIFT’s latest enforcement that banks must comply puts the onus on institutions to get their systems updated or risk getting fined. Older banks should be addressing their legacy systems sooner rather than later.

Lack of ‘Business’ Synergy

As traditional business organizations merge into technology outfits, these organizations need to be more strategic about their software landscape. IT and business teams need to buddy up to fully leverage the technology currently available. Software must be designed to meet long-term business needs, despite cost pressures demanding greater functionality and performance for less. Businesses need to know - can IT budgets be cut without impacting performance and customer satisfaction?

‘Techies’ to the Rescue

Whether you’re dealing with old, incumbent technology or creating new applications from scratch, developers should employ a three-pronged strategy to create secure, structurally sound software.

Developers and outsourcers must be motivated to write clear, simple and healthy code. There are many effective and affordable solutions on the market today that facilitate strong communication, project management and development tools. Regular quality checks must be done in near real-time as code is being written.

Once all parts of an application are integrated (UX, logic, data management, etc.), a complete analysis must be performed to check if all components are rock solid and are interacting with each other correctly. More than 90 percent of severe software glitches are rooted in architectural problems, so conducting a thorough analysis is paramount. Good bricks do not necessarily make a good building if they are not laid properly.

It takes coordination between the front and back office to be successful in digitalization. The back office must have sound structure, and the front office must support customer-facing applications (like those on mobile devices) that are secure, flexible and easy to change. These parameters must be regularly measured so they can be improved.

The challenges are ongoing, but there is an opportunity for organizations to secure a competitive advantage over their rivals by addressing software structural quality issues and building more reliable and secure technologies that translates into better customer experience.

Poor software quality, if unaddressed, will continue to let US businesses down in the digitally enabled world. It all starts with building the right foundations.

Vincent Delaroche is the CEO and founder of CAST, the leader in software analysis and measurement

Popular in the Community

Close

What's Hot