A federal agency was so trapped in red tape that it could scarcely improve its software. The solution? A combination of devops and agile development.
Speaking at the Devops Enterprise conference in Burlingame, Calif., this week, Mark Schwartz, CIO of the USCIS (U.S. Citizenship and Immigration Services), detailed the transformation of his agency from inflexible to flexible when it comes to IT. After arriving at the agency about four years ago, Schwartz was told that a task involving a few changes to a Web page would take a year to do, even though he could make the changes himself in a few minutes. (This time estimate was graciously shortened to eight months under the existing policies.)
What was stopping Schwartz (previously named an IT Leader Honoree by ComputerWorld)? A couple hundred pages of guidelines known as MD (Management Directive) 102. After initially not reading the document, Schwartz then became an expert on it. "It's absolutely brilliant. If you wanted to instruct a large group of people that they must use the waterfall approach, you couldn't possibly write it better." MD 102 features a nine-phase solution for developing software plus reviews. "My favorite was the test-readiness review, which is the review to make sure that you absolutely finish development completely before you can start testing."
Schwartz said he knew he had to fight MD 102. "I brought in a bunch of agile coaches. I made up my own policy called MD 001 or something." He declared that from now on, the department would be agile and would use eight core practices. Agile coaches were brought in, and Schwartz was appointed to a group that would rewrite MD 102. "Within a year, we had done 100-some-odd agile releases," Schwartz said.
After initially seeing MD 102 as the big enemy, Schwartz said he had an epiphany. He learned a bit about the context of the policy document that emerged not long after 9/11 and involved multiple agencies gathered as part of the Department of Homeland Security, featuring USCIS. A total of 104 Congressional committees oversaw the workings of the department. "And it's total chaos. It's a merger of 22 companies, suddenly."
The people who put together MD 102 wanted to do the right thing and were not a faceless bureaucracy, Schwartz said. He realized that in order to bring agile practice into the government, his department would need to meet the needs expressed in MD 102, so the challenge became creating an agile practice to map to those needs. Devops provided a path to follow, with the agency moving to devops from a Scrum-based approach.
Now, everything is agile and has continuous delivery pipelines, and the agency uses tools like the Jenkins continuous integration server, Git version control, Chef configuration management, Gradle build automation, and New Relic product monitoring.
Developers, meanwhile, work with Java, Spring, and a Hibernate stack or in Ruby on Rails. Testing is automated, and continuous delivery will be done on an Amazon cloud. "It's all set up and waiting for the first deployment, basically, which is going to happen in a few weeks," Schwartz said.