34
Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

Embed Size (px)

Citation preview

Page 1: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

Fall 2013

Barry Boehm, USC

Course Overview

CS 510Software Management and Economics

Page 2: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 2

Outline• Course objective

– Help you learn to be a successful software manager– For a career lasting through the 2050’s.

• Software management learning objectives– What does a successful SW manager need to deal with?

• What does a successful (software) manager need to do?– Enterprise Success Theorem– Enterprise Success Realization Theorem

• Overview of VBSE Theory– Value-Based Software Engineering

• Overview of Course– Programmatics, schedule, academic integrity

• ICSM Overview• This Week’s Assignment

Page 3: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 3

What Does A Successful Software

Manager Need to Deal With?

Page 4: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 4

What Do SW Managers Need to Deal With?

• People: customers, users, architects, designers, programmers, testers, lawyers, venture capitalists, suppliers, politicians, …

• Products: requirements, designs, code, documentation, plans, tools, data, facilities, equipment, …

• Projects: proposals, presentations, contracts, deliverables, budgets, schedules, milestones, …

• Resources: time, money, space, communications, skills, …• Technology: software, hardware, domain technology, COTS,

OSS, …• Organizations and Cultures: top management, marketing, sales,

development, finance, customer/user organizations, …• Changes in all of the above

Page 5: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 5

What Does A Successful Software

Manager Need to Do?

Page 6: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 6

Software Management Guidelines

• Eclectic combinations of advice

• Management frameworks

• Maturity models

• People management theories: X, Y, Z

• Enterprise Success Theorem: Theory W

• Enterprise Success Realization Theorem

Page 7: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 7

Sorting out software advice

Do it top-down

Thorough test planning

Prove everything correct

Independent test teamsChief

Programmer

teams

Early requirements baseline

BuildIt twiceUse disciplined reviewsDo it outside-in Programming

standardsUse walk-throughs

Measurable milestonesProgram Library

Configuration management

Involve the user

End-item acceptance plan

StructuredProgramming

Unit development foldersProject work authorizations

Automated aids

Design verification

Page 8: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 8

Koontz-O’Donnell Management Framework

Planning Organizing DirectingStaffing Controlling

— Purpose– Contribution to goals– Commitment– Verifiability– Cost-Effectiveness– Precedence

— Structure– Premises– WWWWWHHW– Synchronization

— Process– Limiting Factor– Flexibility– Navigational change– Performer Participation

— Purpose– Contribution to goals

— Purpose– Harmony of goals

— Purpose– Unity of goals– Cost- effectiveness– Span of Management

— Delegation of Authority– Unity of command– Parity of authority

•Responsibility– Authority level– Absoluteness of responsibility

— Division of Work– Form follows function

• People’s strengths– Functional definition– Separation

— Selection– Top talent– Job matching– Career progression– Skills balance– Teamwork

— Recruiting– Reward– Openness– Commitment

—Retention– Reinforcement– Team building– Phase out– Backup

— Purpose– Assurance of goals– Cost-effectiveness– Control responsibility— Motivation

– Understanding of goals– Reflection of goals

— Communication– Parity of information

•Responsibility– Receptiveness– Integrity

— Leadership– Identification– Empathy– Sustained initiative– Integrity– Team building– Management of time

— Structure– Reflection of plans– Organizational suitability– individuality

— Process– Standards– Critical-point– Exception– Flexibility– Timeliness– Action

Page 9: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 9

CMMI Process AreasStaged Representation

Project PlanningProject Monitoring and ControlConfiguration ManagementProcess & Product Quality AssuranceSupplier Agreement ManagementMeasurement and AnalysisRequirements Management

Organizational Process FocusOrganizational Process DefinitionOrganizational TrainingIntegrated Project ManagementRisk Management Decision Analysis and ResolutionRequirements DevelopmentTechnical Solution Product IntegrationVerification Validation

Quantitative Project ManagementOrganizational Process Performance

Causal Analysis and ResolutionOrganizational Innovation & Deployment

Level 2Managed

Level 3Defined

Level 4Quantitatively Managed

Level 5Optimizing

Level 1Performed

• Integrated Teaming• Organizational Environment for Integration

Page 10: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 10

Theory X and Theory Y*• Theory X

– People inherently dislike work– They have to be coerced into working– They prefer being told what to do

• Theory Y– People don’t inherently dislike work– People can exercise self-direction– Commitment to objectives depends on resulting rewards– People can learn to seek responsibility– Work creativity is widely distributed– People’s potential is only partially utilized

* D. McGregor, The Human Side of Enterprise, 1960.

Page 11: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 11

Theory Z: Japanese-Style Management

• People work best toward goals which they have helped establish

• Once people have bought into goals, you can trust them to perform

• If people share a common set of values, they can develop workable project goals

Page 12: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 12

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.

Page 13: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 13

Win-lose Generally Becomes Lose-lose

Actually, nobody wins in these situations

Proposed Solution “Winner” Loser

Quick, Cheap, Sloppy Product

Developer & Customer

User

Lots of “bells and whistles”

Developer & User Customer

Driving too hard a bargain

Customer & User Developer

Page 14: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 14

Enterprise Success Realization Theorem

Theorem: Your enterprise can realize

success if and only if

1. You identify and involve all of the success critical stakeholders (SCSHs)

– Dependency theory

2. You determine how the SCSHs want to win– Utility theory

3. You help the SCSHs determine and commit to a win-win course of action and solution

– Decision theory

4. You adaptively control the course of action to continue to realize a win-win solution

– Control theory

Page 15: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

Case Study: Personnel Assignment • You are running a project to develop a supply chain management system for a

company in Boston – Need to select a system engineer (SE) to work with the client people in Boston.

– Two primary candidates, Ann and George.   – Both are equally capable , and very much want the job.  

• Here is how a Theory X, Y, or Z manager would likely decide:– Theory X.  I'm the boss. George was a good friend and classmate at USC.  I'll give him

the job.– Theory Y.  I'll ask them for their most creative suggestions for doing the job, and pick

the most creative.– Theory Z.  We are a team, and don't want any favoritism.  Each should have an equal

chance.  I'll flip a coin to decide.

• All three produce win-lose outcomes.  How could you come up with a win-win approach?

©USC-CSSE 15

Page 16: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

Personnel Selection: A Win-Win Approach

• Step 1.  Identify the success-critical stakeholders (SCSHs): Ann and George

• Step 2.  Determine how they want to win– Ann:  I'd like a career path to marketing, and the SE job would be a good step in

that direction.– George:  my daughter is just starting college in the Boston area, and the Boston

job would be an ideal way to keep in touch with her, along with being professionally satisfying.

• Step 3. Help the SCSHs find a win-win situation– Find a comparable marketing job for Ann, and a comparable Boston job for

George– Determine which selection works best for both Ann and George

©USC-CSSE 16

Page 17: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 17

VBSE Theory 4+1 Structure

Utility Theory

Theory W:SCS Win-Win

Decision Theory

Dependency Theory

Control Theory

How do dependencies affect value realization?

How to adapt to change and control value realization?

How do values determine decision choices?

How important are the values?

What values are important?How is success assured?

Page 18: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 18

VBSE Component Theories• Theory W (Stakeholder win-win)

– Enterprise Success Theorem, Win-Win Achievement Theorem

• Dependency Theory (Product, process, people interdependencies)– Systems architecture/performance theory, costing and

scheduling theory; organization theory• Utility Theory

– Utility functions, bounded rationality, Maslow need hierarchy, multi-attribute utility theory

• Decision Theory– Statistical decision theory, game theory, negotiation

theory, theory of Justice• Control Theory

– Observability, predictability, controllability, stability theory

Page 19: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 19

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

Utility Theory

Theory W:SCS Win-Win

Decision Theory

Dependency Theory

Control Theory

6a, 7c. State measurement, prediction, correction; Milestone synchronization

5a. Investment analysis, Risk analysis

1. Protagonist goals3a. Solution exploration7. Risk, opportunity, change management

5a, 7b. Prototyping

2a. Results Chains3b, 5a, 7b. Cost/schedule/performance tradeoffs

2. Identify SCSs

3b, 7a. Solution Analysis

5a, 7b. Option, solution development & analysis

4. SCS expectations management

3. SCS Value Propositions(Win conditions)

SCS: Success-Critical Stakeholder

6, 7c. Refine, Execute, Monitor & Control Plans

5. SCS Win-Win Negotiation

Page 20: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 20

Outline• Course objective

– Help you learn to be a successful software manager– For a career lasting through the 2040’s.

• Software management learning objectives– What does a successful SW manager need to deal with?

• What does a successful (software) manager need to do?– Enterprise Success Theorem– Enterprise Success Realization Theorem

• Overview of VBSE Theory– Value-Based Software Engineering

• Overview of Course– Programmatics, schedule, academic integrity

• ICSM Overview• This Week’s Assignment

Page 21: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 21

Comparison of CS 510 and CS 577a

• COCOMO II Extensions• Microeconomics

– Decision Theory

• Agile and Rapid

Development• People Management

• 2 Midterms, Final

• VBSE Framework• ICSM• WinWin Spiral

– Risk Management•Planning & Control

– COCOMO II• Business Case Analysis

• S/W - System Architecting• Operational Concept & Rqts. Definition

– WinWin System– Prototyping

• OO Analysis & Design– Visual Paradigm

•Team Project (DEN: IV&V)

CS 510 CS 577a• VBSE Theory, Practice

Page 22: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 22

CS 510 Course Schedule Overview

• Aug 27 – Oct 3 VBSE, ICSM, Agility and Discipline, People Management, COCOMO II

• Oct 4 Midterm Exam I• Oct 10 – Nov 2 Software Microeconomics, Risk and

Business Case Analysis• Nov 4 Midterm Exam II• Nov 7 – Dec 7 COTS Integration, Planning &

Control, Maturity Models, Case Studies• Dec 11 Final Exam

Page 23: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 23

CS 510 Programmatics - IBasis of grade. Final Exam, 30%; 2 midterms: 20%; Homework exercises: 50%.

Texts. Boehm et al., Software Cost Estimation with COCOMO II, Prentice Hall, 2000; Selby, Software Engineering: Barry W. Boehm’s Lifetime Contributions to Software Development, Management and Research, Wiley, 2007; Boehm and Turner, Balancing Agility and Discipline, Addison and Wesley, 2004

Instructors. Prof. Barry Boehm, SAL 328, (213) 740-8163, Fax (213) 740-4927; [email protected] . Dr.Sue Koolmanojwong, SAL334 (213)-740-5931

Office Hours. Boehm: Monday and Wednesday, 10am -12noon or by appointment.

Koolmanojwong: Wednesday and Friday, 10am – 12noon or by appointment

Teaching Assistants. Ramin Moazeni, Anandi Hira TA Office Hours. TBD or by appointment Web page: http://sunset.usc.edu/classes/cs510_2013

Page 24: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 24

CS 510 Questionnaire and Acknowledgement

Please fill out and return.

Name: _________________________________________________

Student ID #: ___________________________________________

Dept./Degree Program: __________________________________

Job, Employer: _________________________________________

Software Work Experience (years): _______________________

Phone, fax numbers: ____________________________________

E-mail Address: ________________________________________

Acknowledgement: I acknowledge the importance of USC's academic integrity

standards (with respect to plagiarism, referencing others' work, etc.), and

agree to abide by them.

Signature: ______________________________________________

Page 25: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 25

Academic Integrity Acknowledgement

• Single most-serious offense: Plagiarism– Using other people’s work without crediting them

– Homework, exams, class exercises, individual assignments

• Minor first offense: You lose one grade level– E.g., B+ instead of A-

• Major first offense or second offense: F for the course

Page 26: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 26

We are Serious About Plagiarism– And experienced in finding it

ID Critique Individual Total Team Total Total Final Grade32 182 453.25 715.4 1168.65 B+8 160 454 708.875 1162.875 B+

46 185 450 708.875 1158.875 B+39 182 430.55 715.4 1145.95 B+30 140 428.5 708.875 1137.375 B+36 186 461.75 674.4 1136.15 B+44 0 136 674.4 810.4 F42 165 456.875 674.4 1131.275 B+35 190 452.08 674.4 1126.48 B+23 185 433.25 674.4 1107.65 B

Page 27: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 27

Outline• Course objective

– Help you learn to be a successful software manager– For a career lasting through the 2040’s.

• Software management learning objectives– What does a successful SW manager need to deal with?

• What does a successful (software) manager need to do?– Enterprise Success Theorem– Enterprise Success Realization Theorem

• Overview of VBSE Theory– Value-Based Software Engineering

• Overview of Course– Programmatics, schedule, academic integrity

• ICSM Overview• This Week’s Assignment

Page 28: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 2815 July 2008 ©USC-CSSE 28

The Incremental Commitment Life Cycle Process: OverviewStage I: Definition Stage II: Development and Operations

Anchor Point Milestones

Anchor Point Milestones

Synchronize, stabilize concurrency via FEDsSynchronize, stabilize concurrency via FEDs

Risk patterns determine life cycle process

Risk patterns determine life cycle process

Page 29: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 29

Anchor Point Feasibility Evidence Description

• Evidence provided by developer and validated by independent experts that:

If the system is built to the specified architecture, it will– Satisfy the requirements: capability, interfaces, level of

service, and evolution– Support the operational concept– Be buildable within the budgets and schedules in the plan– Generate a viable return on investment– Generate satisfactory outcomes for all of the success-

critical stakeholders• All major risks resolved or covered by risk management

plans• Serves as basis for stakeholders’ commitment to proceed

Can be used to strengthen current schedule- or event-based reviews

Page 30: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 30

Process Model PrinciplesPrinciples trump diagrams

• The Four ICSM Principles– Stakeholder value-based system definition and

evolution. – Incremental commitment and accountability. – Concurrent multidiscipline system definition and

development. – Evidence and risk-based decision-making.

Used by 60-80% of CrossTalk Top-5 projects, 2002-2005

Page 31: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 31

Incremental Commitment in Gambling

• Total Commitment: Roulette– Put your chips on a number

• E.g., a value of a key performance parameter– Wait and see if you win or lose

• Incremental Commitment: Poker, Blackjack– Put some chips in– See your cards, some of others’ cards– Decide whether, how much to commit to proceed

Page 32: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 32

Scalable remotely controlled operations

Page 33: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 33

Total vs. Incremental Commitment – 4:1 RPV• Total Commitment

– Agent technology demo and PR: Can do 4:1 for $1B– Winning bidder: $800M; PDR in 120 days; 4:1 capability in 40

months– PDR: many outstanding risks, undefined interfaces– $800M, 40 months: “halfway” through integration and test– 1:1 IOC after $3B, 80 months

• Incremental Commitment [number of competing teams]– $25M, 6 mo. to VCR [4]: may beat 1:2 with agent technology, but

not 4:1– $75M, 8 mo. to ACR [3]: agent technology may do 1:1; some risks– $225M, 10 mo. to DCR [2]: validated architecture, high-risk

elements– $675M, 18 mo. to IOC [1]: viable 1:1 capability– 1:1 IOC after $1B, 42 months

Page 34: Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

©USC-CSSE 34

First Week’s AssignmentsHomework 1

• Today: Sign and turn in questionnaire and acknowledgement

• By September 06, 2013, 12 Noon: – What is ICSM?

– Infusion Pump Case Study

• Identify, turn in bulleted lists of how each of the ICSM four principles is used in the infusion pump case study.