In today’s increasingly digitalised world, the effect of a software glitch can be dramatic. Take an example from July this year when a glitch caused the stock prices of well-known Nasdaq companies such as Amazon, Apple, Alphabet, eBay and Microsoft to be inaccurately listed on websites well after that day’s closing bell.
Even though the actual prices of the stocks were unchanged, the sites showed some had plummeted in price and others had nearly doubled. Unsurprisingly, many people were fooled and took to social media to discuss the false listings, dragging company names into a controversy over something that had never happened.
Software glitches happen every day. Recent research by Tricentis revealed that software failures in the US cost the economy $1.1 trillion in assets in 2016. In total, software failures at 363 companies affected 4.4 billion customers and caused more than three and a half years of lost time.
Ever decreasing development cycles
Software releases are the single biggest factor contributing to downtime (and glitches) across all industries. With organisations being relentlessly forced into a tradeoff between agility and risk, many of the quality checks and governance balances put in place to prevent glitches are coming under severe pressure.
With the move to more agile methodologies, long software development lifecycles are becoming a thing of the past. Timelines are frequently measured in weeks or days and projects are often in a perpetual state of release and testing. Frequently, the next version of the code is ready for testing and staging when teams are deploying the last version to production.
Developing for mobile applications is another factor driving relentless development cycles. For example, customer-facing applications may suddenly need to access a new location service or require a location service to connect them to other users. The difference between a mobile app being adopted or ignored can be down to whether it has the ability to rapidly adapt to new features. And with mobile projects targeting multiple mobile platforms simultaneously, it can be very difficult to finalise the point where a mobile app can stop responding to changes in a platform.
Timelines are also shortened because cloud computing and DevOps infrastructure-as-a-code approaches can radically reduce the set-up time for infrastructure and the effort required to configure it. Code can ship as soon as it is ready to go.
The trend away from quality assurance to quality engineering is also blurring the relationship between application development and the teams that focus on testing and certifying the software is ready for release to production. Quality engineers are often embedded with application developers so the acceptance testing begins in the first continuous integration build.
What can be done?
Short of developing a software system that requires no changes at all – an impossibility – businesses need to consider other ways to try and reduce the potential for glitches emerging at a later date and causing disruption (as well as embarrassment).
Adopting a streamlined approach utilising predictable, high-quality, automated enterprise software delivery would help cut down delivery delays and glitches. And by implementing end to end release management, organisations can manage software delivery across the entire enterprise release portfolio and throughout the complete lifecycle of each release, including planning, approval and execution.
Another integral part of the process is testing. Modern enterprise test management tools can support the complete software testing process across all types of development methodologies. They can use a single instance for all projects by consolidating testing design, planning, manual and automated execution, defect tracking and progress reporting.
Matching development and delivery
By implementing enterprise release management technology, organisations can enable existing systems to support the adaptive environment that more accelerated methodologies are creating in many Global 1000 companies. Enterprise release management tools can accelerate delivery and maintain the integrity of the software and stability without compromising the speed of production. With an enterprise release management platform, companies can scale to meet their exponentially increasing release demands.
The software development cycle is becoming increasingly agile, but for many organisations the delivery management process is struggling to achieve the continuous delivery approach that is required. Modern enterprise release management technology can help businesses to better match development to delivery. Unless enterprises take steps to try and align the two more effectively, the risk of software glitches and downtime could well increase.