Regular testing is the key to better software

The key to better software
(Image credit: Pexels)

Once only adopted by cutting-edge software teams, agile is now a mainstream approach used by app development teams across a range of businesses, whether in healthcare, manufacturing or engineering, to make their processes more effective.

But adopting agile processes is only part of delivering software faster. When it comes to improving how an organization uses software to innovate its business, merely installing a new tool such as Kubernetes to streamline operations will not bring about dramatic change if businesses are not addressing how they think about software creation and delivery.

Currently, many projects are designed like a waterfall: software features are specified up front, developers write the code, and the app is released to users. These activities flow forward, one after the other, often to the detriment of the project.

Sticking too rigidly to the process means developers will continue down the same path until the endpoint, when they often find endemic software issues that could have been avoided earlier on by wider and more frequent testing. Luckily, there newer software development practices and tools that help you avoid falling down the waterfall. One of the most important among these are continuous integration (CI) and continuous delivery (CD). As we'll see, a critical tool modernizing your software supply chain.

What are CI and CD?

These are the collection of tools, processes, and policies that allow your app development teams to quickly code, build, test, and deploy new features on a weekly, if not daily basis. Deploying this frequently is key to putting the feedback loop in place needed to start using software as your organization's primarily innovating tool. A recent survey found that 46% of high performing organizations in EMEA (those with revenue growth of 15% or more) credit CI/CD with helping their transformation.

And yet, historically, organizations have been slow to adopt CI/CD. Progress has been made but adoption of CI/CD is still low, with this year's State of Agile survey putting CI at 55% and CD still only at 36%. These numbers have remained steady for many years now, showing that CI/CD adoption is stagnant.

Putting CI/CD in place is vital for the entire pursuit of digital transformation with software – but with business uptake still down, let’s explore what teams need to do to successfully adopt these processes.

Rewriting testing into your strategy

Fast feedback and having a tight focus on requirements even as they change is crucial to success when using agile in projects. This is where CI/CD can provide huge value to software project teams, helping to regularly test and integrate solutions to incorporate changes as they are made. However, the nature of this process also means starting to use CI/CD for the first time can be time consuming and may require an entire rethink of how software teams work.

While traditional teams perform a good amount of testing at the end of a project, typically this takes place just before deployment. This pushes out software verification late in the process, right where you can smell the long weekends of meeting your deadline.

Without ample testing in place from the beginning, it's first difficult to actually do CI. At its core, CI automates running unit tests, checking for code use compliance, and ensuring that all of your code works together (the "integration") part. If the tests are facile, the value of doing CI is negated.

Preparing production for day-to-day deployment

Finally, software teams introducing CI/CD must prepare their production environments to handle weekly, if not daily deployments. Failure to do so will block the benefits that the technologies can provide, as the purpose of CI/CD is to deliver frequently, in a series of shorter cycles that allow you to learn and adapt as you go along. Your approach to software becomes agile, not locked into 12 month old requirements and plans that are no longer helpful, or even realistic.

Working together, CI and CD mean that each phase in development does not operate in silos but can be adapted as they go along. This in turns helps adopt a closer understanding of customers and how to do business with them.

Test (and test again) for a streamlined outcome.

Without continual and rapid testing of code, developing quality software that's actually useful from start to finish is significantly more difficult. Having these processes ongoing and automated will not only reduce time and costs but help to optimize software as it’s being developed. The ability to deliver software frequently is key to using software to improve your business.

So, if you're not doing CI/CD already, making the time and getting the resources it takes to implement CI/CD sooner rather than later will pay huge dividends in the long term when it comes to spotting and fixing problems.

Michael Coté

Michael is Staff Technologist at VMware and works in technical marketing. He’s been an industry analyst at 451 Research and RedMonk, worked in corporate strategy and M&A at Dell in software and cloud, and was a programmer for a decade before all that. He blogs and podcasts at Cote.io and is @cote in Twitter.

Latest in Pro
Finger Presses Orange Button Domain Name Registration on Black Keyboard Background. Closeup View
I visited the world’s first registered .com domain – and you won’t believe what it’s offering today
Racks of servers inside a data center.
Modernizing data centers: an efficient path forward
Dr. Peter Zhou, President of Huawei Data Storage Product Line
Why AI commonization is so important for business intelligent transformation and what Huawei’s data storage has to offer
Wix automation
The world's leading website builder aims to save businesses time with new tool
Data Breach
Thousands of healthcare records exposed online, including private patient information
China
Juniper patches security flaws which could have let hackers take over your router
Latest in News
Apple iPhone 16 Pro HANDS ON
Leaked iPhone 17 dummy units may have given us our best look yet at all four models
A super close up image of the Google Gemini app in the Play Store
It's official: Google Assistant will be retired for phones this year, with Gemini taking over
Quordle on a smartphone held in a hand
Quordle hints and answers for Sunday, March 16 (game #1147)
NYT Strands homescreen on a mobile phone screen, on a light blue background
NYT Strands hints and answers for Sunday, March 16 (game #378)
NYT Connections homescreen on a phone, on a purple background
NYT Connections hints and answers for Sunday, March 16 (game #644)
Three iPhone 16 handsets on show
Apple could launch an iPhone 17 Ultra this year – but we've heard these rumors before