How is software eating the government?
In 2011, Marc Andreessen warned us software is eating the world. Since then it’s become a popular expression, but to what extent has it come true? More specifically, to what extent has software consumed the government? According to one report the U.S. federal government spent $4.4 billion on new software in 2018 alone across a wide range of industries from defense and intelligence to healthcare. Just how important has software become to the government? To answer that question we welcome Paul Burnette, a chief engineer at Leidos, who explains the importance of good software in a world operated by code.
Q: “Software is eating the world” has become a popular expression. What does this mean for our government customers in particular?
Paul: Everything becomes software at some point if you just look at it closely enough. Modeling and simulation has become extremely important in manufacturing for the Department of Defense. You can't just build things to fly or sail and test them in real life because it's really expensive. So you use software to simulate how they're going to work in different real life scenarios. You write code to do all the computations for fluid mechanics and all of the materials science to make sure things don't break. This is happening across the government. Almost all the work we do for our government customers requires some element of software. Operations just don’t happen anymore without software at their core, and software is almost always what our customers talk about when they describe their problems.
, Chief Engineer
It’s no longer good enough to just have software that works.
Q: What are the biggest types of problems they're describing?
Paul: A lot of them have to do with the fact that hardware is no longer the limiting factor of success in most cases. Our phones now have more processing power than the space shuttle. With cloud computing and advanced microprocessors, hardware is no longer a roadblock. It’s the software controlling the hardware that is now frequently a limitation. Because of that we’re getting closer and closer to the atomic level from a problem standpoint: Do we have access to the data we need? Do we have privileges to see and use the data? We’re getting smaller and smaller problems that become increasingly difficult to solve.
Q: Why is it so important for the government to have good software?
Paul: What seems like such a simple thing (good code versus bad code) really can have dire consequences. In commercial land, you can generate a lot of code quickly and spit out products to see if they work. If we're talking about retail for example and your software fails? Okay. Maybe you’ve got some upset customers and maybe your company doesn’t last very long, but that’s entirely different than if a piece of software fails on an airplane, in a hospital, or in a ground control station where life-or-death decisions are made. In our Health group, we deploy software that goes into hospitals for patient management. If there's a problem with the software once it gets deployed, if we haven't done our job making sure the code is bug-free, operates at scale, and doesn't come crashing down, patients could be put at risk. In our Civil group, we deploy code for the FAA to manage air traffic. If our software isn't good—if we don't represent data as it is coming across the wire as close to real time as possible with all the information and metadata about that information feed—we run the risk of crashing one plane into another. In national security, command and control decisions are made based on the information we have at the time. Software is how that information is collected, enhanced, and shared to enable the best decisions. There are so many places where code could fail in a military environment, where the consequences could be just about as catastrophic as you can imagine.
It doesn't really matter what space you're in. Without good software, you lose your ability to adapt, enhance your capabilities, correct problems as they arise, and scale. All the things that are pain points today. It’s no longer good enough to just have software that works. Tomorrow there will be a processor that’s faster, so I need to have code that can take advantage of not only the hardware that’s available today, but also the hardware that hasn’t come out yet. In all domains, security is a constantly evolving concern. You don't replace your hardware when a new threat is identified, you update your software. The ability to continuously update and deliver software all the way out to the edge is critical regardless of industry.
Q: As software continues to eat the world, how can our government customers navigate this evolution?
Paul: The best software is driven by the user and satisfies the end user’s needs. If you’re an online marketplace, you talk to people who shop online. But if you need to build an airspace application, you need access to people who have planned airspaces. That’s one of the things our company has always done. We bridge that gap by making ourselves domain experts and bringing in other experts to make sure we have the knowledge and expertise to deliver that user-centered design. Understanding the trade space is absolutely critical to realizing good software. Once you have the user bookending your software design and acceptance, it's then about speed, quality, and security. The recent move to Secure Development Operations (or SecDevOps) enables us to take advantage of commercial capabilities to help realize usable software for our government customers at new speeds. We like to ask our customers if they're getting fielded, operational software every two weeks. If not, we tell them they should be. Software is never "right" the first time. Build a little, test a lot, fix it, build more. The path to the best software is something on which the customer and users give continuous feedback.