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

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

  • View
    269

  • Download
    6

Embed Size (px)

Citation preview

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

Fall 2011

Barry Boehm, USC

Course Overview

CS 510Software Management and Economics

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

8/22/11 ©USC-CSSE 2

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 3: Fall 2011 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

8/22/11 ©USC-CSSE 3

What Does A Successful Software

Manager Need to Deal With?

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

8/22/11 ©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 2011 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

8/22/11 ©USC-CSSE 5

What Does A Successful Software

Manager Need to Do?

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

8/22/11 ©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 2011 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

8/22/11 ©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 2011 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

8/22/11 ©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 2011 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

8/22/11 ©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 2011 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

8/22/11 ©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 2011 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

8/22/11 ©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 2011 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

8/22/11 ©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 2011 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

8/22/11 ©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 2011 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

8/22/11 ©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 2011 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

8/22/11 ©USC-CSSE 15

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 16: Fall 2011 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

8/22/11 ©USC-CSSE 16

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 17: Fall 2011 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

8/22/11 ©USC-CSSE 17

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 18: Fall 2011 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

8/22/11 ©USC-CSSE 18

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 19: Fall 2011 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

8/22/11 ©USC-CSSE 19

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– Rational Rose

•Team Project (DEN: IV&V)

CS 510 CS 577a• VBSE Theory, Practice

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

8/22/11 ©USC-CSSE 20

CS 510 Course Schedule Overview

• Aug 22 – Sept 28 VBSE, ICSM, Agility and Discipline, People Management, COCOMO II

• Sept 30 Midterm Exam I• Oct 2 – Oct 28 Software Microeconomics, Risk and

Business Case Analysis• Oct 28 Midterm Exam II• Oct 31 – Dec 2 COTS Integration, Planning &

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

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

8/22/11 ©USC-CSSE 21

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, SAL329 (213)-740-6506

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

Teaching Assistants. Tom Tan, Qi Li, SAL339 TA Office Hours. TBD or by appointment Web page: http://sunset.usc.edu/classes/cs510_2011

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

8/22/11 ©USC-CSSE 22

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 23: Fall 2011 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

8/22/11 ©USC-CSSE 23

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 24: Fall 2011 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

8/22/11 ©USC-CSSE 24

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 25: Fall 2011 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

8/22/11 ©USC-CSSE 25

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 26: Fall 2011 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

8/22/11 ©USC-CSSE 2615 July 2008 ©USC-CSSE 26

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 27: Fall 2011 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

8/22/11 ©USC-CSSE 27

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 28: Fall 2011 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

8/22/11 ©USC-CSSE 28

Process Model PrinciplesPrinciples trump diagrams

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

evolution. – Incremental commitment and accountability. – Concurrent hardware-peopleware-software

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

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

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

8/22/11 ©USC-CSSE 29

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 30: Fall 2011 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

8/22/11 ©USC-CSSE 30

Scalable remotely controlled operations

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

8/22/11 ©USC-CSSE 31

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 32: Fall 2011 Barry Boehm, USC Course Overview CS 510 Software Management and Economics

8/22/11 ©USC-CSSE 32

First Week’s AssignmentsHomework 1

• Today: Sign and turn in questionnaire and acknowledgement

• By Wednesday, August 31, 2011, 12 Noon: Read SMB-0 Case Study (EP-1), What is ICSM? (EP-28)

• Identify, turn in bulleted lists of how each of the ICSM four principles can help improving the SMB-0 situation.