With the increasing adoption of cloud computing services and mandates to move existing applications to the cloud, there is a renaissance of software development projects in the federal government. This new demand for software development is a big shift for many agencies that traditionally focused on infrastructure. And for some, even the sight or sound of “software development” evokes fear as a result of failed or costly software development projects from years past.
However, the “software development” terminology and methodology of old has given way to “DevOps.” The term DevOps was popularized through a series of conferences starting in 2009 as a reaction to decades of failed development projects. DevOps, at its core, is a cultural movement in response to the mistakes commonly made by large agencies developing software that: did not meet user requirements, went over budget, and continually missed deadlines. DevOps helps ensure frequent deploys with a low failure rate.
DevOps found initial traction among many large public cloud service providers. With modern applications running in the cloud, much of what used to be considered infrastructure is now part of the code. The lessons learned from software development approaches at Google, Amazon, Twitter and Etsy can be directly applied to new software development projects for agencies.
DevOps is the Future for all Federal Agencies
Evolving from the need to improve IT service delivery agility, the DevOps approach to software development emphasizes communication, collaboration and integration between software developers and IT operations. In the past, these two groups typically worked as silos and passed work along, but didn’t really work together. DevOps acknowledges the interdependence of software development and IT operations and helps an organization produce software and IT services more quickly, with frequent iterations. All software developed for tasks must take into consideration the DevOps approach.
Overcoming DevOps Challenges
What is tough for most agencies is the cultural change. DevOps needs a change in attitude so shared ownership and collaboration are the common working practices in building and managing a service.
Ultimately, DevOps should improve the quality of the services under development. As the functional silos are broken down in DevOps, applications can adapt more quickly to user needs. This can only happen with close collaboration between different groups.
Agencies also struggle with significant talent gaps The supply of DevOps engineers comes nowhere near meeting the demands of the current workload. Progressive federal CIOs have been building their teams for years to respond to these demands and augmenting their staff with organizations that understand and can quickly engage across a wide range of development activities in a highly-agile, DevOps environment in the cloud. The mindset and staff augmentation need to move beyond just progressive CIOs and become the norm for all CIOs.
Developing Successful Software
Software must be easy to learn, provide easy to interpret results and visual cues, operate reliably and function in environments that are often time sensitive. Fusion PPT has found that managing the technical know-how, people, processes and communications to deliver quality, compliant, timely software that aligns with the enterprise architecture and meets user and business needs is an art. Federal CIOs that are focusing on DevOps need to continue doing this, hire before the need and create a cultural change. For those that haven’t gotten onboard the DevOps train, get on board before this one passes by.