From a robust development platform, to continuous integration/continuous delivery (CI/CD) processes, to shared development, security, and operations (DevSecOps) tools, the National Geospatial-Intelligence Agency (NGA) is changing the way government, military, and contractor teams build products and applications for and with the enterprise.
On the GEOConnect Series Virtual Main Stage May 13, a panel of NGA software experts examined the agency’s journey in building a modern software engineering culture.
Modern software engineering is one of five technology areas NGA focused on in the 2020 Tech Focus Areas report.
“[NGA] is a software- and data-centric agency, everything we do [involves] data that’s manipulated by software. Because of that, we are making a concerted effort to elevate the importance of software engineering in the agency,” said Mark Munsell, NGA chief technology officer, who moderated the discussion. “It’s time for us to set up and treat data and software as strategic assets.”
To build the level of software NGA requires to perform its mission, the agency needs modern software engineering practices and environments. NGA’s biggest challenges for implementing these changes are often less about any technologies themselves, and more working through policy, process, and culture changes, and having the right skill sets, including balanced product teams of software engineers, product managers, and user experience professionals.
Building A Balanced Team
New software approaches create efficient ways for government, military, and contractor teams to deliver services and capabilities necessary for supporting the GEOINT mission. With investments in robust development platforms, CI/CD processes, and shared development, security, and DevSecOps tools NGA software engineers can quickly build on software.
But, it’s not just about the tools. According to Alex Loehr, NGA deputy chief technology officer, it is important to design, build, test, and deploy capabilities with users at each step in the process.
“And to do that, we need balanced product teams,” said Loehr. Teams should include software engineers, user experience professionals, and product managers that are empowered to make prioritization decisions, he added, working alongside experts in crucial government roles such as contracting, contract execution, and budgeting.
NGA’s software development group, DevCorps, is hiring external and internal software engineers with experience in formal software development.
“These are software engineers, software developers. They may or may not have existing domain expertise in NGA areas of work. And one of the things we want to do is grow them into those areas of expertise,” said Nicholas Patsaros, NGA senior software engineer.
Working Through Policy Points
Modern development practices enable teams to rapidly build, test, and deploy capabilities to the enterprise that have been built with users at each step in the process. According to, Andrew Curtis, NGA GEOINT Services chief engineer, the agency’s goal is to do testing and deliveries of software daily.
“And to do that, we have to automate testing as well as our security process. And to do that, we have to update [our] policies and processes and educate the other portions of the agency, especially those in security and the test organization, on how we can do this securely and ensure that we meet mission requirements as well,” said Curtis. Part of this goes together to try to lower the time that it takes from a developer conceiving an application, developing, testing, getting it approved, and then finally deploying it, he added.
Typically, if you’re going to do development within NGA systems today, you need a CAC card. However, NGA is currently working on a project called ‘Endor,’ which will allow non-traditional contractors and developers, with the right approvals, to access a development environment.
“We’re using Login.gov as the identity provider so that you won’t need the traditional NGA credentials to get into that system to do development,” said Kate Curtis, NGA senior data engineer.
Updating policies to accommodate speed is important for NGA, and it is trying to develop resources outside of the traditional footprint. But the agency is working to ensure that software development and security practices meet the requirements of its internal and external builders and makers.