Unlike private sector enterprise shops, IT in the public sector doesn't have competitors pushing it to adopt more agile practices or to deliver software apps faster.
What the government does have is a consumer base that's rapidly changing in both its use of technology and its expectations for how services get delivered. That's enough to make federal, state and even local governments step up software delivery -- even if those efforts remain somewhat scattered and piecemeal because of employee contract structures and security constraints.
"Those same consumers who drive DevOps adoption in the private sector also have the same increasing expectations for their interactions with government agencies," according to the Forrester Research report "The State of DevOps Industry Adoption for 2016 -- Where's the Heat?" The report authors also stated that "both cloud and mobile release frequencies are rising, requiring increasing adoption of DevOps practices."
While the motivation is strong, the challenges that IT in the public sector faces when adopting DevOps are numerous and thorny. On a local level, for example, IT professionals' union contracts aren't easily renegotiated to blend roles in development and operations.
"In New York, jobs like computer admins are all unionized now, and it's not simple to take someone that used to be a Windows admin and say, 'Hey, you're going to have to learn part of the application and add that to your job responsibilities,'" said Daniel MacDonald, architect and principal technical lead for a New York agency that's working to adopt Agile software development techniques. "We're approaching it from a bottom-up direction, turning developers into DevOps instead of really bringing a team together of developers and operations."
MacDonald's agency has begun to split monolithic apps up into microservices running on Docker containers and managed with Rancher.
Unions are not as much of a concern at the federal level for IT in the public sector, but a byzantine federal contract system throws up similar roadblocks to DevOps collaboration, according to Nirmal Mehta, senior lead technologist for the strategic innovation group at Booz Allen Hamilton Inc., a consulting firm based in McLean, Va., who works with government organizations to establish a DevOps culture.
Traditionally, big IT contracts are multiyear and are awarded to one vendor with several subcontractors. Often, contracts call for one awardee to deliver one piece of the application, and operation and maintenance goes to a separate contractor, which interferes with efforts to cultivate DevOps. Sometimes, one big contract is awarded, which is a bit more optimal for collaboration within it, but if the requirements aren't set properly, "it can become very inflexible for the government side to change anything or adopt new technology," Mehta said.
Still, Mehta sees the tide beginning to turn in the federal government, citing programs such as the General Services Administration Agile blanket purchase agreement, which was run as a hackathon to determine who could bid on tasks.
"That's a completely new way of determining who's able to bid on work, and then, on top of that, the contracts that are coming out of that are shorter term," he said.