Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 501: Software Engineering

Similar presentations


Presentation on theme: "CS 501: Software Engineering"— Presentation transcript:

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

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

3 Administration Feasibility report
Please submit an message to 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. Copy messages to only if you want a response from the course team.

4 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.

5 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)

6 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 ...

7 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 less marketing BILLABLE HOURS 1,250 Hourly rate = $100,000 /1,250 = $80

8 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!

9 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

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

11 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?

12 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.

13 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

14 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: Many open source software projects are managed on the SourgeForge system: Open source software development and distribution is particularly suitable for organizations such as universities who develop software for the public good.

15 Open Source License Sample open source license (GNU General Public License): • 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

16 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.

17 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.

18 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?

19 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.

20 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?


Download ppt "CS 501: Software Engineering"

Similar presentations


Ads by Google