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

Slides:



Advertisements
Similar presentations
University of California Berkeley Extension Copyright © 2007 Patrick McDermott Barry Boehm, discussed in “Barry Boehm’s “Theory W” Principle.
Advertisements

8/24/10©USC-CSSE1 Fall 2010 Marilee Wheaton, USC Course Overview CS 510 Software Management and Economics.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Course Overview CS 510 Software Management and Economics
University of Southern California Center for Software Engineering C S E USC Barry Boehm, USC CS 510 Lecture Fall 2011 Value-Based Software Engineering.
The Analyst as a Project Manager
Unit Slides by UK Versity.  Unit aims:  This unit aims to help the learner with an opportunity to develop their project management and research skills.
Enterprise Architecture
System Analysis and Project Management Key terms and definitions Presentation.
Integrated Capability Maturity Model (CMMI)
Software Project Management Lecture # 8. Outline Chapter 25 – Risk Management  What is Risk Management  Risk Management Strategies  Software Risks.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Software Development *Life-Cycle Phases* Compiled by: Dharya Dharya Daisy Daisy
CIS 321—IS Analysis & Design Chapter 3: The Analyst as a Project Manager.
Software Project Management Introduction to Project Management.
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
1 Process Engineering A Systems Approach to Process Improvement Jeffrey L. Dutton Jacobs Sverdrup Advanced Systems Group Engineering Performance Improvement.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Software Engineering Lecture # 17
CSI - Introduction General Understanding. What is ITSM and what is its Value? ITSM is a set of specialized organizational capabilities for providing value.
Fall 2013 Barry Boehm, USC Course Overview CS 510 Software Management and Economics.
IT Requirements Management Balancing Needs and Expectations.
10/16/2015Bahill1 Organizational Innovation and Deployment Causal Analysis and Resolution 5 Optimizing 4 Quantitatively Managed 3 Defined 2 Managed Continuous.
ISM 5316 Week 3 Learning Objectives You should be able to: u Define and list issues and steps in Project Integration u List and describe the components.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
IS Methodologies. Systems Development Life Cycle - SDLC Planning Planning define the system to be developed define the system to be developed Set the.
University of Southern California Center for Systems and Software Engineering Barry Boehm, USC CS 510 Software Planning Guidelines.
Microsoft Office Project 2003: Selling EPM in your Organization Matt Wilson Business Solutions Specialist LMR Solutions.
 Management ◦ The activities and tasks undertaken by one or more persons for the purpose of planning and controlling the activities of other in order.
Software Engineering - I
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
Formal Methods in Software Engineering
Rational Unified Process Fundamentals Module 3: Disciplines I.
Stand Up Comedy Project/Product Management
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
Software Engineering (CSI 321) Software Process: A Generic View 1.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
MSA Orientation – v203a 1 What’s RIGHT with the CMMI?!? Pat O’Toole
Project Management Strategies Hidden in the CMMI Rick Hefner, Northrop Grumman CMMI Technology Conference & User Group November.
Requirements Engineering Processes, York EngD Programme, 2009Slide 1 Requirements engineering processes Prof Ian Sommerville.
Serving IT up with ITIL By Thane Price. IT is the laboratory’s pit crew  Goal : Make technology transparent while accomplishing valuable internal customer.
Slide 3.1 © The McGraw-Hill Companies, 2002 SOFTWARE LIFE-CYCLE MODELS.
Project Management Finals Lesson 1 - Principles - Techniques - Tools.
Advanced Software Engineering Dr. Cheng
A Systems View of Project Management
Chapter 24: Architecture Competence
Appendix B Agile Methodologies
Systems Analysis and Design in a Changing World, 4th Edition
Project Management (x470)
Chapter 10 Software Quality Assurance& Test Plan Software Testing
Client Introductions to CS577a
Software Planning Guidelines
Identify the Risk of Not Doing BA
Lecture 17 ATAM Team Expertise
Software Engineering (CSI 321)
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
CMMI – Staged Representation
How to Successfully Implement an Agile Project
Course Overview CS 510 Software Management and Economics
Software Engineering: A Practitioner’s Approach, 6/e Chapter 2 Process: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Process Models
Software Engineering I
Enterprise Architecture at Penn State
KEY INITIATIVE Financial Data and Analytics
KEY INITIATIVE Finance Function Management
Chapter 26 Estimation for Software Projects.
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

VBSE Theory 4+1 Structure ©SMU-CSE

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

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

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

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

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

CSE8340 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 SMU's academic integrity standards (with respect to plagiarism, referencing others' work, etc.), and agree to abide by them. Signature: ______________________________________________ ©SMU-CSE