USC University of Southern California S E C Center for Software Engineering Some Future Software Engineering Opportunities and Challenges Barry Boehm, USC-CSSE http://csse.usc.edu The Future of Software Engineering Symposium November 22, 2010 11/22/2010 1
USC University of Southern California S E C Center for Software Engineering Outline • The Future of Information Technology – 8 surprise-free trends; 2 wild-card trends – Changes since 2005 paper – Individual and combined software engineering opportunities and challenges • Conclusions: General SW engineering implications – Research, staffing/education 11/22/2010 2
USC University of Southern California S E C Center for Software Engineering The Future of Systems and Software: 2005 • 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 11/22/2010 3
USC University of Southern California S E C Center for Software Engineering 2010 Trends Largely Missed in 2005 • Megasensor-intensive smart systems • Search and mining of ultralarge data aggregations • Software implications of multicore chips • Rapid growth of software as a service • Rapid growth of social networking technologies 11/22/2010 4
USC University of Southern California S E C Center for Software Engineering The Future of Systems and Software: 2010 • Eight surprise-free trends 1. Rapid, Accelerating Change 2. Software Criticality and Dependability 3. Complexity; Global/Mobile Systems of Systems 4. COTS, Open Source, Services, Legacy Integration 5. Smart Systems; Mining huge volumes of data 6. User Patterns and End Value Focus 7. Computational Plenty and Multicore Chips 8. Increasing integration of SysE and SwE • Two wild-card trends 9. Autonomy Software 10. Combinations of Biology and Computing 11/22/2010 5
USC University of Southern California S E C Center for Software Engineering 1. Rapid Change Trends • 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 incremental processes, methods, tools, skills • Need for pro-active technology, marketplace monitoring • Education: Need to learn how to learn 11/22/2010 6
USC University of Southern California S E C Center for Software Engineering Architected Agile Approach • Uses Scrum of Scrums approach – Up to 10 Scrum teams of 10 people each – Has worked for distributed international teams – Going to three levels generally infeasible • General approach shown below – Often tailored to special circumstances 11/22/2010 7
USC University of Southern California S E C Center for Software Engineering 2. Criticality and Dependability Trends • Software increasingly success-critical to product and services – Provides competitive differentiation, adaptability to change • Dependability is generally not vendors ʼ top-priority – “The IT industry spends the bulk of its resources… on rapidly bringing products to market.” – US PITAC Report • By 2025, there will be a “9/11” – magnitude software failure – Major loss of life or collapse of world financial system • This will raise dependability to vendors ʼ top priority – Market demand; stronger warranties and accountability – Value-based dependability processes and tools • Avoid bureaucratic solutions • Reflect all stakeholders ʼ value dependencies 11/22/2010 8
USC University of Southern California S E C Center for Software Engineering Achieving Agility and High Assurance -I Using timeboxed or time-certain development Precise costing unnecessary; feature set as dependent variable Short Development Rapid Increments Change Foreseeable Change Short, Stabilized (Plan) Increment N Transition/O&M Development Increment N Baseline Of Increment N High Assurance Stable Development Increments 11/22/2010 9
USC University of Southern California S E C Center for Software Engineering Evolutionary Concurrent Engineering: Incremental Commitment Spiral Model Unforeseeable Change (Adapt) Agile Rapid Future Increment Baselines Rebaselining for Change Future Increments Short Deferrals Foreseeable Development Change Increments (Plan) Short, Stabilized Increment N Transition/ Development Increment N Baseline Operations and Maintenance of Increment N Stable Development Increments Artifacts Concerns High Assurance Verification and Future V&V Current V&V Validation (V&V) Resources Resources of Increment N Continuous V&V 11/22/2010 10
USC University of Southern California S E C Center for Software Engineering 3. Complexity and Global 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 11/22/2010 11
USC University of Southern California S E C Center for Software Engineering Complexity of Solution Spaces • Size: 10-100 MLOC • Number of external interfaces: 30-300 Number of “ Coopetitive ” suppliers: 20-200 • – Even more separate work locations • Depth of supplier hierarchy: 6-12 levels • Number of coordination groups: 20-200 – Reviews, changes, risks, requirements, architecture, standards, procedures, technologies, -ilities, integration, test, deployment, personnel, infrastructure, COTS,… – Key personnel spend 60 hours/week in meetings • Unprecedentedness • Emergence • Rapid change 11/22/2010 12
USC University of Southern California S E C Center for Software Engineering Future DoD Challenges: Systems of Systems Rebaseline/ Adjustment FCR 1 FCR 1 DCR 1 OCR 1 OCR 2 Exploration Valuation Architecting Develop Operation SoS-Level • • • Candidate Supplier/ LCO-type Strategic Partner n ● Proposal & ● Source Feasibility ● Selection Candidate Supplier/ Info Strategic Partner 1 OCR x2 OCR x1 OCR x3 OCR x4 OCR x5 System x • • • Develop Operation Operation Operation Operation • • • ● FCR C DCR C OCR C1 OCR C2 ● System C • • • • • • Exploration Valuation Architecting Develop Operation ● FCR B DCR B OCR B1 OCR B2 System B • • • • • • Exploration Valuation Architecting Develop Operation OCR A1 FCR A DCR A System A • • • • • • Valuation Develop Operation Exploration Architecting 11/22/2010 13
USC University of Southern California S E C Center for Software Engineering The Future of Systems and Software: 2010 • Eight surprise-free trends 1. Rapid, Accelerating Change 2. Software Criticality and Dependability 3. Complexity; Global/Mobile Systems of Systems 4. COTS, Open Source, Services, Legacy Integration 5. Mining huge volumes of data 6. User patterns and End Value focus 7. Computational Plenty and Multicore Chips 8. Increasing integration of SysE and SwE • Two wild-card trends 9. Autonomy Software 10. Combinations of Biology and Computing 11/22/2010 14
� USC University of Southern California S E C Center for Software Engineering 4. COTS: The Future Is Here • Escalate COTS priorities for research, staffing, education – It ’ s not “ all about programming ” anymore – New processes required 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 CBA Growth in USC E-Service Projects * Standish Group CHAOS 2000 11/22/2010 15
USC University of Southern California S E C Center for Software Engineering Purchased Services Growth in USC e-Services Projects 11/22/2010 16
USC University of Southern California S E C Center for Software Engineering 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 11/22/2010 17
Recommend
More recommend