Fall 2013
Barry Boehm, USC
Course Overview
CS 510Software 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
©USC-CSSE 3
What Does A Successful Software
Manager Need to Deal With?
©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
©USC-CSSE 5
What Does A Successful Software
Manager Need to Do?
©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
©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
©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
©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
©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.
©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
©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.
©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
©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
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
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
©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?
©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
©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
©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
©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
©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
©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
©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: ______________________________________________
©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
©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
©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
©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
©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
©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
©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
©USC-CSSE 32
Scalable remotely controlled operations
©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
©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.