Coding on the factory floor
Rapid military software development for a fast-changing world
It used to be that software development for the military was more of a marathon than a sprint — slow, steady and cautious. It sometimes took decades to complete a project
One culprit: acquisition regulations, which required lengthy development and testing cycles that built in long delays between when the U.S. Department of Defense identified a requirement and when a new system was fielded. Compare that to what the average consumer experiences – smartphones updated overnight, hundreds of new apps to choose from on a daily basis — and the divide between the traditional development of military tech vs. the agility of the commercial market becomes clear.
To deliver military solutions at the speed of consumer tech, Raytheon has developed a virtual software factory concept. It's a mix of physical locations, cloud-based coding tools and software experts that work together to help develop and evolve military technology in months, or even weeks.
“The Defense Department’s model for buying and developing software wasn’t keeping pace with technology,” said Todd Probert, vice president for C2, Space and Intelligence at Raytheon. “They just didn’t have a good model for developing software, so everything was built and tested like hardware.”
But that’s changing in a significant way. The Defense Department is now pushing its industry partners to develop software faster, using tools and methods — like the Agile and DevOps methods for rapid development — that would be familiar to any private-sector coder working today. The Air Force, for example, has established a command just to experiment with new software development methods. In 2019, Congress even went so far as to direct the department to establish an Agile software community so programs could share lessons and successes.
Though not new in the consumer technology world, both Agile and DevOps have only recently started gaining traction in the military. They differ from older styles of software development in that they emphasize constant communication within teams as well as with the end user. Teams meet frequently so everybody knows what everybody else is doing, creating a feedback loop that lets teams adjust based on what the eventual users are telling them.
“Raytheon was ready for this change,” said Ash Collins, program manager for Raytheon’s software factory. “The DOD has been poking around the edges of this idea for a couple years, so we started investing early in hiring smart coders, partnering with leading software companies and building facilities so we would be ready to help them with this transformation.”
Through the virtual software factory concept, Raytheon has been able to kick-start the process in a number of facilities and programs quickly, instead of waiting to build a single, physical coding space.
“The software factory model...is transforming our business into an Agile and DevOps machine,” said Collins.
The Raytheon virtual software factory team has created what it calls a "pipeline in a box," a collection of tools that a program can use to start building software. This cloud-based toolset automates all the steps in the software delivery process. It can start integrating code, run tests, check for cyber vulnerabilities and then deploy software to production.
Though simple compared with the time it would take to develop a purpose-built development model, the pipeline-in-a-box may take a few months for a program to start using, so for programs that want to go even faster, Collins and his team have built an "easy button,” which it’s calling the DevOps Ecosystem Managed Service.
"I'd make the comparison that 'pipeline in a box' is like a trusted recipe book, and the DevOps Ecosystem Managed Service is a four-star restaurant with very fast service and very reasonable prices," Collins said.
The DevOps Ecosystem is also hosted in the cloud, which means that it can be stood up, turned on at any location and used for any program almost immediately. If developers ran into a snag, there will be a managed service team and a help desk to lend a hand.
The company is also building training rooms, which it calls dojos, in differnet facilities to maximize collaboration. The first, in Raytheon’s Cityline facility outside Dallas, is dedicated to speeding development of some of the company’s space programs. Raytheon’s Aurora, Colorado, facility also has a dojo for local programs.
Expanding on the dojo concept, the company has started developing more advanced coding hubs called foundries. The first is being built in Raytheon’s Indianapolis factory, a World War II-era facility originally designed to build bombsights.
“These are places that will look like any startup,” said Mike Akers, Raytheon’s software factory lead engineer. “We have paired-programming stations, where two engineers can use the same screen and machine to build and test together. And since everybody needs some alone time, we’ll have 'caves,' where people can go and think. The more choices we give our engineers, the more productive they'll be."
The Indianapolis foundry will also have common areas (where the engineers can talk to each other and share ideas), event and game areas and huddle rooms. The company plans to expand this model and build new foundries around the country.
This is “also a blueprint for future foundries,” said Collins. “Indianapolis is our test crucible, created to continuously hone our software development capabilities.”