What does Leidos do? Part 3: Software Development
What does Leidos do? To help answer this question, we spoke with Rick Goodwin, who leads the company’s software development practice. He strongly emphasized the importance of agile approaches and DevOps solutions that deliver products to customers without long development cycles. He believes a major part of the company’s success has been its investment in the Leidos Enterprise Application Framework (LEAF) to facilitate rapid development, and provide a foundation for prototyping solutions to help customers understand what they need from a requirements standpoint.
Here’s more from our conversation.
Why was software development selected as a technical core competency for Leidos?
We deliver solutions that include developed software in programs executed within all of our groups: Advanced Solutions, Defense and Intelligence, Health and Civil. We have hundreds of small to medium-sized programs, and tens of very large programs (more than $100M) in which we’re developing software. If we’re not great at it, we put a large part of our business at risk. It crosses pretty much all of the markets we serve. Thankfully, we have a proven track record in delivering software solutions. However, with rapid changes in technology and tools, software development as a technical core competency helps us focus our investments and posture through training. We’re very competent in architecture and design of modular and extensible solutions, and we have demonstrated our DevOps expertise to automate the development pipeline. Software development programs across all our markets employ agile methods. Being excellent at Agile and DevOps has become extremely important.
, Software Development LeadIf we’re not great at software development, we put a large part of our business at risk. It crosses pretty much all of the markets we serve.
How would you define Agile and DevOps?
The traditional software development process is to spend three or four years building something and deliver it, only to find out that for some reason the requirements are old, and the solution doesn’t really apply to the user anymore. The agile approach is to get something into the users' hands often — every couple months, or even sooner. If it’s the wrong idea, we’ve failed fast, and we have enough time to do it the right way going forward.
We made a large investment — more than $25 million — in research and development to build LEAF, on which to do agile development. The platform allows us to prototype capabilities in real-time in front of end-users. The user tells us what they want, and we can very rapidly mock that up, prototype it, and show it to them in the meeting. They can give immediate feedback, which gives us the ability to involve the users in the design and mock-up of the system.
DevOps is huge, which goes hand-in-hand with agile. DevOps, when applied to software development, is about automating the development pipeline through continuous integration, continuous testing, and iterative delivery to the customer. It’s being able to rapidly deliver fully tested, operational capabilities into a customer’s hands. We’ve been implementing DevOps solutions in conjunction with our agile approach on a number of programs. It’s an important part of being agile in a sense, and employing DevOps is critical to being cost-competitive in many of our markets. We’re creating frameworks and processes we can leverage and reuse, as well as playbooks and best practices. Our DevOps knowledge and experience has included automation of the development pipeline including software builds, integration, all aspects of testing, and analysis of software quality and security.
We also have delivery programs that follow a traditional waterfall lifecycle. Several programs are following a hybrid lifecycle that includes agile methods within a more traditional waterfall lifecycle. We’re very good at leading our customers through effective and appropriate implementation of agile methods.
What are some of the company’s top success stories in software development?
One of the first that comes to mind is the work we’re doing for the Air Force on UC2, and most recently our Advanced Field Artillery Tactical Data System win. We’ve done quite a bit of agile development with capabilities in the command and control space. We’ve been able to modernize and replace legacy C2 capabilities very rapidly and at a reduced cost compared to our competitors. On UC2, we rapidly modernized command and control elements with very short delivery cycles. Now, we’re a major supplier in that space for the Air Force, and our success has bred more work. We expect to have the same success with the Army on the AFATDS program.
What are the major customer pain points Leidos helps address?
The largest pain point for our customers is how to gain the benefits of Agile while working against a fixed deadline with cost forecasting and thorough risk assessment. We have several of these types of programs where we are “sprinting to the next formal review gate.” In these environments, we successfully help our customers use a hybrid approach to manage and understand dependencies, costs, and risks while embracing Agile methods with flexibility and transparency.
Image Credit: Icon adapted from thenounproject.com, under CC BY 3.0 US.