Bill Talbot, VP, Solution and Product Marketing, CA Technologies
As an IT Operations professional you know that IT Ops is at the center of your organization’s success. IT can either be a factor that enhances the business or a roadblock that the business will work around to get what it needs.
The disruptors in the app economy, such as Uber, Netflix and others, either already are or are quickly becoming software companies. And being successful as a software shop means becoming more agile. But it’s not enough for a development organization to embrace agility. Agility is as important for Ops as it is for Dev.
What’s in it for IT Ops?
In many IT organizations Dev has adopted agile methodologies and practices, but what’s in it for IT Ops?
When IT Ops is agile, it can provide the feedback Dev needs to enable continuous improvement of the organization’s apps and services. Agile management enables shared visibility between Dev and Ops, eliminating key areas of contention and potential delay. Agility helps legacy IT transition more quickly to deliver the services and apps that customers value.
But IT Ops face challenges on the road to becoming agile. The IT infrastructure is rapidly becoming more dynamic, distributed and complex, often leaving IT Ops teams with a mix of legacy and newer IT systems to manage using disparate, non-integrated tools. Finding and fixing bottlenecks can seem like the proverbial needle in a haystack. New digital services and apps are delivered faster than ever by agile development teams for IT Ops to deploy and support. While increasing demands and expectations require IT Ops to be agile, it may seem impossible to find the time and resources needed to make that transformation.
Despite these challenges, it’s worth the effort. And transitioning to an agile IT Ops organization is not as daunting as it may first appear. Following these five steps can help you transition and increase your odds of success:
Step 1: Convince Stakeholders that the Shift to Agile Will Be Worth It; Make a Compelling Case
IT is no longer a back office operation, nor is the legacy waterfall method of new service delivery still effective in today’s fast-moving app economy. Expensive, multi-year projects based on waterfall development practices often miss the mark because technology and customers’ needs change significantly from when projects were first scoped.
You can still do big projects with Agile but you do them in small chunks. Keeping project work manageable allows you to easily adjust as needed. Testing and validating your solution with your customers on a continual basis ensures you are providing the solution they need.
Generate consensus by establishing initial projects with a broad steering committee that includes customers. Then leave your transparency comfort zone and make the project visible to all.
Step 2: Build a Project Team that Includes Customers (Internal or External) and Establish Trust
With a clear goal in mind, build to need. Don’t let perfection be the enemy of progress.
Agility is as important for Ops as it is for Dev
Perfect, complete plans can delay projects getting off the ground, but you do need enough clarity to start and test. As the results emerge, fine tuning will take place. Iterative testing and customer validation is important to the agile process and results in a solution that really addresses a customer need.
Also, having a single management system that is shared and visible to all stakeholders is critical. Plan, track and measure your work across teams, with real-time visibility via a single source of truth.
Step 3: Limit Your WIP (work in progress)
Set reasonable expectations for the functionality to be delivered by any task team. Avoid “feature creep.”
Focus on the highest value/smallest chunks of work with the greatest business benefit, sometimes called the MVP (minimal viable product). Small chunks of work, tested along the way and delivered rapidly keeps you moving in the right direction.
Remember that the goal is to solve a customer problem, so having your customer on the team keeps the focus on track.
Step 4: Automate Deployments and Release Management
Take the time to ensure effective deployment of any new product or service. This is a key function of the Ops role and an essential measure of Ops success.
Automated deployments go a long way towards delivering a project on time and without mishaps that can result from a casual hand-off. The requirement to specify components and prerequisites, all parts of an automated release process, eliminates finger-pointing and leads to smooth delivery.
Also important is an automated rollback capability, just in case. Many automated deployment solutions include the rollback feature for a quick resolution of a failed deployment.
Step 5: Share and Evaluate the Results
Once a new app or service is up and running, it is not the time for Dev and Ops to declare victory and go their separate ways. Maintain shared visibility and transparency to enable the collaboration and continuous delivery of DevOps.
Developers will see for themselves how their app is performing and shared visibility will greatly benefit troubleshooting as they gain experience with the app.
Conduct a project retrospective to incorporate lessons learned into future efforts. Even if the process wasn’t perfect, by delivering value in smaller chunks and fine-tuning along the way via customer feedback, you minimized risk and enabled quick corrective action, both keys to success. Most importantly, you didn’t deliver a solution totally off the mark – a real risk with legacy waterfall delivery methods.
Agility in Action
A good example of an enterprise that is making the agile transformation is Swisscom, the leading telecommunications company in Switzerland, offering mobile communications, fixed networks, Internet and digital TV to residential customers and businesses.
In 2012 Swisscom was gearing up to update their IPTV platform to release TV 2.0. They wanted to deliver this platform quickly and be flexible during development to be able to respond to shifts in the market. To simplify the coordination of work they consolidated their entire TV value stream under one roof, along with making the associated shifts in organization and culture.
By collocating business owners, software developers and operations, Swisscom had established strong cross-functional teams and created a working DevOps model. In just doing “what made sense” and after much of this work was done, they realized they had paved the ground for agile methodology, which they then adopted. With the rapid and successful introduction of TV 2.0 they recently became market leader in the Swiss TV market, providing service to 30 percent of households – and growing, being one of the first countries in the world to introduce Ultra HD live TV.
Realizing the Full Benefit
By incorporating agile practices into IT Operations, your organization can begin realizing the full benefits of an agile transformation. With the Dev and Ops teams operating in sync you achieve the real benefit of DevOps - continuous improvement of apps and services.
In addition, shared visibility between Dev and Ops enabled by a single management system goes a long way in eliminating trouble spots. The bottom line is that you can more quickly deliver the services and apps that customers want and value.