Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSE 8340 Advanced Topics on Software Engineering: Software Engineering Economics & Processes Course Overview LiGuo Huang Dept. of Computer Science and.

Similar presentations


Presentation on theme: "CSE 8340 Advanced Topics on Software Engineering: Software Engineering Economics & Processes Course Overview LiGuo Huang Dept. of Computer Science and."— Presentation transcript:

1 CSE 8340 Advanced Topics on Software Engineering: Software Engineering Economics & Processes Course Overview LiGuo Huang Dept. of Computer Science and Engineering Southern Methodist University ©SMU-CSE

2 Outline Course objectives Evolution of software engineering
Roadmap of software engineering economics 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 This Week’s Assignment ©SMU-CSE

3 Course Objectives Help you learn to be a successful software manager
Software technology, economic factors, human relations For a career lasting through the 2040’s Understand the fundamental principles underlying software management and economics Analyze software management situations via case studies Apply the principles and techniques to practical situations ©SMU-CSE

4 "Those who cannot remember the past are condemned to repeat it,"
– George Santayana ©SMU-CSE

5 Outline Course objectives Evolution of Software Engineering
Roadmap of software engineering economics 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 This Week’s Assignment ©SMU-CSE

6 Evolution of Software Engineering (1)
1950’s Thesis: Software Engineering Is Like Hardware Engineering + Don’t neglect the sciences + Look before you leap Avoid using a rigorous sequential process 1960’s Antithesis: Software Crafting + Respect software’s differences – Avoid cowboy programming 1970’s Synthesis and Antithesis: Formality and Waterfall Processes + Determine the system’s purpose + Quantitative methods + Eliminate errors early – Avoid top-down development and reductionism ©SMU-CSE

7 Evolution of Software Engineering (2)
1980’s Synthesis: Productivity and Scalability + There are many roads to increased productivity + What’s good for products is good for process Be skeptical about silver bullets or one-size-fits-all solutions 1990’s Antithesis: Concurrent vs. Sequential Processes + Time is money + Make software useful to people – Be quick, but don’t hurry ©SMU-CSE

8 Evolution of Software Engineering (3)
2000’s Antithesis and Partial Synthesis: Agility and Value + If change is rapid, adaptability trumps repeatability + Consider and satisfy success-critical stakeholders’ value propositions 2010’s Antitheses and Partial Syntheses: Globalization and Systems of Systems ©SMU-CSE

9 Outline Course objectives Evolution of Software Engineering
Roadmap of software engineering economics 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 This Week’s Assignment ©SMU-CSE

10 Software Engineering Economics
Software is a critical component for enterprise value creation Improve the value created by investments in software Improve software design and engineering through economic reasoning about product, process, program, portfolio and policy issues Understand relationships between economic objectives, constraints, and conditions Software engineering as a value-creating activity connect technical decisions with enterprise-level value outcomes ©SMU-CSE

11 Sources of Technical-Value Mismatch
Lack adequate frameworks for modeling, measuring and analyzing the connections between technical properties/decisions and value creation Software designers and engineers are not educated on reasoning about value creation Inadequate design space within which software designers operate set of technologies with which software is developed and used organizational, regulatory, tax, market and other structures within which software is developed and used ©SMU-CSE

12 New Sources of “Value” Value of changes Value of timing
Value with uncertainties Real options Value of timing Intel and AMD Microsoft’s independent-feature-based architectural style and synchronize-and-stabilize process Tradeoffs in multi-dimensional value spaces ©SMU-CSE

13 New Measures of “Value”
Monetary “value” and non-monetary “value” Non-linear functions Value under uncertainty Decision (utility) theory provides a framework for decisions under uncertainty Real-options framework compared with Net Present Value (NPV) Discounted Cash Flow (DCF) Multi-objective decision-making ©SMU-CSE

14 Multi-stakeholder Satisfying
Each stakeholder has its own goals and measures of value Conflicting interests in the distribution of gains Awards and risks coexist Integrate value considerations into complex, software-intensive development processes WinWin Spiral Lifecycle Model ©SMU-CSE

15 Future Trends and Additional Challenges
COTS intensive software systems Reason about both costs and benefits Minimal cost strategies doesn’t necessarily optimize value Example: RAD Classic schedule estimation: Question: How about value loss due to delay of time to market? ©SMU-CSE

16 Software Engineering Economics Roadmap
Product and process design for value creation Understand better the links between technical design mechanisms (e.g., architecture), context, and value creation Dynamic monitoring and control to better guide decision-makers through the design space Modeling costs, benefits/value and quality ©SMU-CSE

17 Emerging Value-driven Design and Development Approaches
ICM: Incremental Commitment Model MBASE/USC: Model Based (System) Architecting and Software Engineering approach DMR/Thorp Risk-based/Value-based testing Value-based design Value-based security ©SMU-CSE

18 Outline Course objectives Evolution of Software Engineering
Roadmap of software engineering economics 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 This Week’s Assignment ©SMU-CSE

19 What Does A Successful Software Manager Need to Deal With?
©SMU-CSE

20 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 ©SMU-CSE

21 What Does A Successful Software Manager Need to Do?
©SMU-CSE

22 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 ©SMU-CSE

23 Sorting Out Software Advice
Build It twice Thorough test planning Do it top-down Prove everything correct Use disciplined reviews Do it outside-in Programming standards Automated aids Independent test teams Use walk-throughs Chief Programmer teams Measurable milestones Early requirements baseline Program Library Involve the user Structured Programming Design verification Configuration management Project work authorizations End-item acceptance plan Unit development folders ©SMU-CSE

24 Koontz-O’Donnell Management Framework
Planning Organizing Staffing Directing Controlling Purpose Contribution to goals Commitment Verifiability Cost-Effectiveness Precedence Purpose Unity of goals Cost- effectiveness Span of Management Purpose Contribution to goals Purpose Harmony of goals Purpose Assurance of goals Cost-effectiveness Control responsibility Motivation Understanding of goals Reflection of goals Selection Top talent Job matching Career progression Skills balance Teamwork Structure Reflection of plans Organizational suitability individuality Delegation of Authority Unity of command Parity of authority Responsibility Authority level Absoluteness of responsibility Communication Parity of information Responsibility Receptiveness Integrity Structure Premises WWWWWHHW Synchronization Recruiting Reward Openness Commitment Process Standards Critical-point Exception Flexibility Timeliness Action Leadership Identification Empathy Sustained initiative Integrity Team building Management of time Process Limiting Factor Flexibility Navigational change Performer Participation Division of Work Form follows function People’s strengths Functional definition Separation Retention Reinforcement Team building Phase out Backup ©SMU-CSE

25 CMMI Process Areas Staged Representation
Level 5 Optimizing Causal Analysis and Resolution Organizational Innovation & Deployment Level 4 Quantitatively Managed Quantitative Project Management Organizational Process Performance Organizational Process Focus Organizational Process Definition Organizational Training Integrated Project Management Risk Management Decision Analysis and Resolution Requirements Development Technical Solution Product Integration Verification Validation Level 3 Defined Integrated Teaming Organizational Environment for Integration Project Planning Project Monitoring and Control Configuration Management Process & Product Quality Assurance Supplier Agreement Management Measurement and Analysis Requirements Management Level 2 Managed Level 1 Performed ©SMU-CSE

26 Theory X and Theory Y* Theory X Theory Y
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. ©SMU-CSE

27 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 ©SMU-CSE

28 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. ©SMU-CSE

29 Win-lose Generally Becomes Lose-lose
Actually, nobody wins in these situations ©SMU-CSE

30 Enterprise Success Realization Theorem
Theorem: Your enterprise can realize success if and only if You identify and involve all of the success critical stakeholders (SCSHs) Dependency theory You determine how the SCSHs want to win Utility theory You help the SCSHs determine and commit to a win-win course of action and solution Decision theory You adaptively control the course of action to continue to realize a win-win solution Control theory ©SMU-CSE

31 Outline Course objective Roadmap of software engineering economics
Help you learn to be a successful software manager For a career lasting through the 2040’s. Roadmap of software engineering economics 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 This Week’s Assignment ©SMU-CSE

32 VBSE Theory 4+1 Structure
©SMU-CSE

33 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 ©SMU-CSE

34 Initial VBSE Theory: 4+1 Process – With a great deal of concurrency and backtracking
©SMU-CSE

35 Outline Course objectives Evolution of Software Engineering
Roadmap of software engineering economics 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 This Week’s Assignment ©SMU-CSE

36 CSE8340 Overview COCOMO II & Extensions VBSE Theory, Practice
Planning & Control COCOMO II Microeconomics Decision Theory Business Case Analysis People Management VBSE Theory, Practice VBSE Framework WinWin Spiral Risk Management Agile and Discipline MBASE; Model Clash Incremental Commitment Model COTS-based Process ©SMU-CSE

37 First Week’s Assignment
Today: Sign and turn in questionnaire and acknowledgement ©SMU-CSE

38 CSE8340 Questionnaire and Acknowledgement
Please fill out and return. Name: _________________________________________________ Student ID #: ___________________________________________ Dept./Degree Program: __________________________________ Job, Employer: _________________________________________ Software Work Experience (years): _______________________ Phone, fax numbers: ____________________________________ Address: ________________________________________ Acknowledgement: I acknowledge the importance of SMU's academic integrity standards (with respect to plagiarism, referencing others' work, etc.), and agree to abide by them. Signature: ______________________________________________ ©SMU-CSE


Download ppt "CSE 8340 Advanced Topics on Software Engineering: Software Engineering Economics & Processes Course Overview LiGuo Huang Dept. of Computer Science and."

Similar presentations


Ads by Google