Once in a while, we like to sit down with our SA's and pick their brains about the development space in which they operate. We decided that those conversations are much more effective with the addition of coffee, so grab a cup and enjoy this entry in our series of "Dev9 SA Coffee Talks"
The Solutions Architect chosen for this first series of coffee interviews is Gabe Hicks, a solutions architect at Dev9. Gabe has been with Dev9 since the company’s inception. Currently he is working on a project at our corporate office.
We sat down at Starbucks. Gabe ordered a cappuccino and I went with an Americano. We opened our conversation by simply discussing, rather broadly, how companies benefit from continuous delivery. He paused thoughtfully for a few moments, and took a sip of his coffee. “Continuous delivery reduces the number of obstacles that surface during the development process,” Gabe said. “It’s about automation and breaking down traditional barriers. It’s about making deployment the most important piece of the development lifecycle.”
"Removing obstacles is really the core concept behind continuous delivery," He continued. "During development every obstacle must be dealt with or circumvented. The longer this process takes, the more expensive and frustrating a project becomes." Continuous Delivery establishes processes and practices that help to prevent some problems from occurring at all, and allows for quick identification and resolution of those that do occur.
As you would expect, our discussion inevitably shifted to the topic of automation.
“Developers love automation,” Gabe said matter-of-factly. ”It removes their fear of deployments. They know their code has been tested, and that if something isn’t right, they have the ability to react and redeploy quickly. Products don’t fail in the eleventh hour, and you get to produce good work in a manner that lets you go home and not be a ball of unhappiness.” We laughed.
Automated testing allows for developers to produce more code, with better testing coverage, than manual testing could ever allow for. This means that there are fewer bugs that make it into the build, and everyone loves that. Coupling automated deployment processes with automated testing allows for rapid development and deployment while minimizing downtime.
“Automation has not always been encouraged,” said Gabe as we headed out of 'our' Starbucks. “When I first started (developing), no one asked you to do any automation. Continuous delivery says to automate at every level, all the way through. It produces much higher quality (code).”
Keep an eye out here on our blog for further CD Interview transcripts!