One year ago this Sunday, I predicted that the word for 2014 would be continuous – as in continuous development. I know it might be a self-fulfilling prophecy, but the word ‘continuous’ did seem to come up an awful lot in the world of software quality. I think about half of the content we put out on SearchSoftwareQuality.com in December had to do with continuous delivery and/or continuous deployment in one way or another. Keep reading for a peek at some of my favorites.
For some, the word “continuous” harkens back to the lean/Agile concept of kaizen – continuous improvement. This was certainly the draw to continuous development for Agile testing expert Gerie Owen. Owen strives to embody continuous improvement in her personal and professional lives. She recognizes that this change is really hard in enterprise organizations. She sees continuous development as a collection of methods and technologies that actively support a development team’s mission to continuously improve their applications – and themselves.
Tech journalist Crystal Bedell, on the other hand, found continuous improvement doesn’t necessarily mean hopping on the latest trends. For some teams kaizen will lead to continuous delivery or even continuous deployment. For others, the route to improvement will simply mean shifting within the existing siloes to better work together. And that’s okay according to program management experts like Johanna Rothman. “Why is the name so important?” Rothman asks, “Being effective is much more important than the name.”
I found out for myself how tough it can be for enterprise organizations to get continuous development up to speed when I spoke with a software architect at Intuit. Intuit’s no slouch when it comes to software development. Their business accounting software is running at who knows how many small and mid-sized businesses that don’t have the development team to build their own. Gil Clark, the architect I spoke with, found there were plenty of technical challenges in maintaining the infrastructure that supports continuous development. Keeping up requires a whole lot of automation and Clark took an approach known as infrastructure as code.
Gerie Owen agrees with Clark’s approach. She advices organizations that are adopting continuous development to overcome technical challenges with automation. Continuous integration, continuous testing, automated configuration management, and application performance monitoring are all important ingredients according to Owen. She also gave us some great advice on how to handle the cultural challenges of continuous development. She says that while Agile is a natural precursor to continuous development, it won’t necessarily prepare you for continuous deployment. There has to be a real and lasting culture shift within the greater development team, including programmers, operations, management, and testing. To make continuous development work, everyone has to be on the same team and collaborating well.