SCSS 2019 The Software Dilemma Ceci Albert The Software Dilemma 2019 Carnegie Mellon University [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution. 1 Picture (Optional) Copyright 2019 Carnegie Mellon University. All Rights Reserved. This material is based upon work funded and supported by the Department of Defense under Contract No. FA8702-15-D-0002 with Carnegie Mellon University for the operation of the Software Engineering Institute, a federally funded research and development center. NO WARRANTY. THIS CARNEGIE MELLON UNIVERSITY AND SOFTWARE ENGINEERING INSTITUTE MATERIAL IS FURNISHED ON
AN "AS-IS" BASIS. CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTER INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE OR MERCHANTABILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL. CARNEGIE MELLON UNIVERSITY DOES NOT MAKE ANY WARRANTY OF ANY KIND WITH RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT. [DISTRIBUTION STATEMENT A] This material has been approved for public release and unlimited distribution. Please see Copyright notice for non-US Government use and distribution. This material may be reproduced in its entirety, without modification, and freely distributed in written or electronic form without requesting formal permission. Permission is required for any other use. Requests for permission should be directed to the Software Engineering Institute at [email protected] DM19-0138 The Software Dilemma 2019 Carnegie Mellon University [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution. 2 Picture (Optional)
Why You Care The system needs software to meet objectives Software is everywhere in your system Lifecycle costs are a big deal Software will be continuously engineered, developed, integrated, tested, and deployed for a very long time You need to comply with cyber requirements Software is eating the world Marc Andreessen, WSJ, 2011 The Software Dilemma 2019 Carnegie Mellon University [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution. 3 Picture (Optional)
Outline Different Kinds of Software in Your System Clashing Development Lifecycles Some Acquisition Considerations Moving Forward The Software Dilemma 2019 Carnegie Mellon University [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution. 4 The Software Dilemma Different Kinds of Software in Your System The Software Dilemma
2019 Carnegie Mellon University [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution. 5 Picture (Optional) Data Processing Software What we are talking about: Software that connects the system to the outside world Software that plans and directs system operation Software that processes business/mission data This software uses commodity processing hardware and infrastructure that change frequently The Software Dilemma 2019 Carnegie Mellon University
[DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution. 6 Picture (Optional) Embedded Software What we are talking about: The software that controls the behavior of or processes data from the system hardware, especially unique elements in weapon systems that also need to address anti-tamper requirements - Performance critical - Mission critical - Safety critical Software development is closely tied to the hardware component development Required for proof of concept
The Software Dilemma 2019 Carnegie Mellon University [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution. 7 Picture (Optional) Test and Development Software What we are talking about: Automated tools that support the software development pipeline Software that systematically looks for common coding errors Software that systematically measures software performance Tools are closely linked to the developers culture and processes but will be needed for sustainment of the software What types of software are in your system?
The Software Dilemma 2019 Carnegie Mellon University [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution. 8 The Software Dilemma Clashing Development Lifecycles The Software Dilemma 2019 Carnegie Mellon University [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution. 9
Picture (Optional) System Hardware Development Lifecycle What we are talking about: Hardware that has to be developed for your system - Vehicles: ship, air frame, rocket body - Components: engines, sensors Lifecycle patterns: Milestone decision points A. B. C. D. System meets requirements for reasonable cost and risk System design meets requirements at reasonable cost and risk System built is suitable for production in large numbers System is ready for operational deployment
Waterfall development works - Requirements, design, build, integrate, test, deploy The Software Dilemma 2019 Carnegie Mellon University [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution. 10 Picture (Optional) Processing Hardware Lifecycle What we are talking about: Processors that will operate, test, and maintain your system - On-board processors - Mission support processors - Cloud
The software infrastructure: operating systems, database and network services Lifecycle patterns: Decision points - Form, fit, and function defined at system PDR/CDR - Buy decision delayed until as late as possible to maximize value COTS process works best - Buy the highest performing processor available - Select a compatible software infrastructure stack with processor The Software Dilemma 2019 Carnegie Mellon University [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution. 11 Picture (Optional) Software Lifecycle
What we are talking about: Software that has to be developed for your system Off-the-shelf software that was developed for someone else Lifecycle patterns: Decision points - Similar to system hardware, but they dont line up! Incremental development works best - Concurrent requirements, design, build, integrate, test, deploy The Software Dilemma 2019 Carnegie Mellon University [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution. 12 Picture (Optional)
System Design SRR PDR CDR System PDR CDR Component Software Embedded Software Test and Development Software? The Software Dilemma 2019 Carnegie Mellon University
Processor Embedded Software How/when will you get visibility into your different software types? [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution. 13 The Software Dilemma Some Acquisition Considerations The Software Dilemma 2019 Carnegie Mellon University [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution. 14
Picture (Optional) Acquisition Strategy Considerations Where is the software in your system? What types? Who are your stakeholder organizations, and how will they flow down dependent requirements? Who has the authority to halt progress, and what value do they add? Does the PMO have the necessary software expertise? Do you need to contract for software expertise? Do the potential offerors have the necessary software expertise? How will they execute the systems different software domains? What visibility will the PMO have into software development? How will the software be sustained for the next 50 years? Plan for continuous engineering, development, and deployment The Software Dilemma 2019 Carnegie Mellon University [DISTRIBUTION STATEMENT A] Approved for public release and unlimited
distribution. 15 Picture (Optional) RFP Considerations PWS Are tasks outcome based? - For example, delivery of a minimally viable product in 6 months with new features every 30 days thereafter QASP How will performance be measured? Has legacy performance been benchmarked? CDRLs Do you have all/only the data you need? Do you have a plan for review of the data? How will you verify the data deliveries?
The Software Dilemma 2019 Carnegie Mellon University [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution. 16 Picture (Optional) Source Selection Considerations Have the offeror write a story about how software will function in the operational environment (understanding of need) how offeror will interact with the PMO in managing this contract how offeror will interact with other stakeholders to validate software changes how offeror will build, test, and deploy the software in the program how the software will be sustained for the next 50 years How will you know the offeror is competent? How will you distinguish between two competent offerors?
The Software Dilemma 2019 Carnegie Mellon University [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution. 17 Picture (Optional) Contract Execution Considerations How does the PMO interact with the contractor? With the subcontractors? What metrics will the contractor use to track software development progress? What metrics will the contractor use to track software system performance? Work out how the PMO will participate in design trades The Software Dilemma 2019 Carnegie Mellon University
[DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution. 18 The Software Dilemma Moving Forward The Software Dilemma 2019 Carnegie Mellon University [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution. 19 Picture (Optional) Moving Forward
Software-controlled everything has added a new level of complexity to system acquisition without taking any of the old challenges away One size does NOT fit all and your system may have many types of software We no longer have a software crisis, we have an ongoing dilemma Beware of silver bullets! The Software Dilemma 2019 Carnegie Mellon University [DISTRIBUTION STATEMENT A] Approved for public release and unlimited distribution. 20