Todd is the CEO of Automic Software, owned by CA Technologies (NASDAQ: CA,) with 25+ years’ leadership experience in software technology.
The app economy is seriously booming. According to market intelligence company App Annie, the range of economic activity surrounding mobile applications will be worth $6.3 trillion globally by 2021 — nearly five times the total a year ago.
Mobile’s emergence as one of the century’s biggest mega-trends has given rise to a new software development ethos meant to ensure that organizations can deliver new, high-quality code to customers as quickly as possible. This new paradigm emphasizes two core attributes — agility, which is the ability to develop software iteratively and adapt quickly as changes occur; and the automation of manual, repeatable steps.
To incorporate these qualities into their processes and culture, many companies are relying on DevOps — the breaking down of silos between development and operations — to promote continuous delivery and get new features, configuration changes and bug fixes into the hands of users rapidly and reliably. That’s the vision anyway. Unfortunately, in day-to-day life at many organizations, the continuous delivery pipeline doesn’t operate very continuously.
In those situations, the app is shuttled around a vast toolchain, the management of which is untenable and leads to confusion, delays and mistakes. Silos form and teams on the same project drift apart rather than closer together, using increasingly diverse tools and approaches. Bottlenecks gum up the works — for example, testing processes that are time-consuming and resource-intensive to create, provision and maintain. Pity an organization that finds itself in that state. They threaten to lose or never gain the nimbleness that has become one of the businesses’ most critical competitive advantages. Such a company cannot be a player in the app economy.
You should think of the continuous delivery pipeline like a factory, with many specialized and distinct roles that must work together smoothly to produce the final product. Development and design come first. Then there are multiple levels of testing, followed by production monitoring — and then the cycle starts over. Just as most modern factories have become heavily automated, today’s software development organizations are dedicating significant shares of their budgets to automate repeatable tasks and routine processes, particularly within IT Operations responsible for deploying and maintaining applications after they’re developed.
But software factories face a problem. Many large organizations adopted standardized tools and practices for a long time in order to streamline development via common technology and procedures. Now, as organizations compete to deliver customer experience quickly, efficiently and securely, standardization has faded. In the current development culture, teams are not only free to use but pride themselves on using the latest cool automation tool.
Why is this a problem? Because while abandoning standardization in favor of someone’s favorite tool can help developer productivity, it can also create the opposite of standardization — sprawl and silos. As apps move through the development life cycle, they get bogged down by disparate automation tools that don’t play well together.
A survey of 225 IT and business professionals by DevOps.com in partnership with Automic found that 53% of development teams don’t have a standardized toolset, 40% said they are currently using between five to ten solutions, and 53% are using at least 20 different tools.