DevOps: What it is and how to get there
Connecting state and local government leaders
Here are four ways agencies can align culture, process and tools to create a continuous cycle of innovation and agility.
DevOps, a portmanteau of "development" and "operations," is a movement that started with a focus on deploying software frequently and has grown into a conversation about organizational culture. When implemented correctly, DevOps aligns culture, process and tools/software to create a continuous cycle of innovation and agility.
Sounds great, but the challenge is that government agencies are used to doing things the anti-DevOps way. Agencies and system integrators continue to place development and operations teams into different silos, with little to no interaction during the application life cycle. And teams seem to talk only when there are problems.
This kind of delivery model breaks very quickly when an agency decides it needs to speed up its delivery process from one to two releases per year to one to two per week or month. For a point of reference, back in 2013 Amazon disclosed it had completed 1,079 deployments -- in a single hour.
So, we know a DevOps approach is possible -- but how can government agencies take advantage of this? Here are four ideas that might help agencies:
1. Recognize that DevOps starts with an agency's culture. It won't work if only a few members are willing to change. The entire application development process must align with the agency’s operational approach. It must have buy-in and understanding by everyone involved: management, developers, test, QA and admins. There’s no point in having developers practicing “DevOps principles” while the rest of the organization is still thinking in terms of a waterfall approach.
Once that alignment happens, then an agency can use a vendor with tools and services that can accelerate DevOps. There are several platforms that can make automation and management easier. Agencies can also use trained consultants to help them better understand DevOps and plan out a continuous improvement program.
2. Standardize certain technology components across the agency. While technology is not the only pillar to focus on in DevOps, standardizing technology components and operating environments can help solve platform automation. This is a very important step.
Unfortunately, the government has historically been afraid to standardize, preferring instead to hope that standards themselves will bring reuse. This approach is misguided, inefficient and keeps agencies pinned to old, expensive and time-consuming application development methods.
Consider that the DoD Information Technology Standards Registry (DISR) has more than 1,200 mandated and approved standards that programs are supposed to follow. That sheer number actually leads to a lack of standardization. If, for example, the Marine Corps gave each Marine a catalog of 1,200 different options for weapons and ammo, chaos would ensue when they tried to use each others' ammunition (which doesn't fit) or load each others' guns (which they don't know how to use).
This extreme example of poor interoperability illustrates inefficiencies in the current approach that need to be addressed for DevOps to exist and thrive. It’s better to adhere to a handful of standardized platforms that can be reused to save time and money
3. Provide the commitment and the motivation to change. This is not your father’s federal IT world. That was made obvious when the government extoled the virtues of agile and iterative practices and open source software in the U.S. Digital Services Playbook.
Technology today moves faster than ever and users expect more each day. DevOps can help by getting software into users’ hands more quickly and then getting feedback faster to accelerate innovation.
4. Start small. Identify a good candidate project -- one that is small enough that it won't exert political pressure on the agency itself. Once the project has been identified, iterate, measure and learn from that project, then move on to the next project or program. Repeat to build momentum, and then scale as the agency grows its DevOps talent and capability internally.
Following each of these steps can help government agencies shake off the shackles of legacy IT practices in favor of the modernized, agile, and far more efficient approach that DevOps offers.