The Official Logo for USD(R&E)

Systems Engineering and Architecture

Systems Engineering and Architecture

Software Engineering

The purpose of Software Engineering (SWE) is to provide highly disciplined processes for software and system architecture, design, and development to ensure quality software for the warfighter. Properly planned SWE processes can mitigate cost and schedule risks by allowing programs to identify and remove software-related technical debt early in development. This early action can increase acquisition efficiency and lead to higher success rates during operational testing and the continuing development process. 

Software is critical to national security, an integral part of every Department of Defense (DoD) weapon system, and vital to future battlefield dominance. Software is a key element in all advanced warfighting systems and a driver of system performance, capability, security, functionality, complexity, and development risk. 

Software has become ubiquitous and increasingly significant to every warfighting system. Nevertheless, the Office of the Under Secretary of Defense for Research and Engineering (OUSD(R&E)) continues to observe systemic software development challenges across major programs, especially in the most advanced systems. Both the Defense Science Board (DSB) and the Defense Innovation Board (DIB) have delivered studies and recommendations on how DoD develops and acquires software-intensive systems. They observe that "software is never done" and that the lack of high-quality, mature software is a bottleneck to delivering timely capability to the Warfighter. Such findings have resulted in valuable changes in public law, acquisition policy, and workforce development.  

Advances in SWE skills, technology, and modern software development practices have proven successful in a competitive commercial marketplace.  Advances include: 

  • Frequent iterative and continuous software deliveries using Agile and DevSecOps  
  • Automated continuous integration (CI) and continuous delivery/deployment (CD) pipelines 
  • Analytical methods to measure and improve the software development processes and product quality
  • Modern software management and development tools 
  • Data Modeling and integration via Application Program Interfaces (APIs) 
  • Data Science, Artificial Intelligence, and Machine Learning 

The Department is updating acquisition policies and processes, modernizing culture and workforce competencies, and providing enterprise-wide solutions that keep pace with modern advances in software development. 

Success, Progress, Solutions and Goal Photo

Strategic Direction for the Department

  • Establish SWE practices that deliver warfighting capability rapidly through a disciplined process of continuous iterative development.
  • Provide SWE expertise and mentorship across the Department to advance the state of SWE practices, reduce software risk, and guide the SWE workforce.
  • Establish key competencies to shape a SWE workforce that can rapidly deliver the software in emerging critical technologies such as machine learning, data science, cybersecurity, and autonomous systems.
  • Leverage emergent software technologies to accelerate the pace of software development to support the demands of the National Defense Strategy.
  • Provide recommendations related to software development policy, software organizational structures, specialized workforce competencies, culture, training, tools, and practices.
  • Identify, capture, and share best practices and lessons learned across the Department.

What are APIs

An API, or Application Programming Interface, is a set of protocols, routines, and tools for building software applications. APIs define how different software components should interact with each other, allowing developers to create applications that can leverage the functionality of other software systems.

In simpler terms, an API is a way for different software applications to talk to each other and share data. For example, if you use a weather app on your phone, that app is most likely using an API to get the weather data from a weather service provider.
APIs can be used for a wide range of purposes, from integrating different software systems to building mobile apps and web applications. They are a critical component of modern software development and are used extensively in industries such as finance, healthcare, and e-commerce.

There are several benefits of APIs for the Department of Defense (DoD), including:

Improved Innovation: APIs can enable the DoD to leverage the expertise and capabilities of external developers and organizations, allowing for faster innovation and development of new applications and services.

Overall, APIs can help the DoD improve efficiency, reduce costs, and enhance security and data management, making them a valuable tool for modernizing and streamlining DoD operations.

Definitions

Agile or continuous iterative development, in which a team develops software in smaller blocks that can be incrementally evaluated by a user community. (Defense Science Board)
Download Defense Science Board (PDF)

Blue Digital Hands Typing on a Computer Keyboard-Vector

Contact Us

For more information, contact osd.-sea@mail.mil using the following subject line: Attn SE&A 

Office of the Under Secretary of Defense,
Research and Engineering (OUSD(R&E))
3030 Defense Pentagon, Washington, DC 20301-3030