520 likes | 924 Vues
Some Future Software Engineering Opportunities and Challenges. Barry Boehm, USC-CSSE http://csse.usc.edu Fall 2013. Outline. The Future of Information Technology 8 surprise-free trends; 2 wild-card trends Changes since 2005 paper
E N D
Some Future Software Engineering Opportunities and Challenges Barry Boehm, USC-CSSE http://csse.usc.edu Fall 2013
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
The Future of Systems and Software: 2005 • Eight surprise-free trends • Increasing integration of SysE and SwE • User/Value focus • Software Criticality and Dependability • Rapid, Accelerating Change • Distribution, Mobility, Interoperability, Globalization • Complex Systems of Systems • COTS, Open Source, Reuse, Legacy Integration • Computational Plenty • Two wild-card trends • Autonomy Software • Combinations of Biology and Computing
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
The Future of Systems and Software: 2010 • Eight surprise-free trends • Rapid, Accelerating Change • Software Criticality and Dependability • Complexity; Global/Mobile Systems of Systems • COTS, Open Source, Services, Legacy Integration • Smart Systems; Mining huge volumes of data • User Patterns and End Value Focus • Computational Plenty and Multicore Chips • Increasing integration of SysE and SwE • Two wild-card trends • Autonomy Software • Combinations of Biology and Computing
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
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
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
Achieving Agility and High Assurance -IUsing timeboxed or time-certain developmentPrecise costing unnecessary; feature set as dependent variable Short Development Increments Rapid Change Foreseeable Change (Plan) Short, Stabilized Development Of Increment N Increment N Transition/O&M Increment N Baseline High Assurance Stable Development Increments
Evolutionary Concurrent Engineering: Incremental Commitment Spiral Model Unforeseeable Change (Adapt) Rapid Change Agile Rebaselining for Future Increments Future Increment Baselines Short Development Increments Deferrals Foreseeable Change (Plan) Short, Stabilized Development of Increment N Increment N Transition/ Operations and Maintenance Increment N Baseline Stable Development Increments Artifacts Concerns High Assurance Future V&V Resources Current V&V Resources Verification and Validation (V&V) of Increment N Continuous V&V
3. Complexity and Global Software-IntensiveSystems 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
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
Future DoD Challenges: Systems of Systems Rebaseline/ Adjustment FCR1 FCR1 DCR1 OCR1 OCR2 Exploration Valuation Architecting Develop Operation SoS-Level Candidate Supplier/ Strategic Partner n LCO-type Proposal & Feasibility Info ● ● ● Source Selection Candidate Supplier/ Strategic Partner 1 OCRx2 OCRx1 OCRx5 OCRx3 OCRx4 System x Develop Operation Operation Operation Operation ● ● ● OCRC1 OCRC2 FCRC DCRC System C Exploration Valuation Architecting Develop Operation OCRB2 FCRB DCRB OCRB1 System B Exploration Valuation Architecting Develop Operation OCRA1 FCRA DCRA System A Exploration Valuation Architecting Develop Operation
The Future of Systems and Software: 2010 • Eight surprise-free trends • Rapid, Accelerating Change • Software Criticality and Dependability • Complexity; Global/Mobile Systems of Systems • COTS, Open Source, Services, Legacy Integration • Mining huge volumes of data • User patterns and End Value focus • Computational Plenty and Multicore Chips • Increasing integration of SysE and SwE • Two wild-card trends • Autonomy Software • Combinations of Biology and Computing
CBA Growth in USC E-Service Projects *Standish Group CHAOS 2000 4. COTS: The Future Is Here • Escalate COTS priorities for research, staffing, education • It’s not “all about programming” anymore • New processes required *
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
Some Leading Brownfield ApproachesRe-engineering Legacy Software to be Service-Oriented • IBM Brownfield VITA Approach • Views: Formal descriptions of enabling business systems or processes • Inventory: Repository that stores Views information • Transforms: Define relationships between as-is and to-be states • Artifacts: Results of Transforms generated from the Inventory • CMU-SEIService Migration and Reuse Technique (SMART) • SMART Process from as-is to to-be state • Service Migration Interview Guide: over 60 questions about migration context, nature, and feasibility • SMART Tool: Helps gather data, identify risks • Artifact Templates: For capturing info about stakeholders, components, migration issues, legacy components, creating service components, etc.
5. Megasensor- Empowered Smart SystemsSmart power grids, buildings, companies, cities • Ubiquitously-instrumented artifacts and processes • Complementary growth in data storage and analysis • EU Digital Agenda “Internet of Things” • Commitments: Singapore, Abu Dhabi, S. Korea, Portugal • Industry: IBM, HP, Cisco, Siemens, GE • Generally Greenfield; incrementally for Brownfield
Mining huge volumes of data • Google example: billions (B) of search hits • All in about 0.2 seconds (9/25/10; fewer, faster 11/17/10) • Video, 16.1B; TV, 9.6B; Star, 6.1B; Time, 5.4B; Movie, 4.4B; News, 2.8B; Music, 2.7B; Life, 2.3B; Play, 2.1B; Book, 1.7B • What to show first? • How to narrow search to what you want? • Recommender systems • Based on preference data or past activity • Amazon.com; Pandora; Netflix • Service-provider data warehousing • Better services, but service provider has your data • General concerns with privacy, controls
6. User/Value Focus Trends • Computerworld panel: More focus on user/ownership costs and benefits; less focus on features and license costs • Technology should adapt to people, not vice versa • Tension between usability and feature creep • User-orientation has many challenges • Emergent needs and priorities: IKIWISI, Maslow • Diversity of people and cultures: no OSFA solutions • Group vs. individual performance • Engineer focus on engineer-usability • Golden Rule: Do unto others as you would have others do unto you • Platinum Rule: Do unto others as they would be done unto IKIWISI: I’ll know it when I see it OSFA: one size fits all
Motivation for Value-Based SE • Current SE methods are basically value-neutral • Every requirement, use case, object, test case, and defect is equally important • Object oriented development is a logic exercise • “Earned Value” Systems don’t track business value • Separation of concerns: SE’s job is to turn requirements into verified code • Ethical concerns separated from daily practices • Value–neutral SE methods are increasingly risky • Software decisions increasingly drive system value • Corporate adaptability to change achieved via software decisions • System value-domain problems are the chief sources of software project failures
(a) (b) Value-Based Testing: Empirical Data and ROI— LiGuo Huang, ISESE 2005
The Future of Systems and Software: 2010 • Eight surprise-free trends • Rapid, Accelerating Change • Software Criticality and Dependability • Complexity; Global/Mobile Systems of Systems • COTS, Open Source, Services, Legacy Integration • Mining huge volumes of data • User Patterns and End Value Focus • Computational Plenty and Multicore Chips • Increasing integration of SysE and SwE • Two wild-card trends • Autonomy Software • Combinations of Biology and Computing
7. Computational Plenty and Multicore Chips • Moore’s Law stymied by heat dissipation problems • 2x circuit speed, density every 18 months • Keep growth by developing multi-CPU chips • Lower circuit speed, but lower power consumption • Growth in #CPUs keeps up processing power growth • But only if programs can be parallelized • Otherwise, legacy software will run more slowly • Amdahl’s Law: Speed limited by speed of slowest part on critical computation path • But can also use CPUs for other purposes • Assertion checking, intrusion detection, trend analysis, option analysis, performance monitoring, fault tolerance
8. Increasing SysE/SwE Integration • Can’t do good SwE by neglecting SysE • Weak SysE the root cause of most SW project failures • Can’t do good SysE by neglecting critical success factors • Software an increasing system critical success factor • Provides most of competitive differentiation • Provides most of adaptability to change • Enables later binding of commitments
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
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
Software Process Research Implications – I • Empirically-evolved process technology • Languages, methods, metrics, models, and tools • Incremental and ambiguity-tolerant • Accommodating incomplete, informal, and partial specification • Bridging formality, life-cycle, and culture gaps • Empirical testbed-based maturity/transition acceleration • Virtual process collaboration support • Distributed, multi-stakeholder, multi-cultural • Game technology for process education and training • Acquire and develop the way you train • Train the way you acquire and develop
Software Process Research Implications – II • Lean, value-based processes for balancing dependability and agility • Plus scalability, incrementality for systems of systems • General techniques for multi-attribute tradeoff analysis • Associated progress metrics, review criteria, early warning indicators • Integrated technical and acquisition processes • Supporting balance of dependability and agility • Applicable to globally-distributed, multi-cultural collaboration • Process capitalization on computational plenty • Self-monitoring software, higher levels of abstraction, knowledge-based tools • Integration and risk assessment of wild-card technologies • Autonomy, bio-computing
Software Engineering Education Implications • Current software engineering students will be practicing into the 2050s. Their education should consider the following: • Anticipating future trends and preparing students to deal with them; • Capitalizing on information technology to enable the delivery of just-in-time and web-based education; • Monitoring current principles and practices and separating timeless principles from outdated practices; • Participating in leading-edge software engineering research and practice and incorporating the results into the curriculum; • Packaging smaller-scale educational experiences in ways that apply to large-scale projects; • Helping students learn how to learn, through state-of-the-art analyses, future-oriented educational games and exercises, and participation in research; and • Offering lifelong learning opportunities for systems engineers who must update their skills to keep pace with the evolution of best practices • ETH Zurich program an excellent education and research example
Backup Charts • Limitations to software process perfectability • Value-based systems and software engineering
Limitations: Brooks’ Four Essentials Plus Two • Complexity: larger components, systems of systems, attribute tradeoffs • Conformity: evolving standards, external system/COTS constraints • Changeability: solution half-life, unpredictable certainties • Conceptuality (invisibility): COTS opacity, multi-view consistency • Community: stakeholder proliferation, distribution, diversity • Centrality: software failure risks, rice-bowl implications
Limitations: Lampson’s Continuing SW Crisis • Moore’s Law enables the feasibility of new applications • Requiring new and often more complex software • Easier to handle complexity in software than elsewhere • Good engineering practice to address via software • Few physical limits on software applications • Easy to overreach with proposed software solutions
Limitations: Converse of Conway’s Law • Convay’s Law (extended to user organizations) • The structure of a computer program • Reflects the structure of • The organizations that build and use it
Limitations: Converse of Conway’s Law • Conway’s Law (extended to user organizations) • The structure of a computer program • Reflects the structure of • The organizations that build and use it • Converse of Conway’s Law • We will learn how to build perfectly functioning software • As soon as • We learn how to build perfectly functioning organizations
Initial VBSE Theory: 4+1- with Apurva Jain • Engine: Theory W (stakeholder win-win): What values are important? • Enterprise Success Theorem • Theory of Justice • Win-Win Equilibrium and Negotiation • Four Supporting Theories • Utility Theory: How important are the values? • Multi-attribute utility; Maslow need hierarchy • Decision Theory: How do values determine decisions? • Investment theory; game theory; statistical decision theory • Dependency Theory: How do dependencies affect value realization? • Results chains; value chains; cost/schedule/performance tradeoffs • Control Theory: How to monitor and control value realization • Feedback control; adaptive control; spiral risk control
Theory W: Enterprise Success Theorem– And informal proof Theorem: Your enterprise will succeed if and only if it makes winners of your success-critical stakeholders • Proof of “if”:Everyone that counts is a winner. Nobody significant is left to complain. • Proof of “only if”: Nobody wants to lose.Prospective losers will refuse to participate, or will counterattack.The usual result is lose-lose.
Initial VBSE Theory: 4+1 Process– With a great deal of concurrency and backtracking
Value-Based Reading (VBR) Experiment— Keun Lee, ISESE 2005 • Group A: 15 IV&V personnel using VBR procedures and checklists • Group B 13 IV&V personnel using previous value-neutral checklists • Significantly higher numbers of trivial typo and grammar faults Experiment
Adaptation Challenges: A Dual Cone of Uncertainty– Need early systems engineering, evolutionary development Uncertainties in scope, COTS, reuse, services Uncertainties in competition, technology, organizations, mission priorities
Agile and Plan-Driven Home Grounds: Five Critical Decision Factors • Size, Criticality, Dynamism, Personnel, Culture Personnel Personnel (% Level 1B) (% Level 1B) (% Level 2&3) (% Level 2&3) 40 40 15 15 20 20 30 30 20 20 25 25 Criticality Criticality Dynamism Dynamism (Loss due to impact of defects) (Loss due to impact of defects) 10 10 30 30 (% Requirements (% Requirements - - change/month) change/month) 0 0 35 35 Many Many 0.3 1.0 Lives Lives Single Single Essential Essential 3.0 Life Life Discretionary Discretionary Funds Funds 10 Comfort Comfort Funds Funds 30 3 3 Agile Agile 90 90 10 10 70 70 Plan Plan 30 30 - - driven driven 50 50 100 100 30 30 300 300 Size Size 10 10 (# of personnel) (# of personnel) Culture Culture (% thriving on chaos vs. order) (% thriving on chaos vs. order)
Added Cost of Weak ArchitectingCalibration of COCOMO II Architecture and Risk Resolution factor to 161 project data points
DDR&E Systems 2020 Objectives and Constraints OBJECTIVES • DEVELOP FAST: Reduce by 3x the time to acquisition of first article for systems and solutions – DEVELOP FAST • FLEXIBLE: Reduce by 4x the time to implement planned and foreseen changes in systems – FLEX • ADAPTABLE: Embed within systems the ability for changes at the tactical edge, as the mission evolves in unplanned and unforeseen ways, e.g., IED threat – ADAPT CONSTRAINTS • Achieve the objectives while maintaining or enhancing: • Trust and Assurance – Able to withstand exploitation before or after fielding, enabling the leveraging of global supply chains • Reliability – Across a range of changing operational conditions • Interoperability – Working with other systems to meet user needs
DDR&E Systems 2020 Research Areas Faster delivery of complex, adaptive systems Model Based Engineering • Modeling and simulation tools for concurrent design, development & manufacture Platform Based Engineering • Architectural and automated design tools to rapidly insert new capabilities Capability on Demand • Systems embedded with organic adaption capabilities Trusted Systems Design • Design methods and tools for system assurance that detect malice or enable self awareness
Software Process Management Implications • Increasing uncertainty requires risk/value-based processes • Concurrent engineering of system goals, solutions, plans • Integration of systems engineering and software engineering • Thoroughly validated for consistency and feasibility • Via prototypes, benchmarks, models, role-playing • Addressing both quantitative and qualitative value factors • Validation progress becomes a key management metric • Validation shortfalls become risks to be managed • Criticality and rapid change require balance of agile, plan-driven processes • Plan-driven for foreseeable change, high criticality • Parnas encapsulation of sources of change • Agile for unforeseeable change • Continuous learning and adaptation • Especially in wild-card areas
Computational Plenty: Other Implications • New platforms: smart dust, human prosthetics (physical, mental) • New applications: sensor networks, nanotechnology • 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