University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE1 Software Acquisition and Life Cycle Management CS577b, Spring.

Slides:



Advertisements
Similar presentations
Prescriptive Process models
Advertisements

Incremental Commitment Spiral Model, Expedited Engineering, and Kanban Jo Ann Lane and Alexey Tregubov USC CSSE Rich Turner Stevens University.
1 Software Processes A Software process is a set of activities and associated results which lead to the production of a software product. Activities Common.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Unit 2. Software Lifecycle
CSE 470 : Software Engineering The Software Process.
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
University of Southern California Center for Systems and Software Engineering A Look at Software Engineering Risks in a Team Project Course Sue Koolmanojwong.
Alternate Software Development Methodologies
Systems Engineering in a System of Systems Context
University of Southern California Center for Software Engineering C S E USC 02/16/05©USC-CSE1 LiGuo Huang Computer Science Department.
University of Southern California Center for Systems and Software Engineering SoS Engineering and the ICM Workshop Overview Jo Ann Lane USC CSSE
CS-1 6/1/ /1/2015 Towards a Work Breakdown Structure for Net Centric System of Systems Engineering and Management 20 th International Forum on COCOCMO.
1 Independent Verification and Validation Current Status, Challenges, and Research Opportunities Dan McCaugherty IV&V Program Manager Titan Systems Corporation.
Rational Unified Process
New Processes and Estimation Methods for Acquiring 21st Century Software-Intensive Systems of Systems for CS 510 Barry Boehm
University of Southern California Center for Software Engineering CSE USC System Dynamics Modeling of a Spiral Hybrid Process Ray Madachy, Barry Boehm,
University of Southern California Center for Software Engineering C S E USC Hardware/Software Human Systems Integration Context and Processes USC-CSE Executive.
University of Southern California Center for Software Engineering C S E USC Barry Boehm, USC USC-CSE Executive Workshop March 15, 2006 Processes for Human.
University of Southern California Center for Software Engineering CSE USC MBASE Essentials Planning and control Milestone content Process models Life cycle.
University of Southern California Center for Systems and Software Engineering USC CSSE Research Overview Barry Boehm Sue Koolmanojwong Jo Ann Lane Nupul.
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
University of Southern California Center for Systems and Software Engineering ©USC-CSSE1 3/18/08 (Systems and) Software Process Dynamics Ray Madachy USC.
1 SOFTWARE LIFE-CYCLES Beyond the Waterfall. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance The WATERFALL.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
University of Southern California Center for Systems and Software Engineering Integrating Systems and Software Engineering (IS&SE) with the Incremental.
Complex System of Systems (CSoS): Fitness Landscapes and Acquisition Incentives Barry Boehm, USC Symposium on Complex Systems Engineering January 11-12,
Systems of Systems: Characteristics and Challenges Barry Boehm, USC Center for Systems & Software Engineering October.
System-of-Systems Cost Modeling: COSOSIMO July 2005 Workshop Results Jo Ann Lane University of Southern California Center for Software Engineering.
University of Southern California Center for Software Engineering C S E USC Barry Boehm, USC CS 510 Lecture Fall 2011 Value-Based Software Engineering.
SQM - 1DCS - ANULECTURE Software Quality Management Software Quality Management Processes V & V of Critical Software & Systems Ian Hirst.
1 SOFTWARE PRODUCTION. 2 DEVELOPMENT Product Creation Means: Methods & Heuristics Measure of Success: Quality f(Fitness of Use) MANAGEMENT Efficient &
University of Southern California Center for Software Engineering C S E USC Agile and Plan-Driven Methods Barry Boehm, USC USC-CSE Affiliates’ Workshop.
COMP8130 and 4130Adrian Marshall 8130 and 4130 Test Management Adrian Marshall.
University of Southern California Center for Software Engineering C S E USC August 2001©USC-CSE1 CeBASE Experience Base (eBASE) -Shared Vision Barry Boehm,
Software Development Process
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
UNIT – II ARCHITECTING WEB SERVICES. WHAT ARE WEB SERVICES ? Web Services are loosely coupled, contracted components that communicate via XML-based interfaces.
Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
What is a life cycle model? Framework under which a software product is going to be developed. – Defines the phases that the product under development.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
CHECKPOINTS OF THE PROCESS Three sequences of project checkpoints are used to synchronize stakeholder expectations throughout the lifecycle: 1)Major milestones,
13-January-2003cse LifeCycle © 2003 University of Washington1 Lifecycle CSE 403, Winter 2003 Software Engineering
1 SWE Introduction to Software Engineering Lecture 4.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
An Introduction to Software Engineering
Rational Unified Process (RUP) Process Meta-model Inception Phase These notes adopted and slightly modified from “RUP Made Easy”, provided by the IBM Academic.
Chapter 3 Strategic Information Systems Planning.
University of Southern California Center for Software Engineering CSE USC A Case for Anchor Point Milestones and Feasibility Rationales April 2005 Barry.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Systems/Software ICM Workshop Acquisition and Process Issues Working Group Rick Selby and Rich Turner Systems/Software ICM Workshop July 14-17, 2008 Washington.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
University of Southern California Center for Systems and Software Engineering Enablers and Inhibitors for Expediting Systems and Software Engineering &
Slide 3.1 © The McGraw-Hill Companies, 2002 SOFTWARE LIFE-CYCLE MODELS.
Advanced Software Engineering Dr. Cheng
Integrating Quality Activities in the Project Life Cycle
CS 577b: Software Engineering II
Software and System Acquisition
Using the Incremental Commitment Model (ICM) Process Decision Table
Using the Incremental Commitment Model (ICM) Process Decision Table
Comparison between each special case
Presentation transcript:

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE1 Software Acquisition and Life Cycle Management CS577b, Spring 2006 Barry Boehm, USC

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE2 Outline Context: “The world is flat” Outsourcing principles and practices Deciding to develop or acquire –Importance of life cycle considerations Example: Leading-edge systems of systems acquisition Conclusions

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE3 Context: “The World is Flat” -Friedman, 2005 Information processing functions can be performed almost anywhere in the world –Low-cost global fiber-optic communications –Overnight global delivery services Significant advantages in outsourcing to low-cost suppliers –But significant risks also Competitive success involves pro-actively pursuing advantages –While keeping risks manageable

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE4 Example Success Patterns - e.g. Walmart, Dell Identify corporate focus and strategy –Focus on core competitive discriminators Develop value chain linking inputs to outputs and values –Eliminate non-value-adding activities –Identify which can be outsourced Select, engage outsourcing partners Monitor progress vs. plans –Adapt to changes in marketplace, technology, environment

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE5 Preparing for Outsourcing (I) -Gartner, 2004 Self-Awareness –Strengths, weaknesses, opportunities, threats (SWOT) Resource Management –Future vs. current allocation of resources, accountability Competences –Competitive core competencies; outsourceable competencies Organization –Multimodal: skills, operations, cross-cutting improvements

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE6 Preparing for Outsourcing (II) -Gartner, 2004 Roles –Less on skills; more on business processes and objectives Change Readiness –Not just more adaptive, but more pro-active Communication –Less hierarchical, open

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE7 Core Competencies Include Outsourcing Sourcing strategy and framework –Business strategy and Op Con, technical architecture, parts outsourced Source selection –Request for proposals; evaluation criteria, evaluation processes, selection processes Contact negotiation –Statement of work, deliverables, award fees, change adaptiveness, principled negotiation Outsourcing management –Teambuilding, expectations management, change management, progress monitoring, corrective action Success-critical stakeholder win-win

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE8 Outline Context: “The world is flat” Outsourcing principles and practices Deciding to develop or acquire –Importance of life cycle considerations Example: Leading-edge systems of systems acquisition Conclusions

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE9 Deciding to Develop or Acquire: Options CriteriaDevelopOutsourceOTS Development cost, speed** Life cycle cost* - ** Scarce staff** Non- core competency function *** Core competency function** Unique needs*** Control of evolution***

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE10 Life Cycle Evolution Risks: - Outsourcing or OTS Divergence of objectives –Accommodation of special needs Erosion of core competencies Continuing-change costs –COTS products: new release every 8-10 months; unsupported after 3 releases –Renegotiating supplier agreements Lack of technology scalability, evolvability

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE11 21 st Century Acquisition Challenges Transformational net-centric systems of systems (NCSOS) –With broad and deep supplier chains Increasingly rapid change, need for agility –Technology, competition, environment changes –Requirements emergent rather than pre-specifiable Increasing need for discipline and high assurance –Security, safety, performance, interoperability, … Increasing dependence on COTS, reused, and legacy components

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE12 What does a NCSOS look like?

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE13 Complexity of NCSOS Solution Spaces Size: M lines of software code Number of external interfaces: Number of “Coopetitive” suppliers: –Even more separate work locations Depth of supplier hierarchy: 6-12 levels Number of coordination groups: –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

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE14 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

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE15 Failure Mode I: Build-to-Spec Deliverables - Purchasing agent metaphor Rapid change: heavy spec change traffic, slow contract changes Plus deep supplier chain: slowdowns multiply, changes interact Plus emergent rqts: many initial specs wrong; more changes Plus build-to-spec award fee: supplier inertia Bottom line: late rework, overruns, mission shortfalls

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE16 Why Software Projects Fail - Overruns: 189% cost; 222% schedule; 61% of product

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE Month Development Increments Need More Concurrency

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE18 Failure Mode II: Sequential Document-Driven Milestones - Waterfall, V-model, MIL-STD-1521B Rqts. Emergence, COTS: freeze rqts. too early Plus document-completion progress metrics: hasty point solutions, undiscovered risks Plus rapid change: problems with Failure Mode I Bottom line: more late rework, overruns, mission shortfalls

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE19 $100M $50M Required Architecture: Custom; many cache processors Original Architecture: Modified Client-Server Response Time (sec) Original Spec After Prototyping Original Cost The Cost of Hasty Specifications 15-Month Architecture Rework Delay

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE20 Failure Mode III: Hasty Best-of-Breed Source Selection - Overambitious startup schedule Complexity, emergence: incomplete, unvalidated system architecture, solicitation SOWs Deep, wide supplier chains: incompatible legacy solutions, COTS; critical-path modeling & simulation needs Rapid change: rapid COTS evaluation, version obsolescence –GSAW: 8-11 months/release; 3 supported releases Bottom line: serious integration problems, overruns, mission shortfalls

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE21 How much Architecting is Enough? - A COCOMOII Analysis Percent of Project Schedule Devoted to Initial Architecture and Risk Resolution Added Schedule Devoted to Rework (COCOMO II RESL factor) Total % Added Schedule KSLOC 100 KSLOC 10 KSLOC Sweet Spot Sweet Spot Drivers: Rapid Change: leftward High Assurance: rightward

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE22 Failure Mode IV: Incremental Document-Driven Development - Risk-insensitive “spirals”; ambitious increment schedules High assurance of –ilities: deferral to later increments Complex NCSOS: early-increment architecture inadequate for later-increment –ilities. Rapid change: destabilization of ambitious increment schedules; increment completion delays; next increment destabilized Bottom line: serious security, safety, scalability problems; destabilized development; more rework, overruns, shortfalls

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE23 Conclusions So Far 20 th century contracting practices have many failure modes for 21 st century NCSOS –High likelihood of serious overruns, mission shortfalls –Still good for 20 th century type acquisitions Purchasing agent metaphors a poor match to NCSOS acquisition –A better metaphor is C4ISR –Acquirers need to operate in OODA loops Observe, Orient, Decide, Act New acquisition policies, processes, and practices needed –Empower acquisition corps to deal with NCSOS challenges –Being worked out in various programs –Example provided next

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE24 Emerging Scalable Spiral Process - For 21 st century systems engineering and acquisition The C4ISR Metaphor for NCSOS Acquisition –Role of OODA loops –Example: Internet Spiral –Example: FCS Win Win Spiral Model Risk-Driven Scalable Spiral Model –Increment view –Life-cycle view –Role of anchor point milestones Acquisition management implications People management implications

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE25 Acquisition C4ISR Via Spiral OODA Loops – Example: ARPANet/Internet Spiral Life Cycle Architecture Milestone for Cycle Decide on next-cycle capabilities, architecture upgrades, plans Stable specifications, COTS upgrades Development, integration, V&V, risk management plans Feasibility rationale Act on plans, specifications Keep development stabilized Change impact analysis, preparation for next cycle (mini- OODA loop) Orient with respect to stakeholders priorities, feasibility, risks Risk/Opportunity analysis Business case/mission analysis Prototypes, models, simulations Observe new/updated objectives, constraints, alternatives Usage monitoring Competition, technology, marketplace ISR Operate as current system Accept new system

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE26 Risk-Driven Scalable Spiral Model: Increment View

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE27 Risk-Driven Scalable Spiral Model: Increment View

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE28 Risk-Driven Scalable Spiral Model: Life Cycle View System Inception System Elaboration Agile DI 2 (OO&D) Rebaselining Plan-Driven DI 1 Construction (A) DI 1 V&V Plan-Driven DI 2 Construction (A) DI 2 V&V System LCASystem, DI 1 LCADI 2 B/L LCA DI 2 LCA Changes 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

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE29 Risk-Driven Scalable Spiral Model: Life Cycle View System Inception System Elaboration Agile DI 2 (OO&D) Rebaselining Plan-Driven DI 1 Construction (A) DI 1 V&V Agile DI 3 (OO&D) Rebaselining Plan-Driven DI 2 Construction (A) DI 2 V&V Agile DI 4 (OO&D) Rebaselining Plan-Driven DI 3 Construction (A) DI 3 V&V DI 1 Trans’n DI 1 Usage DI 2 Trans’n DI 2 Usage DI 3 Trans’n DI 3 Usage System LCA DI 3 LCA System, DI 1 LCADI 2 B/L LCADI 3 B/L LCADI 4 B/L LCA Update DI 2 LCA Changes DI 4 LCA... DI 1 IOC DI 3 IOC DI 2 IOC 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

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE30 Acquisition Management Implications - I 20 th 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

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE31 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

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE32 Conclusions 20 th century acquisition practices inadequate to address 21 st century system acquisition challenges –Net-centric systems of systems, emergent requirements, rapid change, high assurance Risk-driven Scalable Spiral Process provides framework for coping with 21 st century challenges –Stabilized increments using 20 th century practices –New practices for agile rebaselining, thorough V&V Transformational empowerment of acquisition corps a top priority –Education, mentoring, tools, techniques

University of Southern California Center for Software Engineering C S E USC 3/8/06©USC-CSE33 B. Boehm, R. Turner, Balancing Agility and Discipline, Addison Wesley, B. Boehm, W. Hansen, “The Spiral Model as a Tool for Evolutionary Acquisition,” Cross Talk, May B. Boehm, D. Port, “Balancing Discipline and Flexibility with the Spiral Model and MBASE,” CrossTalk, December 2001, pp B. Boehm, D. Port, L. Huang, and W. Brown, “Using the Spiral Model and MBASE to Generate New Acquisition Process Models: SAIV/ CAIV, and SCQAIV,” CrossTalk, January 2002, pp D. Reifer and B. Boehm, “A Model Contract/Subcontract Award Fee Plan for Large, Change-Intensive Software Acquisitions,” USC-CSE Technical Report, April B. Boehm, A.W. Brown, V. Basili, and R. Turner, “Spiral Acquisition of Software- Intensive Systems of Systems,” Cross Talk, May 2004, pp B. Boehm, “The Future of Software and Systems Engineering Processes,” Tech Report USC-CSE-TR-507, June USC-CSE web site : sunset.usc.edu Agile workshops web site : CrossTalk articles: References