PPT - Center for Software Engineering

advertisement
Course Overview
CS 510
Software Management and Economics
Fall 2013
Barry Boehm, USC
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
2
What Does A Successful Software
Manager Need to Deal With?
©USC-CSSE
3
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
4
What Does A Successful Software
Manager Need to Do?
©USC-CSSE
5
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
6
Sorting out software advice
Prove
everything
correct
Automated
aids
Do it
outside-in
Use walk-throughs
Programming
standards
Measurable milestones
Involve
the user
Structured
Programming
End-item acceptance plan
Unit development folders
©USC-CSSE
7
Koontz-O’Donnell Management Framework
Planning
Organizing
— Purpose
— Purpose
– Unity of goals
– Contribution to
goals
– Commitment
– Verifiability
– Cost-Effectiveness
– Precedence
– Costeffectiveness
– Span of
Management
— Delegation of
Authority
— Structure
– Premises
– WWWWWHHW
– Synchronization
— Process
– Limiting Factor
– Unity of command
– Parity of authority
•Responsibility
– Authority level
– Absoluteness of
responsibility
— Division of Work
– Form follows function
– Flexibility
• People’s strengths
– Navigational change
– Functional definition
– Performer
– Separation
Participation
Staffing
— Purpose
– Contribution to
Directing
Controlling
— Purpose
– Harmony of goals
goals
— Selection
– Top talent
– Job matching
– Career progression
– Skills balance
– Teamwork
— Motivation
– Understanding of
goals
– Reflection of goals
— Purpose
– Assurance of goals
– Cost-effectiveness
– Control responsibility
— Structure
– Reflection of plans
– Organizational
— Communication suitability
– Parity of information – individuality
•Responsibility
— Recruiting
– Reward
– Openness
– Commitment
—Retention
– Reinforcement
– Team building
– Phase out
– Backup
©USC-CSSE
– Receptiveness
– Integrity
— Leadership
– Identification
– Empathy
– Sustained initiative
– Integrity
– Team building
– Management of time
— Process
– Standards
– Critical-point
– Exception
– Flexibility
– Timeliness
– Action
8
CMMI Process Areas
Staged Representation
Level 5
Optimizing
Causal Analysis and Resolution
Organizational Innovation & Deployment
Level 4 Quantitative Project Management
Quantitatively Managed Organizational Process Performance
Organizational Process Focus
Organizational Process Definition
Organizational Training
Level 3 Integrated Project Management
Defined Risk Management
Decision Analysis and Resolution
Requirements Development
Technical Solution
• Integrated Teaming
Product Integration
• Organizational Environment
Verification
for Integration
Validation
Level 2
Managed
Level 1
Performed
Project Planning
Project Monitoring and Control
Configuration Management
Process & Product Quality Assurance
Supplier Agreement Management
Measurement and Analysis
Requirements Management
©USC-CSSE
9
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
10
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
11
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
12
Win-lose Generally Becomes Lose-lose
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
Actually, nobody wins in these situations
©USC-CSSE
13
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)
–
2.
Dependency theory
You determine how the SCSHs want to win
–
3.
Utility theory
You help the SCSHs determine and commit to a win-win
course of action and solution
–
4.
Decision theory
You adaptively control the course of action to continue to
realize a win-win solution
–
Control theory
©USC-CSSE
14
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 winwin 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
VBSE Theory 4+1 Structure
Dependency
Theory
How do dependencies
affect value realization?
Utility Theory
What values are important?
How is success assured?
How important are the
values?
Theory W:
SCS Win-Win
How to adapt to change and
control value realization?
How do values determine
decision choices?
Control Theory
Decision Theory
©USC-CSSE
17
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
18
Initial VBSE Theory: 4+1 Process
– With a great deal of concurrency and backtracking
5a, 7b. Option, solution
development & analysis
Dependency
Theory
Utility Theory
2a. Results Chains
2. Identify SCSs
3b, 5a, 7b. Cost/schedule/
performance tradeoffs
3b, 7a. Solution Analysis
3. SCS Value
Propositions
(Win conditions)
4. SCS expectations
management
Theory W:
SCS Win-Win
6, 7c. Refine, Execute,
Monitor & Control Plans
Control Theory
5a, 7b. Prototyping
5. SCS Win-Win
Negotiation
1. Protagonist goals
3a. Solution exploration
7. Risk, opportunity, change
Decision Theory
management
6a, 7c. State measurement,
prediction, correction;
Milestone synchronization
5a. Investment analysis,
Risk analysis
©USC-CSSE
SCS: Success-Critical Stakeholder
19
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
20
Comparison of CS 510 and CS 577a
CS 510
CS 577a
• VBSE Theory, Practice
• COCOMO II Extensions
• VBSE Framework
• Microeconomics
• ICSM
– Decision Theory
• WinWin Spiral
• Agile and Rapid
– Risk Management
Development
•Planning & Control
– COCOMO II
• People Management
• Business Case
• 2 Midterms, Final
Analysis
©USC-CSSE
• S/W - System
Architecting
• Operational Concept &
Rqts. Definition
– WinWin System
– Prototyping
• OO Analysis & Design
– Visual Paradigm
•Team Project
(DEN: IV&V)
21
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
22
CS 510 Programmatics - I
Basis 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; boehm@usc.edu . 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
23
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
24
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
25
We are Serious About Plagiarism
– And experienced in finding it
ID
32
8
46
39
30
36
44
42
35
23
Critique Individual Total Team Total
182
453.25
715.4
160
454
708.875
185
450
708.875
182
430.55
715.4
140
428.5
708.875
186
461.75
674.4
0
136
674.4
165
456.875
674.4
190
452.08
674.4
185
433.25
674.4
©USC-CSSE
Total
Final Grade
1168.65
B+
1162.875
B+
1158.875
B+
1145.95
B+
1137.375
B+
1136.15
B+
810.4
F
1131.275
B+
1126.48
B+
1107.65
B
26
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
27
The Incremental Commitment Life Cycle Process: Overview
Stage I: Definition
Stage II: Development and Operations
Anchor Point
Milestones
Synchronize, stabilize concurrency via FEDs
Risk patterns
determine life
cycle process
©USC-CSSE
15 July 2008
©USC-CSSE
28
28
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 successcritical 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
29
Process Model Principles
Principles 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
30
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
31
Scalable remotely controlled
operations
©USC-CSSE
32
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
33
First Week’s Assignments
Homework 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.
©USC-CSSE
34
Download