A View of Future Systems and Software Engineering Barry Boehm, boehm@usc.edu USC Center for Systems & Software Engineering http://csse.usc.edu The Future of Systems and Software Eight surprise-free trends 1. Increasing integration of SysE and SwE 2. User/Value focus 3. Software Criticality and Dependability 4. Rapid, Accelerating Change 5. Distribution, Mobility, Interoperability, Globalization 6. Complex Systems of Systems 7. COTS, Open Source, Reuse, Legacy Integration 8. Computational Plenty Two wild-card trends 9. Autonomy Software 10. Combinations of Biology and Computing Implications for SE/SW processes – Jointly and severally 2 Pareto 80-20 distribution of test case value [Bullock, 2000] 100 80 % of Value for Correct Customer Billing 60 Automated test generation tool - all tests have equal value 40 20 5 10 15 Customer Type 4 Business Case for Value-Based Testing Return on Investment (ROI) 2 1.5 1 0.5 0 -0.5 0 20 40 60 80 100 -1 % Tests Run Pareto testing ATG testing 5 3,4. Criticality and Rapid Change Trends Software increasingly success-critical – Provides competitive differentiation, adaptability to change Global connectivity and competition accelerate change – More ripple effects of technology, marketplace changes Increased need for agility, continuous learning – Need to balance agility and plan-driven dependability – Decline of THWADI (That’s how we’ve always done it) – Avoid technical agility, administrative THWADI Hybrid agile/plan-driven processes needed for larger systems Need for pro-active technology, marketplace monitoring Education: Need to learn how to learn 6 Hybrid Agile/Plan-Driven Process: Increment View Rapid Change Short Development Increments Foreseeable Change (Plan) Increment N Baseline Short, Stabilized Development of Increment N Increment N Transition/O&M Stable Development Increments High Assurance 7 Hybrid Agile/Plan-Driven Process: Increment View Unforseeable Change (Adapt) Rapid Change Short Development Increments Agile Future Increment Baselines Rebaselining for Future Increments Deferrals Foreseeable Change (Plan) Increment N Baseline Stable Development Increments Current V&V High Assurance Resources Short, Stabilized Development of Increment N Artifacts Increment N Transition/O&M Concerns V&V of Increment N Future V&V Resources Continuous V&V 8 7. COTS: The Future is Here Major concerns: COTS assurance, evolution, interoperability – Need pro-active supplier COTS management, synchronization – Software is not “all about programming” anymore CBA Growth Trend in USC e-Services Projects 80 70 60 Percentage 50 40 30 20 10 0 1997 1998 1999 2000 2001 2002 Year 9 Persistence of Legacy Systems Before establishing new-system increments – Determine how to undo legacy system 1939’s Science Fiction World of 2000 Actual World of 2000 10 9, 10. Wild Cards: Autonomy and Bio-Computing Great potential for good – Robot labor; human shortfall compensation 5 Senses, healing, life span, self-actualization – Adaptive control of the environment – Redesigning the world for higher quality of life Physically, biologically, informationally Great potential for harm – Loss of human primacy: computers propose, humans decide – Overempowerment of humans Accidents, terrorism, 1984 revisited – New failure modes: adaptive control instability, self-modifying software, commonsense reasoning, bio-computer mismatches – V&V difficulties: cooperating autonomous agents, biocomputing Forms and timing of new capabilities still unclear 11 Conclusions New Paradigms needed for future success – Adaptive process immaturity balanced with repeatable process maturity – Software/ systems/ acquisition engineering vs. programming – Supplier management: win-win vs. win-lose Enterprise integration: Mutual learning vs. stovepipes New skills and career paths needed – Specialists in build-to-spec, V&V, agile rebaselining – Managers and SW/ systems engineers with all three skills – Skills in software/ systems/ acquisition engineering, COTS assessment and integration, value-based software/ systems engineering, software/ hardware/ human factors integration, agile/ adaptive methods Continuing education and learning how to learn – Large-scale collaborative research needed 12 Collaborative Research Opportunity USC-CSSE teaming on proposed new NSF Engineering Research Center – With three other major universities Major focus on collaborative testbeds with industry USC-CSSE focus: Multi-mission C4ISR – For defense, space, supply chains, acquisition – Organizing Principle: Value/risk-based C4ISR OODA loop – Observe: value/risk-based sensor tasking – Orient: Multi-sensor integration, multi-view common ops. picture – Decide: Multi-stakeholder value-based win-win negotiation – Act: Concurrent action and current/next-cycle OOD 13 References G. Anthes, “The Future of IT”, Computerworld, March 7, 2005, pp. 27-36 S. Biffl, A. Aurum, B. Boehm, H. Erdogmus, and P. Gruenbacher (eds.), Value-Based Software Engineering, Springer, 2005. B. Boehm, “Some Future Trends and Implications for Systems and Software Engineering Processes,” System Engineering, 2006. B. Boehm and J. Lane, “21st Century Processes for Acquiring 21st Century Software-Intensive Systems of Systems”, Cross Talk, May 2006. B. Boehm and R. Turner, Balancing Agility and Discipline, Addison Wesley, 2004. T. Friedman, The World Is Flat, Farrar Straus, and Giroux, 2005 J. Highsmith, Adaptive Software Development, Dorset House, 2000. INCOSE: “Systems Engineering Technical Vision” (H. Crisp, ed.) v2.0, July 2006. L. Koskela and L. Howell, “The Underlying Theory of Project Management Is Obsolete”, Proc. PMI Rsch. Conference, 2002, AP. 293-302 D. Reifer, Making the Software Business Case, Addison Wesley, 2002. W. Royce, Software Project Management, Addison Wesley, 1998. 14 Backup charts Risk-Driven Scalable Spiral Model: Life Cycle View System LCA System Inception System, DI1 LCA System Elaboration DI2 B/L LCA Changes Agile DI2 (OO&D) Rebaselining Plan-Driven DI1 Construction (A) DI1 V&V LCA: Life Cycle Architecture IOC: Initial Operational Capability OO&D: Observe, Orient and Decide V&V: Verification and Validation DI: Development Increment B/L: Baselined DI2 LCA Plan-Driven DI2 Construction (A) DI2 V&V 16 Risk-Driven Scalable Spiral Model: Life Cycle View System LCA System, DI1 LCA System Inception DI2 B/L LCA DI3 B/L LCA DI4 B/L LCA Changes System Elaboration Agile DI2 (OO&D) Rebaselining Plan-Driven DI1 Construction (A) DI1 V&V Changes Update Update DI1 IOC DI1 Trans’n DI1 Usage DI2 LCA Agile DI3 (OO&D) Rebaselining Plan-Driven DI2 Construction (A) DI2 V&V Changes Update DI2 IOC DI2 Trans’n DI2 Usage DI3 LCA Agile DI4 (OO&D) Rebaselining LCA: Life Cycle Architecture IOC: Initial Operational Capability OO&D: Observe, Orient and Decide V&V: Verification and Validation DI: Development Increment B/L: Baselined Plan-Driven DI3 Construction (A) DI3 V&V DI3 IOC DI3 Trans’n DI3 Usage . . . DI4 LCA ... 17 LCO (MS A) and LCA (MS B) Anchor Points Pass/Fail Criteria A system built to the given architecture will – Support the operational concept – Satisfy the requirements – Be faithful to the prototype(s) – Be buildable within the budgets and schedules in the plan – Show a viable business case – Establish key stakeholders’ commitment to proceed LCO: True for at least one architecture LCA: True for the specific life cycle architecture; All major risks resolved or covered by a risk management plan 18 Spiral Feasibility Rationale Deliverable LCO, LCA reviews not just UML/PowerPoint charts Need to show evidence of product and process feasibility Evidence provided by prototypes, production code, benchmarks, models, simulations, analysis – Sizing and cost/schedule model results for process feasibility Evidence provided in advance to LCO/LCA review team – Key stakeholders, specialty experts Lack of evidence risks destabilizing the process – Needs coverage by viable risk mitigation plan Key new progress metric – Feasibility evidence progress vs. plans 19 DI1, System LCA LCO Concept Exploration Concept Refinement CD CD (Inception) Objectives • Candidate IOC capabilities and priorities • Key Performance Parameter ranges • Candidate evolution capabilities Constraints • Environment: threats, doctrine, external systems • Cost, schedule • Legacy systems • Operational scenarios Alternatives • Architecture options • Candidate suppliers, capabilities • Acquisition, support options • Human hardware/software rolls Feasibility evidence and risks CD CR IDR Review IPPD Concept Development Concept Refinement Increment Decision Spiral A IPPD Plans • Required resources • Risk mitigations Evaluation Frameworks Integrated Product and • Prototypes, models Process Development • Simulations and facilities • Exercises In Process Review High Integrated Product TeamSuccess-critical Stakeholder IPTs Increment Readiness IPR IPT IRR Review OC Operational Capability RR Readiness Review SDD System Development and Demonstration TD Technology Development A Technology Development (Elaboration) Refined Objectives… BaselinedIOC, requirements Constraints ... Evaluation Objectives Alternatives… Life Cycle Architecture Feasibility evidence and risks… Feasibility evidence and risks Spiral B IPPD Plans … IOC, SDD Plans • Risk mitigation • Acquisition • Support preparation Evaluation frameworks… Success-critical StakeholderIPTs … SPIRAL B Technology Environment Monitoring Technology Environment Monitoring Opportunity, Risk and Change management Opportunity, Risk and Change management Infeasible No Parallel Implementation, V&V, Rebaselining Next-Increment Plans and Specs Success-critical StakeholderIPTs IPPD, Monitoring and Control CR Risk? CR Risk? OC2 RR Evaluation frameworks SPIRAL A High System Development and OC SDD 1 Demonstration RR Cont. Initial infrastructure IPPD, Monitoring and Control Low B DI3 LCA, DI2 IOC DI2 LCA, DI1 IOC Low TD Risk? Risk? TD Infeasible High No SPIRAL OC 1 Opt. Development Increments: DI1 IDR, IPR, IRR DI2 IDR, IPR, IRR … SPIRAL OC2 … Technology Environment Monitoring Opportunity, Risk and Change management Low SDD Risk? Risk? SDD High Low OC, Operations SDD Risk? Risk? Infeasibl e Adjust Objectives/Constraints/Priorities or Discontinue Infeasible … Human-System Integration Levels of Activity - EIEIO model for relatively complex systems IRR: Inception Readiness Review; LCO: Life Cycle Objectives; LCA: Life Cycle Architecture; OC: Operational Capability. LCAN+1 is being rebaselined while OCN is being implemented and OCN-1 is being operated. Agile and Plan-Driven Home Grounds: Five Critical Decision Factors Size, Criticality, Dynamism, Personnel, Culture Personnel (% Level 1B) (% Level 2&3) 40 15 30 20 20 25 10 30 0 35 Criticality (Loss due to impact of defects) a: Many Lives a b b: Single Life c: Essential Funds d: Discretionary Funds e: Comfort c d e Dynamism (% Requirements – change/month) 1.0 0.3 3.0 30 10 3 10 30 100 300 Size (# of personnel) 90 70 50 30 10 Culture (% thriving on chaos vs. order) 22 5. Distribution/Globalization Trends Global connectivity drives market opportunities – Network economics, economies of scale – Need for multi-cultural products, virtual collaboration Standards-based infrastructure a necessity – Gradual growth up the protocol stack – Open-source development largely in infrastructure sector Challenges: feature prioritization, security assurance 23 Diversity of Cultures Hall: monochromatic (closure) vs. polychromatic (concurrency) Hofstede: individual/group; power distance; masculine/feminine; uncertainty avoidance; long/shortterm orientation Example: Software Capability Maturity Model – Widely adopted in U.S. culture Monochromatic, individual, masculine, short-term – 17 adoptions out of 380 in Thailand Polychromatic, group, feminine, long-term 24 Integrated Enterprise Architectures Federal Enterprise Architectural Framework (FEAF) DOD Architectural Framework (DODAF) Zachman Framework 25 6. The Need for Software-intensive Systems of Systems (SISOS) Lack of integration among stovepiped systems causes – Unacceptable delays in service – Uncoordinated and conflicting plans – Ineffective or dangerous decisions – Inability to cope with fast-moving events Increasing SISOS benefits – See first; understand first; act first – Network-centric operations coordination – Transformation of business/mission potential – Interoperability via Integrated Enterprise Architectures 26 Systems of Systems Processes More like adaptive command and control than purchasing – Stabilized plan-driven increments – Concurrent agile change management of next increment – Value-based reprioritization Requires new outsourcing practices and skills – Change impact analysis, content renegotiation, COTS refresh – New contracting processes and incentives 27 8. Computational Plenty: Process Implications New platforms: smart dust, human prosthetics (physical, mental) – New applications: sensor networks, nanotechnology Enable powerful self-monitoring software – Assertion checking, trend analysis, intrusion detection, proofcarrying code, perpetual testing Enable higher levels of abstraction – Pattern programming, programming by example with dialogue – Simpler brute-force solutions: exhaustive case analysis Enable more powerful software tools – Based on domain, programming, management knowledge – Show-and-tell documentation – Game-oriented software engineering education 28 Acquisition Management Implications - I 20th century build-to-spec contracting practices usable in part – Good fit for stabilized-increments team – But not for rebaselining, V&V teams Time & materials or equivalent Award fee based on cost/effectiveness These apply all the way down the supplier chain Need top-level award fee for cost-effective team balancing – No stable distribution of effort 29 Acquisition Management Implications - II Don’t skimp on system definition phases – But avoid analysis-paralysis – Use Feasibility evidence generation as progress metric Use more evidence-based source-selection processes – Competitive exercise as proof of capability – Preceded by multistage downselect Use Schedule/Cost as Independent Variable processes – Prioritized features as dependent variable Top priority: transformational empowerment of acquisition corps – Education, mentoring, tools, techniques 30