DEVOPSdigest asked experts across the industry — including analysts, consultants and vendors — for their opinions on the best way for a development or DevOps team to become more Agile. Part 4 covers DevOps technologies.
Start with Essential Steps to Become Agile - Part 1
Start with Essential Steps to Become Agile - Part 2
Start with Essential Steps to Become Agile - Part 3
The key to achieving business agility – not simply success with Agile approaches – is Agile Architecture: a reinvention of enterprise architecture that focuses on developing change as a core competency in the organization.
CONNECT TOOLS, SYSTEMS AND PEOPLE
The best way to become more Agile is by connecting your systems, tools and people across your environments. When you define the entire lifecycle of tools and processes that support innovation, you discover opportunities to automate and streamline your processes. You start filling in the gaps for critical processes, such as making handoffs more efficient and sharing relevant data in a timely fashion to a targeted group of people. These are the areas that are most vulnerable to inefficiencies, so addressing them can really enhance your ability to become a more Agile innovator.
VP of Engineering, xMatters
Agility is desirable because it means greater responsiveness to the needs of the business. So one source of greater agility is to try to eliminate time spent fixing problems instead of spending time responding the business with new or enhanced functionality. One strategy along these lines is to marry a comprehensive instrumentation and monitoring strategy with the DevOps toolchain so that problems can be found quickly and fixed quickly.
In today's distributed infrastructure, you are constrained by what you can see! Agility therefore starts with having visibility into information flowing across your infrastructure in real-time, regardless of where such infrastructure is deployed — on-premise, remote sites, private clouds or public clouds — and doing this in a consistent manner.
VP, Product Management, Gigamon
Agile is all about knowing how your application is performing now, and making changes quickly to improve it. Real-time analytics that help you play back and understand the impact of a release on application performance is key to continuous delivery and integration.
JF Huard, Ph.D.
Founder and CTO, Perspica
Shipping buggy software after missing deadlines is a tragically familiar place. Protect quality and scope simultaneously by bringing real data early into your CI/CD environments, so that you can thoroughly test your app at all stages of development. You'll find more bugs early, and ship faster.
SVP of Engineering and Operations, ClusterHQ
When speaking about agility a lot of attention is paid to automation of the integration and delivery processes – automatic build, automatic unit testing, automatic deployment etc. And the reason is pretty clear: automation means speed and reliability increasing throughput for the IT organization and its ability to drive rapid changes. However being faster and avoiding manual mistakes does not mean agility just yet. Being Agile means being able to rapidly respond to changing business requirements while maintaining optimal performance and availability of the critical business systems. In order to achieve that FULL visibility, it is required to incorporate a mechanism of checks and balances into the outputs of the automated processes, ensuring that automated processes deliver outputs as expected along with the ability to translate the outputs into actionable operational insights. More specifically, to be Agile you need to: instantly know which recovery point to roll back to in the case of an incident; rapidly investigate problems in complex, dynamic systems; control standardization of Agile environments including custom configurations required by some of the enterprise applications. IT Operation Analytics solutions provide the visibility and intelligence necessary to close the automation loop. Collecting and analyzing change, configuration, performance, availability, security and other types of operational data, ITOA ensures that agility is sustainable and no conflict between agility and stability arises.
PERFORMANCE TESTING AND MANAGEMENT
Agile software development advocates early and continuous software delivery and functional changes. Despite the many benefits, however, one negative side effect of these continuous roll-outs is more frequent production system changes, which make it harder to accurately pinpoint the root cause of software performance issues, according to a recent EMA survey. Agile development efforts can be for naught, if the resulting software products ultimately perform poorly (are slow or unreliable). End-users don't care how efficient your software delivery approach is, if the resulting product ultimately doesn't work well. For these reasons, a key to achieving Agile success lies in addressing performance throughout the entire application lifecycle. Developers and operations teams must share responsibility and continually collaborate, to minimize any "unexpected surprises" that can undermine the whole Agile effort.
CEO and Founder, Catchpoint
The enterprise today is faced with a plurality of challenges, including: how to make software a key differentiator, how to be nimble and rapidly respond to market dynamics, and how to adopt Agile and DevOps. The enterprise does not want tools that either directly or (more often) indirectly inhibit adoption of DevOps and CI/CD, thereby creating additional obstacles to faster release cycles. On the contrary, the enterprise needs tools that are facilitating or accelerating this transition, not holding them back. In other words, the enterprise is well-primed for adoption of nextgen performance testing solutions.
Founder and CEO, Nouvola
Since applications are the lifeblood of all organizations, and data is the lifeblood of any application, agility at the data tier is crucial to enabling organizational agility. The data tier has proven the most challenging to make Agile, since any database infrastructure change must be reflected in the application coding. Technology to increase data agility, including database load balancing software, removes the burden for data agility from application coding, performing functions on behalf of the app that increase agility. Scaling, for example, becomes instant, enabling organizations the agility to scale up for big events such as Black Friday quickly and without putting application code at risk.
VP of Marketing, ScaleArc
Read Essential Steps to Become Agile - Part 5, the final installment in this series, providing tips on empowering people.