1 / 50

Barry Boehm, USC-CSSE cssec Fall 2013

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

ezhno
Download Presentation

Barry Boehm, USC-CSSE cssec Fall 2013

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Some Future Software Engineering Opportunities and Challenges Barry Boehm, USC-CSSE http://csse.usc.edu Fall 2013

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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 *

  16. Purchased Services Growth in USC e-Services Projects

  17. 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

  18. 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.

  19. The Incremental Commitment Spiral Model

  20. 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

  21. 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

  22. 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

  23. 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

  24. (a) (b) Value-Based Testing: Empirical Data and ROI— LiGuo Huang, ISESE 2005

  25. 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

  26. 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

  27. 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

  28. Why Software Projects Fail

  29. 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

  30. 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

  31. 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

  32. 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

  33. 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

  34. Backup Charts • Limitations to software process perfectability • Value-based systems and software engineering

  35. 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

  36. 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

  37. 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

  38. 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

  39. 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

  40. 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.

  41. Initial VBSE Theory: 4+1 Process– With a great deal of concurrency and backtracking

  42. 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

  43. 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

  44. 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)

  45. Added Cost of Weak ArchitectingCalibration of COCOMO II Architecture and Risk Resolution factor to 161 project data points

  46. Effect of Size on Software Effort Sweet Spots

  47. 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

  48. 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

  49. 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

  50. 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

More Related