410 likes | 535 Views
INFO 631 Prof. Glenn Booker. Week 1 – Chapters 1-3. Introduction and Foundations. Chapters 1-2. Slides adapted from Steve Tockey – Return on Software. Introduction and Foundations Outline. Goals Harsh realities Science vs. engineering Relevance of engineering economy to software
E N D
INFO 631Prof. Glenn Booker Week 1 – Chapters 1-3 INFO631 Week 1
Introduction and Foundations Chapters 1-2 Slides adapted from Steve Tockey – Return on Software INFO631 Week 1
Introduction and FoundationsOutline • Goals • Harsh realities • Science vs. engineering • Relevance of engineering economy to software • Business on purpose • Roadmap INFO631 Week 1
Goals • Understand the importance of addressing the business consequences of your technical decisions • Know, and be able to use, sane and rational decision-making techniques for your technical decisions • Understand the implications of “software engineering” INFO631 Week 1
Harsh Realities • 23% of software projects fail to deliver any working software at all • Of projects that do deliver, they average • 63% late • 45% over budget • 67% of the features and functions delivered • 40% of commercial applications of computers have been uneconomical Reference: [Standish01], [Kidder81] INFO631 Week 1
Harsh Realities (cont) • Annual software budget in the US is about $275 billion • $63 billion/year in cancelled projects alone • As much as $149 billion/year in net money-losing projects Reference: [Standish01] INFO631 Week 1
The Cost of Bad Decisions • Poor software project performance can almost always be traced back to bad decisions (whether accidental or intentional), either by the customer, the development staff, or both • Which projects to do • Not getting good requirements • Not giving good requirements • Using inappropriate technology • Choosing the wrong design or architecture • Not giving the project team adequate resources • Not planning and/or managing the project • Not paying attention to quality • … INFO631 Week 1
Not a New Issue “Railway location obviously is a field in which many alternatives are likely to be available. Nevertheless, Wellington observed what seemed to him to be an almost complete disregard by many locating engineers of the influence of their decisions on the prospective costs and revenues of the railways. In his first edition (1877) he said of railway location, “And yet there is no field of professional labor in which a limited amount of modest incompetency at $150 per month can set so many picks and shovels and locomotives at work to no purpose whatsoever” Reference: [Grant90] INFO631 Week 1
Not a New Topic • Recognized engineering degree programs usually require a course in Engineering Economy • Applied micro-economics • Fundamental question of software professionals • “Is it in the organization’s best interest to invest its limited resources in this technical endeavor, or would the same investment produce a higher return elsewhere?” INFO631 Week 1
Science vs. Engineering • Definition: Science “a department of systematized knowledge as an object of study; knowledge or a system of knowledge covering general truths or the operation of general laws esp. as observed and tested through the scientific method” • Definition: Engineering “the profession in which a knowledge of the mathematical and natural sciences gained by study, experience, and practice is applied with judgment to develop ways to utilize, economically, the materials and forces of nature for the benefit of mankind” Reference: [Webster94], [ABET00] INFO631 Week 1
Science vs. Engineering (cont) • Demarco defines engineering as: • “Finding the balance between what is technically feasible and what is economically acceptable” • Wellington defines engineering as: • “The art of doing that well with one dollar which any bungler can do with two” • In general • Science – pursuit of knowledge • Engineering – application of that knowledge Reference: [DeGarmo93], [Wellington1887] INFO631 Week 1
Science vs. Engineering (cont) • So relationship between science and engineering is: Engineering = Scientific Theory + Practice + Engineering Economy INFO631 Week 1
Economics: the Science of Choice “… software economics has often been misconceived as the means of estimating the cost of programming projects. But economics is primarily a science of choice, and software economics should provide methods and models for analyzing the choices that software projects must make” Reference: [Levy87] INFO631 Week 1
Software Engineering vs. Computer Science Software Engineering = Computer Science + Practice + Engineering Economy INFO631 Week 1
Software Engineering vs. Computer Science (cont) • Computer Science “a department of systematized knowledge about computing as an object of study; a system of knowledge covering general truths or the operation of general laws of computing esp. as observed and tested through the scientific method” • Software Engineering “the profession in which a knowledge of the mathematical and computing sciences gained by study, experience, and practice is applied with judgment to develop ways to utilize, economically, computing systems for the benefit of mankind” INFO631 Week 1
Relevance of Engineering Economy to Software • Every professional developer is affiliated with some public or private enterprise • Every day, we make decisions that impact that enterprise • Staffing • Internally-developed software • Leased or purchased software • Operation of software systems • As professionals, we had better be concerned with the impacts of our decisions • “… a limited amount of modest incompetency …” INFO631 Week 1
Business on Purpose (Ch-2) Why are companies in business? Because it’s fun? Educational? A way to have a positive impact on society? No: companies are in business to make a profit for the owners Where does the money come from? Where does the money go? INFO631 Week 1
Where Does the Money Go? INFO631 Week 1
PeopleSoft, 2003 $2,267M (100.0%) $868M (38.3%) $117M (5.2%) $1,282M (56.6%) $139M (6.1%) -$22M (-0.9%) $85M (3.8%) $53M (2.3%) $85M (3.8%) $0M (0.0%) INFO631 Week 1
Profit Margin • A key indicator of the health of a company • Typically 2% to 10% • How expensive is software? • Full Time Equivalent (FTE) is usually between $150k and $300k (in year 2002) • Fully burdened salary INFO631 Week 1
Decision-Making in For-Profit Organizations “All other things being equal, the role of the technical person in a for-profit company should be to choose—from the set of technically possible solutions to a problem—the solution that maximizes the organization’s objective: profit” INFO631 Week 1
Decision-Making in Not-For-Profit Organizations “All other things being equal, the role of a technical person in a not-for-profit organization should be to choose—from the set of technically possible solutions to a problem—the solution that maximizes the organization’s objective: providing the greatest benefit at the least cost” INFO631 Week 1
Decision-Making in Your Own Personal Finances • You probably don’t have an unlimited supply of money • You work hard for the limited income you get • You want to get the most you can out of it INFO631 Week 1
Key Points • Software projects don’t perform very well • Science and engineering are related but distinct • Companies don’t have a lot of money to play around with • Neither do you INFO631 Week 1
Fundamental Concepts of Business Decisions Chapter 3 Slides adapted from Steve Tockey – Return on Software INFO631 Week 1
Fundamental Concepts of Business DecisionsOutline • Concepts to align technical decisions with business decisions. • Proposal • Cash-flow instance • Cash-flow stream • Cash-flow diagram • Developing cash-flow streams • Business case for agile projects INFO631 Week 1
Proposal • A single, separate option that’s being considered • Examples • Do project Alpha • Enhance product Beta • Use the NIFF algorithm in the Pack module • Use a doubly linked-list data structure for messages INFO631 Week 1
Proposal Con’t • Each proposal represents a binary choice • Carry out or • Reject • Purpose of decision making is to • Figure out, given current business circumstances, which should be carried out and which ones shouldn’t. • Each proposal should be evaluated from a business perspective INFO631 Week 1
Cash-Flow • Cash-flow describes the business perspective of a proposal • Cash-flow instance • A specific amount of money flowing into or out of the organization at a specific time as a direct result of a proposal • Dev staff payroll in 3rd month of the Beta project • Separate payment on a loan • Cash-flow stream • The set of cash-flow instances, over time, which would be caused by carrying out some given proposal • Basically the complete financial picture of a proposal. • The financial view of the Beta project INFO631 Week 1
Categories of Cash Flow • Initial investment • One-time, non-recurring costs associated with starting up a proposal • Buying a new development environment so we can enhance product Beta • Operating and maintenance costs • Costs occurring after the proposal is started that continue through its retirement • Maintenance fees on the development environment for the Beta enhancement • Sales income • Direct income generated by the proposal • Net increased sales on the enhanced Beta product • Cost avoidance • Indirect income, caused by a reduction in costs instead of an increase in sales • Reduced software maintenance costs on the enhanced Beta product • Salvage value • Recoverable value in assets at the end of the proposal • What we could sell the development environment for at the end of the Beta project INFO631 Week 1
Cash-Flow Diagram • Picture of a cash-flow stream • Gives quick overview of financial picture • Characteristics • Time runs left to right • Income shown above time-line • Expense shown below time-line • Arrow length proportional to $ amount • By convention, net cash-flow per period shown • Initial investment shown “at the end of period zero” INFO631 Week 1
Example Cash-Flow Diagram Income Expense Time Initial investment INFO631 Week 1
Cash-Flow Diagram Con’t • Cash flow stream (cash-flow diagram) • Based on the specific perspective of the organization • Changing perspective will change the cash flow stream INFO631 Week 1
Cash-Flow Diagram Perspectives INFO631 Week 1
Developing Cash-Flow Streams • The Work Breakdown Structure (WBS) is a useful tool • Typically a hierarchical decomposition of the proposal • Decompose only until reasonable timing and cost estimates can be made • All work necessary to complete the proposal needs to be included • Only work necessary to complete the proposal should be included • Income needs to be represented See: [PMI02], [DoD98], or [Fleming00] INFO631 Week 1
A Simple WBS Example • My Software Project • Construct software [Big task #1] • Requirements [Smaller task #1.1] • Part A Requirements [Tiny task #1.1.1] • Part B Requirements [Tiny task #1.1.2] • ... • Design [Smaller task #1.2] • Part A Design [Tiny task #1.2.1] • … • Construction [Smaller task #1.3] • Part A Code [Tiny task #1.3.1] • … • Software quality assurance [Big Task #2] • Peer reviews [Smaller task #2.1] • Testing [Smaller task #2.2] • ... INFO631 Week 1
An Example Project: Automated Test Equipment (ATE) • One person-year = $125k • Initial investment • $300k for test hardware and development equipment (Year 0) • 20 person-years of software development staff (Year 1) • 10 person-years of software development staff (Year 2) • Operating and maintenance costs • $30k per year for test hardware and dev equipment (Years 1-10) • 5 person-years of software maintenance staff (Years 3-10) • Sales income • None • Cost avoidance • $1.3 million in reduced factory staffing (Years 2-10) • Salvage value • Negligible INFO631 Week 1
Automated Test Equipment (cont) Year Dev Staff Equipment O & M Savings Total 0 0 -$300K 0 0 -$300K 1 -$2.5M 0 -$30K 0 -$2.53M 2 -$1.25M 0 -$30K $1.3M $20K 3 -$625K 0 -$30K $1.3M $645K 4 -$625K 0 -$30K $1.3M $645K 5 -$625K 0 -$30K $1.3M $645K 6 -$625K 0 -$30K $1.3M $645K 7 -$625K 0 -$30K $1.3M $645K 8 -$625K 0 -$30K $1.3M $645K 9 -$625K 0 -$30K $1.3M $645K 10 -$625K 0 -$30K $1.3M $645K INFO631 Week 1
Cash-Flow Diagram for ATE $645K $20K 0 1 2 3 4 5 6 7 8 9 10 -$300K -$2.53M INFO631 Week 1
Business Case for Agile Projects • Agile methods assume the project’s goals and/or requirements are inherently unstable • How can you build a WBS? • An Agile project’s business case involves estimating how much business value can be returned (and when it’s returned) given the level of investment the customer is willing to make INFO631 Week 1
Key Points • A proposal is a single, separate option that’s being considered • A cash-flow instance is an amount of money at a given time caused by a proposal • A cash-flow stream is the financial view of a proposal • A cash-flow diagram is a picture of a cash-flow stream • The WBS can be a useful tool for developing cash-flow streams • The business case for agile projects is different INFO631 Week 1