Title: Software Engineering
1Software Engineering
- Dr Zumao Weng
- School of Computing and Intelligent Systems, UUM
- 2-12-2008
2Chapter 11 A View of Future Systems and
Software Engineering
3The Future of Systems and Software
- Eight surprise-free trends
- Increasing integration of System Engineering and
Software Engineering - 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
- Implications for SE/SW processes
- Jointly and severally
4(No Transcript)
5Pareto 80-20 distribution of test case value
Bullock, 2000
6Business Case for Value-Based Testing
7Criticality 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 (Thats how weve 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
8Hybrid Agile/Plan-Driven Process Increment View
9Hybrid Agile/Plan-Driven Process Increment View
10COTS The Future is Here
- Major concerns COTS assurance, evolution,
interoperability - Need pro-active supplier COTS management,
synchronization - Software is not all about programming anymore
11Persistence of Legacy Systems
- Before establishing new-system increments
- Determine how to undo legacy system
1939s Science Fiction World of 2000
Actual World of 2000
12Wild 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 - VV difficulties cooperating autonomous agents,
biocomputing - Forms and timing of new capabilities still unclear
13Risk-Driven Scalable Spiral Model Life Cycle View
LCA Life Cycle Architecture IOC Initial
Operational Capability OOD Observe, Orient and
Decide VV Verification and Validation DI
Development Increment B/L Baselined
14Risk-Driven Scalable Spiral Model Life Cycle View
LCA Life Cycle Architecture IOC Initial
Operational Capability OOD Observe, Orient and
Decide VV Verification and Validation DI
Development Increment B/L Baselined
15Anchor 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
16Spiral 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
17CD Concept Development CR Concept
Refinement IDR Increment Decision
Review IPPD Integrated Product and Process
Development IPR In Process Review IPT Integrated
Product Team IRR Increment Readiness
Review OC Operational Capability RR Readiness
Review SDD System Development and
Demonstration TD Technology Development
18Levels of Activity - EIEIO model for relatively
complex systems
IRR Inception Readiness Review LCO Life Cycle
Objectives LCA Life Cycle Architecture OC
Operational Capability. LCAN1 is being
rebaselined while OCN is being implemented and
OCN-1 is being operated.
19Agile and Plan-Driven Home Grounds Five
Critical Decision Factors
- Size, Criticality, Dynamism, Personnel, Culture
20Distribution/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
21Diversity of Cultures
- Hall monochromatic (closure) vs. polychromatic
(concurrency) - Hofstede individual/group power distance
masculine/feminine uncertainty avoidance
long/short-term 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
22Integrated Enterprise Architectures
Federal Enterprise Architectural Framework (FEAF)
DOD Architectural Framework (DODAF)
Zachman Framework
23The 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
24Systems 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
25Computational Plenty Process
- New platforms smart dust, human prosthetics
(physical, mental) - New applications sensor networks, nanotechnology
- Enable powerful self-monitoring software
- Assertion checking, trend analysis, intrusion
detection, proof-carrying 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
26Acquisition Management Implications - I
- 20th century build-to-spec contracting practices
usable in part - Good fit for stabilized-increments team
- But not for rebaselining, VV 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
27Acquisition Management Implications - II
- Dont 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
28Conclusions
- 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, VV, 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
29References
- 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.