The associated software size, complexity, interdependencies, reliance-on, and software assurance related challenges continue to increase. DoD programs are challenged to consistently develop and deliver high quality software systems that fully meet the warfighter’s operational needs and that are safe, secure, reliable, maintainable and scalable. The common challenges that prevent consistent software development and delivery are well documented and known. The primary reason for software project failure is usually not due to the lack of technical expertise by the software development engineers; but rather due to poor project estimation, planning and control.
There are some DoD software projects that have been consistently successful with regards to cost, schedule, technical, quality and operational performance. These projects span a wide range of missions (e.g. strategic, tactical), development methodologies (e.g. nuclear certified, waterfall, agile, rapid prototyping), complexity (numerous interfaces to external systems to stand-alone), and sizes (multi-million lines of code to tens of thousands); and they all utilize many of the same software system acquisition and development techniques to ensure success.
The common keys to success include utilizing a software system acquisition approach that relies on government software engineers to not just monitor/review industry software efforts, but also perform hands-on architecting, designing, coding, integrating, and testing of a subset of the complex software components for mission critical systems. This teaming approach combined with data-driven project-management and technical execution best practices has been successfully utilized for decades for several mission critical warfare programs and has consistently resulted in the delivery of high quality, safe, reliable, multi-mission-platform capable and operationally successfully software systems that were developed within cost and schedule constraints.