CS 501: Software Engineering

Slides:



Advertisements
Similar presentations
1 Software Engineering II The Business Aspects of Software Engineering.
Advertisements

CS CS 5150 Software Engineering Lecture 28 People 3.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 19 Performance of Computer Systems.
1 CS 501 Spring 2007 CS 501: Software Engineering Lecture 25 Delivering the System Business Considerations.
Open Source Software …its not all for the techies. - Dan Coming.
1 CS 501 Spring 2008 CS 501: Software Engineering Lecture 23 People 1.
CS CS 5150 Software Engineering Lecture 27 People 3.
1 Discussion Class 12 User Interfaces and Visualization.
Open Source Business Models By Mike Telmar, Jacob Jennings, and Jerome Thomas.
CS 501: Software Engineering Fall 2000 Lecture 7 Management II Business and Legal Aspects of Software Engineering.
COMP 6005 An Introduction To Computing Session Two: Computer Software Acquiring Software.
OWN A FRANCHISE OR START A BUSINESS
The Multinational Corporation and Globalization
Open Source for Government Alexander C. Pitzner Sr. Network Engineer Harrisburg University of Science and Technology
ENTREPRENEURS IN A MARKET ECONOMY
CS CS 5150 Software Engineering Lecture 26 The Business of Software Development.
INFO101: Management Information Systems INFORMATION X.
SELECT A TYPE OF OWNERSHIP
MT209 Small Business Management
Taking Your Business to the Internet. The Internet is one of the fastest growing mediums for businesses today, yet most businesses are not yet taking.
CS 501: Software Engineering Fall 1999 Lecture 19 Management II Business and legal aspects of software engineering.
Chapter 14 The Open Source Community. Agenda Types of Free Software Open Source Project Open Hardware Project Impacts.
Intuit Canada ULC How to Implement QuickBooks Training in your Practice.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 7 Business Aspects of Software Engineering.
1 Business Aspects of Software Engineering SWE 513.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 27 Software Engineering as Engineering.
CS 501: Software Engineering Fall 1999 Lecture 20 Management III Managing People.
MGT601 SME MANAGEMENT. Lesson 17 Financial Feasibility of SMEs.
Contract management 1. Acquiring software from external supplier This could be: a bespoke system - created specially for the customer off-the-shelf -
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 15 System Architecture III.
PRICING DECISIONS “There are two fools in every market. One charges a very high price and another charges a very low price”
Chapter Five: Supply 12 th Grade Economics Mr. Chancery.
Measuring and Increasing Profit
Entrepreneurship.
Software Hardware refers to the physical devices of a computer system.
Lecture 4 Entering a Business Forms of Business Organizations
OUTLINE Questions, Comments? Quiz Go over Quiz Go over homework
Chapter 5 Section 3 What are the advantages and disadvantages of buying something off of the Internet?
AB209 Small Business Management
Financial forecasting
CS 5150 Software Engineering
Financial Statements, Taxes, and Cash Flows
Developing a Financial Plan
Introduction to project accounting
Chapter 34 College and University Education: Why is it So Expensive
Cost Concepts and Design Economics
BASIC FIXED & BREAK EVEN FORM
Abdullah Al-Shukaili MANGT100 Fall 2016
Cornerstones of Managerial Accounting, 6e
Accounting and Financial Information
Business and Personal Finance
Food Truck Econ.
Entrepreneurship Week 2 the complete Business Plan
Financial Statements.
Accounting and Business
Entrepreneurship Week 10 Break Even Analysis
Business Models for Open Source Software Companies
Cost Estimation I've got Bad News and Bad News!.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Application Vendor Tool Kit
Business Plans Sales Training
iCare® Consumer Credit
Click here to advance to the next slide.
COMPENSATION.
Pricing Strategies CHAPTER 10.
PRICING DECISIONS “There are two fools in every market. One charges a very high price and another charges a very low price”
How to Create a Budget.
Probability Grade 12 Essential Math
Discussion Class 7 User Requirements.
Presentation transcript:

CS 501: Software Engineering Lecture 7 Business Aspects of Software Engineering

Submit your student projects by February 18, 2002. See www.cs.cornell.edu/boom.

Administration Feasibility report Please submit an email message to cs501@cs.cornell.edu with the report as an attachment. Possible formats are .doc, .pdf, .html, .ps, or .txt. Project teams If you are not a member of a team with 5 to 7 people, please meet at the end of the class. email Copy email messages to cs501@cs.cornell.edu only if you want a response from the course team.

Administration Quiz 1 Quiz 1 will be returned at the beginning and end of class today.  If you do not pick up your work now, it can be collected from Rosemary Adessa in Upson 5147. The quiz and the solution to Question 2 are posted on the web site, under Assignments.  Question 1 will be discussed in the lectures.

Some Business Models Bespoke software for customer software is written by independent contractor product may be owned by supplier or customer Package licensed to customer binary only (Microsoft model) source code for customer's modifications Software developed in-house Software bundled with hardware product (PalmPilot, digital camera)

Free-Lance Software Development You and a few friends create a company to develop software. You are offered a contract to write bespoke software. How much should you charge per hour? You plan to work 40 hours a week for 50 weeks of the year and want to earn $50,000. Hourly rate = $50,000 / (40 x 50) = $25 But ...

Free-Lance Software Development Salary $50,000 Taxes and benefits $15,000 Rent, equipment, etc. $10,000 Fees, services, etc. $15,000 Travel and misc. $10,000 TOTAL EXPENSE $100,000 Hours worked 2,000 less administration 400 less marketing 350 BILLABLE HOURS 1,250 Hourly rate = $100,000 /1,250 = $80

Free-Lance Software Development You MUST have a contract with the customer. It may be a simple letter or a complex agreement. What should it contain? Are you being paid by the hour? Or by completion of the task? What acceptance tests will be done? Who decides when the job is done? Who owns the software? What licenses does the other party have? Who provides hardware, software that is required, supplies, etc.? WHEN WILL YOU GET YOUR MONEY!

Fixed and Variable Cost: Packaged Software Example: • The initial development cost of a software product is $1 million. • The cost of packaging and distribution of each copy is $5. • Technical support costs average $15 per copy. • The package sells for $200 per copy. Fixed cost = $10 million Variable cost = $20

Fixed and Variable Costs: Profit or Loss $1.5M Revenue Costs $1.0M $0.5M Unit sales 2,500 5,000 7,500

Profit or Loss? If you sell 7,500 copies do you make a profit of $350K? Did you borrow money to cover the start-up period? How much interest did you pay? What about taxes? Cash flow When will you be paid (always late)? When do you have to pay your bills? Risk What extra costs do you have if the product is a year late? What if you only sell 5,000 copies? If you increase the price, does your revenue go up or down?

Unorthodox Business Models: Shareware Producer writes a software package. Distribution is open, but requests a fee, e.g., $50. Users who pay the fee may get a small benefit, e.g., no message when they start up the software. Some people have received substantial revenue this way.

Unorthodox Business Models: Open Source Examples: Linux, Apache, Perl Market leaders High quality General model Shared development A central developer provides overall coordination Distribution of source code is completely open Personal examples: TCP/IP for Vax/VMS Python

Notes on Open Source Software may be open source, but packaging and services can be profitable businesses (e.g., Red Hat, IBM Linux). For more information about open source software, see: http://www.opensource.org/ Many open source software projects are managed on the SourgeForge system: http://sourceforge.net/ Open source software development and distribution is particularly suitable for organizations such as universities who develop software for the public good.

Open Source License Sample open source license (GNU General Public License): http://www.opensource.org/licenses/gpl-license.html • Free redistribution • Source code available • Derived works permitted • Integrity of the author's source code • No discrimination against persons or groups • Protection against unscrupulous patents • No discrimination against fields of endeavor • License must not be specific to a product

Discussion of Pfleeger, Chapter 3 Format: State a question. Ask a member of the class to answer. (Sorry if I pronounce your name wrongly.) Provide opportunity for others to comment. When answering: Stand up. Give your name or NetID. Make sure the TA hears it. Speak clearly so that all the class can hear.

Question 1: Effort Estimation (a) Give five reasons why estimates of effort are often wrong. (b) In algorithmic methods of estimation, what is the most important factor used to predict effort? (c) Name two other important factors.

Question 2: Risk Management (a) Personnel shortfalls are a major risk factor. What can be done to address them? (b) What is gold plating? What can be done to lower the risk associated with it? (c) Why are computer science capabilities considered a risk factor? (d) The book defines risk exposure as: risk impact x risk probability Do you find this concept useful?

Question 3: Project Management (a) The book is very enthusiastic about the Enrollment Management model used by the Digital Equipment Alpha AXP project. What are the characteristics of this model? (b) What is a matrix organization? What are the advantages and disadvantages of such an organization? (c) How does matrix organization compare with the Chief Programmer model of organization.

Question 4: The Person-Month The COCOMO model and other models of effort estimation use the concept of the person-month, yet the most famous book on software engineering is called The Mythical Man-Month. (a) What is a person-month? (b) When is this a useful concept? Give an example. (c) When is this a dangerous concept? Give an example. (d) If 10 software developers can develop System Z in two years, how long would you expect 20 developers to take? (e) If System Z has to be completed in a hurry, how would you decide how many people to assign?