What's an agile software factory?
When you hear the word "factory" you might think of a production line assembling cars or packaging food, but a lot of today's best code is assembled on the factory floor as well. Traditional factories manufacture products along a conveyor belt with specialized machines and meticulous processes and for repetition and efficiency—a model which also naturally emerges when scaling agile software development. Leidos operates two primary software factories located in Charlottesville, Va., and Morgantown, W.Va., coding centers of excellence that churn out quality products at high speeds. They mostly supply software to the federal government, customers who desire agility but can't compromise security. To learn more we welcome software factory lead Mike Raker, who explains how these next-generation hubs deliver mission quality software at Silicon Valley speed.
Q: Take us inside a modern software factory. What can you expect to find?
Raker: Inside our software factories we manufacture secure code and solve really complex problems through modern software development techniques, always in an iterative fashion. This is done one step at a time through defined processes and reusable code. Everything inside our software factories is designed to maximize speed and quality. When you scale workflow and processes, you also have to scale people, physical workspaces, and culture, so we work hard to maintain that culture of agility and passion for our solutions as we grow.
Everything inside our software factories is designed to maximize speed and quality.
Mike Raker
Software Factory Lead
Q: Why did you choose the term software factory?
Raker: Factory is a word that conveys productivity. There’s a buzz and an energy on a factory floor. This passion and energy are critical to a successful culture and happy customers. It’s a recognized term in the industry, and certainly in the defense space. It came out of programs like the Air Force’s Kessel Run Experimentation Lab, which is very much a software factory design. There’s industry recognition that the term conveys a high-tech, next generation workshop. When you run a factory smoothly, it’s all about the components, people, and processes coming together to maximize efficiency. All of those things go in one end of the production line, and quality software comes out the other.
Q: How do Leidos software factories fit into the government’s mission?
Raker: Few commercial software companies have had success bringing agile software development to the government, and those companies also bring high costs. And while they might have speed, they might not be used to certain security concerns and austere conditions our customers face in that true “mission-critical” domain. On the other end you have the large original equipment manufacturers (OEMs) that do software around large weapons systems. They might be extremely secure and precise, but they also might be monolithic and suffer from the processes and procedures of 10-20 years ago. Even though it’s mission critical, you simply can’t modernize that software very quickly.
These don’t have to be the only choices for our customers. Because we do a lot of commercial work, we’ve proven we can provide the speed and agility of a commercial startup. However the security aspects run in our DNA, so we know how to do work in large, mission-critical defense systems. We fit in that middle ground, and that’s where we have a competitive edge.
Q: What’s the driving force behind Leidos adopting the software factory model?
Raker: The driving force is delivering speed while maintaining quality and security. Most importantly, doing it repeatedly and at scale. If you think about Leidos, there are lots of good software teams across the company, but we tend to be teams unto ourselves. We do software well in all of our locations, but we mostly tend to focus on a single customer. But our software factories are about stretching that fabric and applying all of that knowledge and capability across our businesses. It’s about running really fast and transferring knowledge between locations. It’s also critical to ensure Leidos employees can work on interesting projects across customers and industries without ever having to leave Leidos, thereby creating a driven and resilient workforce.
Q: Why did you choose Charlottesville and Morgantown for the first two Leidos software factories?
Raker: It takes leadership, vision, passion, and drive to build one. We were fortunate to have this in both locations, but we started small. When we started growing in Morgantown, we had eight people. It just so happened those eight people were all phenomenal. So you need the right leader or leaders in a location to grow around. If you don’t have that, it’s really hard to make it work. It also takes a lot of talent. Charlottesville and Morgantown are both university towns, so we have a huge talent pool that regenerates itself every year.
Q: What’s next for software factories at Leidos? What are your plans to grow?
Raker: Over the last year we’ve been extending what we do into other locations, including Omaha, Orlando, Hampton Roads, and others. These will be our next software factory locations, and we plan to have somewhere between 200-300 software engineers at each factory. We’re also working with Leidos UK and Leidos Australia, where we have really healthy software pipelines, particularly in the defense domain. We can further pick up speed by leveraging times zones, and we can transfer knowledge from the U.S. into those countries and vice versa. This will make our customers much stronger.