Software teams are not unlike a symphony orchestra. Every skilled musician is an expert with his or her instrument, but they need to work in sync and harmony with the entire group of players. How is it possible that 200 or more individuals know to start together, stay in tempo, remain in tune with each other, and shape the overall sound of the music? The answer is the conductor: the person who unites the orchestra and leads all the moving musical parts.
This orchestra analogy comes from Tim Buntel, vice president of product at XebiaLabs, who said that without an overall release automation tool, companies might find themselves like an orchestra without a conductor. Too many moving parts driving the process can become chaotic, and it is the release automation tool that gives software teams visibility into all of the pieces of the software development life cycle.
(Related: Test automation is increasing)
“Without that insight and intelligence, teams can’t fully understand how each part affects and interacts with others, which makes it difficult to ‘tune’ them,” said Buntel.
As more companies automate various stages of the software development life cycle, businesses will be able to reap the benefits of speed, quality and stability. Release automation initially referred to the many steps involved in deploying and automating an application, said Buntel. But now he sees the term evolving to “encompass automation of the entire release pipeline, from the time a change ticket is created, until the change is delivered as business value to a user, and even beyond,” he said.
Companies can also look at release automation as “the last mile in the agile problem,” as Tracy Ragan, COO and cofounder of OpenMake Software, sees it. She said the promise of agile is to get software up to the production state at higher velocity with better quality, and “release automation is attempting to be a DevOps solution that spans and allows developers a way to lift their code over that infamous wall.”
Software teams should keep in mind that tool sets are not a silver bullet; it takes the right people, the right solutions and a large dose of culture change to achieve automation across the development life cycle. The tools are critical for embracing Continuous Delivery, but companies need to make sure they are breaking down other organizational barriers if they want to achieve full-on agile from their digital transformation.
Breaking down the data center barriers
The barriers that companies run into when getting started with an ARA (application release automation) tool tends to be cultural, but some of the problems come from the way software is acquired by developers and data centers, said Ragan.
Here’s the problem: When data centers purchase an ARA solution, they still look toward legacy purchases, which are risky and heavy, said Ragan. On one side, you have legacy purchases, and on the other side, there are developers using open-source tools or the Jenkins platform. These teams still need an ARA solution, but they do not have the budget for a legacy purchase like the data center, she said.
This causes a clear gap between both sides of the house, according to Ragan, where the developers will continue to do what they want, write their scripts, then hand them to the production side, who do their best to help the production teams with deployment.
“The goal of ARA is to fix those problems, but many competitors create that barrier by the technology itself, being one that has to be installed on every end target,” said Ragan. “The developers aren’t pushing it; the developers are being pushed down but they have already written their continuous scripts.”
According to Ragan, this is the first big challenge that needs addressing: buying one solution to meet everyone’s requirements. Other challenges include data centers purchasing legacy software, which is a one-solution approach that is not adopted well by developers. She also mentioned that simplifying these moving parts is key, especially when it comes to agent scripts, which do not provide the visibility and flexibility needed to manage all the pieces.
“It’s like a giant Rubik’s Cube times 10, and ARA solutions are intended to explore how that Rubik’s Cube is put together instead of having it hidden on a piece of paper that hides in someone’s pocket,” said Ragan.
ARA is intended to make the process of Continuous Delivery a reality, but this requires both the development and operations teams to make some changes, she said. Technology doesn’t always solve cultural problems, but this is one bottleneck that should be discussed, she said. Finding one tool that works for everyone will keep the data center from buying legacy products, and they will be more willing to adopt agile practices and go that last mile, she said.
“Ops is going to have to learn to accept those changes, and developers are going to have to help the data center market those changes,” said Ragan. “And one way of doing that is through building out ARA into the Continuous Delivery pipeline.”
Addressing Continuous Testing
The three major steps—Continuous Integration, Testing and Deployment (or Delivery)—require levels of automation, and all three need to be tied together into one automated sequence, said Wolfgang Platz, founder and Chief Product Officer of Tricentis.
Since the whole chain from code to customer needs to be automated, there needs to be two models of automation: internal automation that covers testing, and external automation that covers the full process from code to customer again, said Platz.
Of all three steps, he said that while Continuous Integration can be pretty easy for companies to address, Continuous Testing is the real struggle. The reason? Usually companies set up brittle automated tests through UI tests. This means they go through user interfaces and automate them, failing to take care of test infrastructure provisioning and test management, he said.
This is why teams run into false positives, where a test case fails even though there was no bug or functional failure. False positives appear because test data is wrong or because the code’s functionality has changed, said Platz. Or, teams will see false positives because the infrastructure was not set up the way the team wanted it. These add up to one “major challenge that dramatically reduces the reliability of Continuous Testing,” he said.
Platz said he frequently sees companies suffer from false positives. Sometimes he sees companies with so many false positives and poor test automation quality that they cannot trust the results of Continuous Testing because they have too many brittle UI tests.
“A lot of people are moving into Continuous Testing, but they are all suffering from the same [issues]: Test automation is too brittle, it costs way too much, it breaks, and it leads to a lot of alerts that shouldn’t be there,” said Platz. “That is the core problem of release automation.”
Improving the DevOps culture
There of course is no set way of getting started with release automation, but Todd DeLaughter, CEO of Automic (which was acquired by CA Technologies), said companies can start by looking at their objectives and what practical steps they should take. Part of the ARA journey is the tool selection, but the methodology change has to come first, he said.
Aruna Ravichandran, author of “DevOps for Digital Leaders” and global DevOps expert at CA Technologies, added that when companies get started with ARA, they often already understand the problem.
Companies will only get a small amount of agility if they just embrace agile; if they want to go full-on agile, Continuous Delivery and Deployment becomes a very important part of the equation, said Ravichandran.
“As long as they have end-to-end Continuous Delivery, the right tool sets with the right set of practices, with integration in terms of automating the entire portfolio, then they will truly achieve the holy nirvana in terms of bringing applications to market very quickly,” she said.
For most companies, it’s no longer a question of “Should we change the way we deliver value with software?” but when and in what sequence, said XebiaLabs’ Buntel. Continuous Delivery improves efficiency, effectiveness, and the quality of the software and the entire business, he said. It is crucial that companies realize this if they want to avoid becoming obsolete.
This cultural transformation is arguably the most important part of DevOps, which is focused on the people, processes, and technology, said Ravichandran. She said culture needs to change before anything else; tools are simply the enablers of automation success.
Ravichandran said when CA talks to companies about getting started with an ARA solution, they don’t start with the tool set. First, CA helps them look at their goals. Then they figure out where they are in terms of their road map. Then they try to embrace DevOps principles in one particular product or application.
Companies should start the ARA process with a business-critical application, instead of trying to “boil an ocean,” said DeLaughter. Doing this allows the team to build around transformation, let it catch momentum, and use that to demonstrate the success of automation to the rest of the organization, he said.
One tool to rule them all
Once companies address their organizational changes and adjust to an agile mindset, they can begin to take steps toward adopting the right release automation tool for their business. The process of picking a tool can vary depending on the size of the company, but in many cases, the conversation starts at the bottom with a developer or release engineer until it works its way up the business ladder, said OpenMake’s Ragan.
ARA tools are required to “deliver the efficiency gains, scalability, operations controls, and process intelligence from agile, DevOps, and Continuous Delivery implementations,” said XebiaLabs’ Buntel.
The right tool will be flexible to give development teams freedom. But it should still offer enough control for organizations to scale their solutions throughout the enterprise, he said. It should also fit into the technical team’s work style, but have an approachable UI for those less technical teams, he said.
“CIOs and architects should also consider the always-evolving technology landscape, whether their future involves containers, microservices, serverless architecture, or not-yet-invented technologies, and should select an ARA solution that is easy to extend and integrate,” said Buntel.
Tricentis’ Platz highlighted Jenkins as a prominent tool in the marketplace, especially on the Continuous Integration side of the SDLC. He said Git also is a frequent choice. When it comes to the deployment side, he says they see more emphasis on Docker, with Puppet and Chef used as well.
Whatever the company decides is best for them, Platz would reiterate
one thing: Make sure automation is not an isolated task. If the tool does not work with test management or virtualizations, the company will fail.
What should companies consider before selecting a release automation tool?
Aruna Ravichandran, Vice president of DevOps solution marketing and management at CA Technologies: Release automation is the backbone of Continuous Delivery, and your chosen solution needs to deliver in five critical areas:
- Standardized automation of the entire tool chain: Tools that support only part of the application delivery tool chain reinforce silos and limit productivity.
- Environment modeling and management: ARA solutions must be able to maintain and manage not only what is deployed but where it is deployed.
- Release planning and orchestration: Organizations need a platform to manage and coordinate hundreds of complex release pipelines. This platform should abstract the release artifacts (the what) from the deployment logic (the how) and the environments (the where) to provide a consistent, repeatable and auditable push-button release process.
- Customizable content—depth and breadth of integrations: The ideal ARA solution provides a complete, single-vendor tool chain with the option of using out-of-the-box integrations for specific tasks. This speeds up time-to-value, while providing flexibility and choice.
- Vendor expertise: While the benefits of ARA solutions are huge, Continuous Delivery depends on a transformation in culture, processes and tools across the organization. You need a trusted advisor with a solid track record. Ensure your vendor can help speed up adoption and achieve the expected results.
Tim Buntel, vice president of product at XebiaLabs: We’ve touched on many aspects of a great release automation tool in the previous questions. Tools should be easy to use and scale, flexible to support dual-mode use (code-centric and visual/GUI centric), extensible, and able to present data in meaningful ways (such as with customizable dashboards and reports).
But it’s worthwhile to also consider the vendor behind the tool. Is the tool built by a company that really understands DevOps and is focused 100% on it? Is the tool built specifically for release automation and CD, not just a generic solution that’s been rebranded to capitalize on the latest buzzwords? And is the vendor accessible? Do you want to rely on a giant corporation with dozens of other business priorities? Or do you want a great partner with you as you embark on your DevOps journey, giving you personal support and guidance along the way?
Wolfgang Platz, founder and chief product officer of Tricentis: I’ve seen countless companies start release automation initiatives with all the best intentions, but soon find that their traditional testing process holds them back from achieving their objectives. Software testing is still dominated by yesterday’s tools and processes, which don’t meet the needs of today’s accelerated development processes. Continuous Testing is absolutely necessary, but it’s the hardest of the “Continuous”es: Continuous Integration, Continuous Testing and Continuous Delivery. Continuous Integration and Continuous Delivery can largely be addressed by tooling; Continuous Testing requires both tooling and a process transformation. For true Continuous Testing, you can’t simply take a fundamentally manual quality process and add some automation. You need to ensure that you’ve got the optimal set of tests in terms of business risk, that your tests are stable even with frequently evolving applications, and that they deliver immediate risk-based feedback that a business user can understand and trust.
I strongly recommend that anyone with a release automation initiative consider whether their testing process is truly up to the task. You need to consider not only if Continuous Testing can be integrated into the software delivery pipeline, but also if it gives you immediate feedback on whether each release candidate has an acceptable level of business risk. This insight is essential for establishing automated quality gates and making smart release decisions.
Tracy Ragan, CEO and cofounder of OpenMake Software: The most important consideration for selecting an ARA solution is how well it fits into agile practices. DeployHub from OpenMake Software is the first ARA solution to address the “last mile of agile” by removing the overhead of agents that must be added to every deployment environment and by eliminating the added work that is imposed on developers by traditional approaches.
Traditional release automation solutions are built for stability, not agile. Different deployment practices between Dev and Ops create a burden that blocks frequent deployments. DeployHub supports agile by encouraging early collaboration and the sharing of deployment responsibilities across the pipeline, making the barriers and added work of traditional waterfall approaches disappear.
DeployHub balances the responsibility between teams, allowing each to control their realm, while collaborating and sharing knowledge across the pipeline and unblocking the flow of code changes into production, thereby eliminating waterfall habits and facilitating the practice where everyone is a part of the agile team. DeployHub integrates with Jenkins and the CloudBees platform and is offered as open source on GitHub, with an upgrade that features role-based security, auditing, release train management and planning. A cloud-based “hosted” version will be released in June.
A guide to release automation tools
Appvance: The Appvance Unified Test Platform (UTP) is designed to make Continuous Delivery and DevOps faster, cheaper and better. As the first unified test automation platform, you can create tests, build scenarios, run tests and analyze results, in 24 languages or even codeless. In addition, Appvance UTP allows users to work with their existing tools, write once, and automate unit, functional, performance and security tests.
Atlassian: Atlassian products provide the collaborative framework that accelerates delivery pipelines and amplifies feedback. Teams have full visibility into their delivery pipeline thanks to JIRA Software, Bitbucket and Bamboo. Teams monitor operations via StatusPage, HipChat integrations and JIRA Service Desk, then collect and organize that input in Confluence to build a shared understanding of customers’ pain points.
Automic: The Automic Release Automation V12 solution is the most flexible product on the market and is environment-agnostic, making it singularly positioned to help transform customers on as they embark on their DevOps journeys. Automic bridges the DevOps gap by providing agility and speed to traditional application delivery and reliability, compliance and scale to digital applications. Automic was recently acquired by CA Technologies.
CA BlazeMeter: Formerly BlazeMeter, the company was recently acquired by CA Technologies. CA BlazeMeter is a developer-friendly Continuous Testing solution suitable for managing performance across the entire application life cycle. It enables development teams to run open-source functional and performance tests earlier and more often for web and mobile apps, backend APIs and microservices. CA BlazeMeter is fully compatible with Apache JMeter and eight other open-source tools like Selenium.
CA Technologies: CA Release Automation is designed to deploy, manage and orchestrate multiple concurrent releases on platforms, from mobile to mainframe. With more than 100 extensions for third-party products, CA Release Automation is a core component of CA’s open and fully integrated Continuous Delivery ecosystem, and forms the backbone to continuous “everything”—development, testing, to release. The product has a proven track record in complex enterprises, including ING, GM Financial, Molina, and Citrix.
Chef: Chef Automate provides enterprise capabilities, including its Continuous Deployment pipeline for infrastructure and applications, as well as dashboards and reports for troubleshooting and management. Teams can also make faster deployment decisions and achieve safety and velocity with Chef Automate.
CloudBees: CloudBees is the hub of enterprise Jenkins and DevOps, providing companies with smarter solutions for automating software development and delivery. CloudBees starts with Jenkins, and adds enterprise-grade security, scalability, manageability and expert-level support. By making the software delivery process more productive, manageable and hassle-free, CloudBees puts companies on the fastest path to transforming ideas into software and returning value to the business more quickly.
CollabNet: CollabNet helps organizations develop and deliver high-quality software at speed and is an innovator of intelligent DevOps solutions. CollabNet’s product portfolio includes an application release automation solution called Clarive, which breaks down release and deployment to the fine level of granularity that is required to achieve repeatable automation results. Clarive supports the bimodal enterprise, and gives organizations strong analytic capabilities to support decision making.
Dynatrace: Dynatrace offers products to help DevOps teams make more successful deployments by identifying bad code changes early and providing collaboration features to communicate success and failures between business and engineering. Dynatrace Application Monitoring automatically detects problems in production, traces end-to-end transactions, identifies end-user impact, provides code-level visibility for root-cause diagnostics, eliminates false alarms, and can be automated into the Continuous Delivery processes to stop bad builds early in the delivery pipeline. Dynatrace User Experience Management monitors end users and all their interactions on their devices. It provides crash reports for mobile native apps, user behavior analysis, and root-cause analysis when bad user experience impacts behavior.
Electric Cloud: ElectricFlow helps organizations developing enterprise web/IT, mobile and embedded systems applications deliver better software faster by automating and accelerating build, deployment and release processes at scale while providing a scalable, auditable, predictable, and high-performance pathway to production.
IBM: IBM Bluemix provides the easiest, fastest onramp for any developer to create next-generation apps for the enterprise with IBM Cloud. Bluemix currently offers more than 140 services and APIs—including advanced tools in cognitive, blockchain, Internet of Things, analytics and more—to design next-era, competitive apps that use data in new ways.
JetBrains: TeamCity is a Continuous Integration and Delivery server from JetBrains. It takes moments to set up, shows build results on the fly, and works out of the box. TeamCity will make sure software gets built, tested and deployed, and will notify users of that in the way they choose. TeamCity integrates with all major development frameworks, version-control systems, issue trackers, IDEs, and cloud services, providing teams with an exceptional experience of a well-built intelligent tool.
Microsoft: Visual Studio Team Services, Microsoft’s cloud-hosted DevOps service, offers Git repositories; agile planning; build automation for Windows, Linux and Mac; cloud load testing; Continuous Integration and Continuous Delivery to Windows, Linux and Microsoft Azure; application analytics; and integration with third-party DevOps tools. Visual Studio Team Services supports any development language and is the hosted SaaS service of Team Foundation Server.
OpenMake Software: OpenMake products are the first DevOps solutions to address the “last mile” of agile. By pulling production into the agile conversation, they magnify the continuous feedback loop across the Continuous Delivery pipeline. DeployHub unblocks the flow of code changes to production by eliminating the added work that traditional deployment approaches impose on developers and data centers teams. Meister accelerates software compiles supporting faster Continuous Integration cycles. DeployHub is an open-source project hosted on GitHub.
Serena Software: Serena provides secure, collaborative and process-based solutions in support of the entire DevOps tool chain. Dimensions RM improves the definition, management and reuse of requirements, increasing visibility and collaboration across stakeholders. Dimensions CM simplifies collaborative parallel development, improving team velocity, agility and assuring release readiness. And Deployment Automation enables deployment pipeline automation, reducing cycle time and supporting rapid delivery. Release Control manages application artifacts through the entire DevOps life cycle.
Tasktop: Tasktop integrates the tools that software delivery teams use to build great software. Tasktop Sync provides fully automated, enterprise-grade synchronization among the disparate life-cycle-management tools used in software development and delivery organizations. This enhances efficiency, visibility and traceability across the entire software development and delivery life cycle. Tasktop Data collects real-time data from these tools, creating a database of cross-tool life-cycle data and providing unparalleled insight into the health of the project.
Tricentis: Tricentis is recognized by both Forrester and Gartner as a leader in software test automation, functional testing, and Continuous Testing. By enabling test automation rates of more than 90%, we help Global 2000 companies control business risk as they adopt DevOps, agile, and Continuous Delivery. Tricentis’ integrated software testing solution, Tricentis Tosca, provides a unique Model-based Test Automation and Test Case Design approach to functional test automation—encompassing risk-based testing, test data management and provisioning, service virtualization, API testing, and more. Tricentis’ 400+ customers include global names from the Top 500 brands such as A&E, Allianz, BMW, Deutsche Bank, HBO, Lexmark, Orange, Starbucks, Toyota, UBS, Vantiv, Vodafone, and Zurich Insurance.
XebiaLabs: XebiaLabs’ enterprise-scale Continuous Delivery and DevOps software provides companies with the visibility, automation and control they need to deliver software better, faster and with less risk. Global market leaders rely on XebiaLabs’ software to meet the increasing demand for accelerated and more-reliable software releases. For more information, please visit www.xebialabs.com.