Steps to Becoming Agile for Federal IT Modernization
Efforts to modernize federal IT are gaining momentum thanks to bipartisan congressional support for the Modernizing Government Technology Act of 2016 (MGT Act). As I explained in my previous blog, modernization could be carried out by upgrading existing technologies like the mainframe or by migrating specific legacy applications to newer platforms like the cloud.
But as a recent article in FCW pointed out, “modernizing big federal IT systems isn’t really about the technology—it’s about solving user’s problems effectively.” The piece goes on to point out other important facets of the modernization process, such as getting user input ahead of development or implementation of new solutions and “understanding what users currently rely on.”
As the Federal Government moves toward modernizing IT, it’s important to take these points into account as departments and agencies begin identifying which projects and services need improvement. Throughout this process, departments and agencies should also outline enterprise architectures to prepare their teams for incremental (Agile) software development, which will be a requisite for federal IT under the MGT Act. However, as FWC’s article notes, there have already been instances where getting people comfortable with new systems is taking “longer than an Agile development cycle would allow.”
Incremental development will soon be required for federal departments and agencies to receive adequate funding for projects, per the MGT Act, if it is passed. Considering that, federal IT should follow these steps to becoming Agile.
1. Leverage Working Code
When it comes to preparing federal IT for modernization, departments and agencies need to leverage all the intellectual property they’ve invested in over the years, because working code is gold—including COBOL.
Because COBOL is the most efficient language for running mission-critical applications holding sensitive data, it makes more sense to modernize the mainframe than to attempt migrating things off it. The latter approach is a hefty process that will eat up years of time and money while opening applications and data to massive risk. But modernizing your mainframe by bringing it into Agile and DevOps keeps the security and reliability of the platform intact while also improving it for the digital economy.
2. Make Sure Your Tools Are Ready
Mainstreaming your mainframe requires an architectural approach with tools that cross platform boundaries seamlessly and enable the mainframe to exist in a blended ecosystem of Agile and DevOps with the rest of IT.
These modern mainframe development tools should be intuitive and demonstrate elegant simplicity in design and usability, so any developer can use them. They should also be capable of linking into your DevOps toolchain to enable parallel, cross-platform development, an absolute necessity in today’s digital age as more systems of engagement continue to require mainframe access more frequently. Not only must your tools integrate, they also must help you fail faster, recover, and ultimately turn ideas that matter into meaningful products and services.
3. Prepare to Fail Faster with Agile Processes
When federal IT becomes Agile and starts using incremental development, departments and agencies will have to be ready to fail fast. This is a core tenet of Agile, and implies that developers will be developing and delivering functionality at a faster pace, therefore, making more mistakes.
Learning to accept the reality of mistakes occurring is part of the Agile process, but so is catching and fixing them fast. In the bigger picture, the other option is to fail slow and catch major mistakes that have accumulated months out from their origins. Of course, you’ll need a sophisticated source code management, release automation and deploy tool that makes failing fast possible.
Having the ability to: perform parallel development; see how your code changes could impact someone else working on the same program; and conduct quick full or partial rollbacks that allow you to take the latest version of a program out of production and replace it with an earlier version are the functionalities an Agile development team needs to succeed.
When you embrace Agile, you embrace the process of identifying your changes, working together to prioritize what you can effectively deliver in your sprint, and changing your culture. The hard part for government? When an implementation fails, the failure impacts American lives. That’s why Agile testing methodology and regression testing tools are also a critical component of an effective Agile enterprise architecture.
4. Embrace Agile Culture
You can have all your processes adjusted and tools in place, but modernization in today’s world requires support from all levels of leadership. Without this support, guidance and governance in place, projects are at risk for failing in various ways, from a failed implementation to a failure to ever be completed.
Another key part of the Agile culture is improving customer experience by actively involving customers. In the Federal Government’s case, that means citizen engagement. Consider the multitudinous ways departments and agencies are constantly interacting with citizens over matters such as social security, voting and, now, even insurance.
Currently, many of the processes involving these things aren’t as efficient as they could be in the digital age. But by creating feedback loops with citizens that enable departments and agencies to receive input on how to improve processes, federal IT could easily begin road-mapping a sequence of projects to be carried out incrementally that would answer citizens’ most immediate needs.
Putting Building Blocks in Place
Because the MGT Act will require federal departments and agencies to adopt incremental software development and progress reporting, positioning modernization efforts toward preparing to leverage the legislation is critical. Taking steps to becoming Agile by assessing your culture, processes and tools paves the way to having your architectural needs addressed and identified as funding opportunities arise.
For Americans who receive government services and interact with government agencies, they can’t wait to see the amazing services the U.S. Government will improve by optimizing their system of record and renovating their system of engagement!
Learn more about what the Federal Government can do to modernize the mainframe. Read the other posts in my “Modernize Federal IT” blog series:
- How Mainframe Innovation Can Help Modernize Federal Government IT
- Should Federal IT Have Its Entire Head in the Cloud?