The Journey to Continuous Development: Quality at Every StepCarl Johanson
Can you imagine what your life would be like without technology? Forget that smartphone that you’re probably using to read this article because that’s such a ubiquitous example. Think about the Internet, television, your car, airline travel or even electricity.
When booking flights for your next vacation, you don’t think for a second about the technology required to not only build a modern jet plane but the physics involved that allow a multi-ton machine to hurtle through the air at 500-plus miles an hour. The technology is a given.
It’s the same with the other items I mentioned. Sure, there is technology involved, but the typical user doesn’t give the technology a thought because it’s just supposed to work.
Technology as table stakes
The technology that drives your business should be thought about in the same way. It’s such a basic part of how your business functions—whether you’re an e-retailer, a finance company, healthcare entity or other company—that the technology is expected to work each and every time.
The ideal state for digital transformation is continuous delivery, incremental changes to existing technology rather than big swings at new functionality. But continuous delivery should refer to more than just apps. It should refer to the entire process development process, from infrastructure and development team to hosting environment to the quality of the app or the project.
In more traditional software development, for example, many technologists consider QA an augmented function—nice to have, but not necessary. But QA should be considered a critical part of the development process because it provides the necessary checks to differentiate effective software from shoddy software. In a world where the technology itself is merely the conduit for a transaction, good enough won’t work.
Journey to continuous development
That’s why continuous development as part of digital transformation should apply to every step in the process. The best app in the world won’t deliver the results a business wants if, for example, the connection to back-office systems is faulty or if insufficient bandwidth has been apportioned for the number of continuous users.
Quality is holistic and should apply equally to QA testing, functional testing, APIs and the software itself. Each component is critical to an effective rollout.
Most companies have recognized the benefits of continuous delivery and are striving to instill it in each software development project. The cornerstone is quality. We’ve been advocating for automated testing forever, but it’s becoming more common as part of continuous development projects.
Not too long ago, the driving development mantra was to get the software out quick and let the market speak. However, if the quality wasn’t good, failure was the likely result. With continuous development, the initial product may take longer to produce, but the quality will be high and any bug fixes or upgrades take place several times a day rather than once every two weeks or once every month.
Continuous development is an idea that’s right for the technology of today—and tomorrow.