Recognizing that too many government websites and mobile services aren’t working as they should, take too long to develop, or are delivered over budget, last year the White House launched the U.S. Digital Service as a way to improve digital government.
As part of its work, the U.S. Digital Service has created a playbook that spells out how digital services should be built and delivered, with best practices ranging from “make it simple and intuitive,” to “build the service using agile and iterative practices,” to “choose a modern technology stack.”
Since its creation, the U.S. Digital Service has been working with departments across the federal government to build agile digital services. Likewise, its partner 18F, a team of designers, developers, and product specialists with the General Services Administration, has begun helping federal agencies deploy twenty-first-century digital tools and services.
These efforts are starting to pay off. From projects that improve services for veterans to the recent Federalist unified interface for publishing static government websites, the U.S. Digital Service and 18F are creating digital services that improve access to government information.
Efforts such as these along with stronger adoption of DevOps practices show just how far the digital government has come in delivering citizen services. It’s no longer necessary to build large monolithic applications that are complex to develop and costly to maintain. With today’s technology, we can create an agile and cost-efficient development environment in which governments don’t have to recreate the wheel every time they launch a new website or introduce a new mobile service. Instead, they can take a layered approach in which components are reused by other government agencies.
A couple of examples:
- CMS-free code: Rather than building big blocks of code locked up in a content management system (CMS), websites can develop CMS-free code that’s open and transparent, and easily allows for updates—and then publish the code on GitHub so it’s available for reuse, as the federal government did when it built healthcare.gov. Not only does the lightweight design require fewer servers, but it’s faster to load on mobile devices. It’s also makes it easy for anyone without technical knowledge to update web pages.
- Infrastructure as code: Rather than manually configuring and deploying systems, applications, and middleware, applying the same steps every time new infrastructure is created, government developers can write scripts that automate these tasks. By automating processes that were once completed manually, “infrastructure as code” enables developers to accelerate software delivery by making it possible to replicate environments with speed, consistency, and very few errors. As Forrester Consulting put it in its recent thought leadership paper, “Automation takes confusion and error-prone manual processes out of the delivery life-cycle stages.”
In addition, the Microsoft Azure Government platform helps governments meet their goal of serving citizens with great agility. Teams can create and test applications very quickly and cost-effectively, deploy assets and services in an automated and repeatable way, and better operate and manage their overall IT infrastructure. And they can cut costs and quicken the pace of development by incorporating a variety of finished services into their offerings.
To learn more about how you can achieve a faster and more predictable application delivery lifecycle, please see our recent “An Agile Development Platform for Government” blog post.