Software Engineering Practice - Software Business Basics
Upcoming SlideShare
Loading in...5
×
 

Software Engineering Practice - Software Business Basics

on

  • 389 views

 

Statistics

Views

Total Views
389
Views on SlideShare
389
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Software Engineering Practice - Software Business Basics Software Engineering Practice - Software Business Basics Presentation Transcript

  • Software business basics McGill ECSE 428 Software Engineering Practice Radu Negulescu Winter 2004
  • McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Software business basics—Slide 2 About this course module Software engineering requires awareness of the business infrastructure and the legal and economic context. Compared to other industries and engineering disciplines, • Sales, marketing, distribution are more direct • Software is often custom-made and outsourced • A software product often supports a business process Here we briefly survey some of the common issues in software business.
  • McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Software business basics—Slide 3 Overview Software business models • Shrink-wrap: for consumer market • Component development/integration: plug-ins, assemblage • Custom: on a contract • Research: prove new technology, idea • Related services Contracts and proposals Intellectual property • Copyrights • Patents Organizational structures
  • McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Software business basics—Slide 4 Shrink-wrap Development aimed at direct sales for the consumer market Technical issues • Market-driven requirements • May productize core technologies to be sold or licensed • Risk-driven testing (commercial and technical) Financial issues • User licenses Single, multiple, concurrent, network, corporate Per use, seat, site • Seed financing for development Other issues • Customer support: updates, bug fixes, training, books • License fees for third-party components • Marketing, product management • Market analysis, competition, competitive barriers • Warranties, liability, consumer law
  • McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Software business basics—Slide 5 Component development/integration Integrate third-party components, or develop components for this purpose Technical issues • Technology influences requirements • Integration testing • E.g. management information systems – support business processes Integrates components: database, web server, networking, security Financial issues • Development license – using the component Royalties: per unit, volume thresholds • T&M: integration, customization Other issues • License exclusivity • Technical standards • Liability spreading or consolidation • Work with multiple vendors, different commercial models
  • McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Software business basics—Slide 6 Custom projects/contract Develop software for exclusive use requested by a customer Technical issues • Contract dictates requirements • Customer acceptance testing Financial issues • Time and materials • Fixed rate, fixed price Bonus/penalties for early/late delivery T&M analysis, fixed-price development Fixed-rate until contract fully negotiated; fixed-price after • Pay-on-delivery (no-cure-no-pay) + down payment Other issues • Changes to requirements: may be included up to certain amount • Ownership of reusable code, resulting know-how, metrics, artifacts
  • McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Software business basics—Slide 7 Research / new technology Explore and prove the capabilities of core technology or business idea Technical issues • Requirements determined by experimentation, prototyping • Development aimed at proof of concept, core technology Financial issues • Venture capital, in exchange of shares • Tax credits, investment incentives • Granting agencies Other issues • IP potential and protection • Follow-up by development project • Objective to exceed sales threshold after limited time If not, business control may be taken by venture capital
  • McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Software business basics—Slide 8 Other services Consulting Training Installation, configuration, maintenance Customer support Global development ASP: applications run remotely ...
  • McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Software business basics—Slide 9 Customer and vendor interaction Basic process for entering an agreement [Jalote] • C or V: Initial contact (ad, sales, procurement) • C: RFI • V: Information about vendor: past projects, capabilities • C: Short-list, visit vendors • C: RFP – scope of project; sample contract − type of clauses sought • V: Proposal Fixed-price: if requirements are precisely stated (after req analysis) T&M: for stream of small projects, maintenance projects, etc. Two-phase: common Req. analysis: per-person-month; 1-2 analysts, T&M Development: fixed-priced bid; a different vendor might be sought • C: Work-order or purchase order Variation: protracted contract negotiation • Work go-ahead at fixed rate
  • McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Software business basics—Slide 10 Contracts General terms and conditions for transacting the business • Scope of services: general scope of work • Estimates, rates and payment • Hardware and software • Generic equipment provided by V, project-specific by C • Confidentiality, security, rights on data All business, personnel, and technical info provided by customer Measures to ensure the customer’s computer security is not breached Typical: Vendor has no rights on specific data provided by customer Typical: Vendor has rights on knowledge acquired by executing this project E.g. baseline data, even reusable components developed • Non-solicitation: promise not to recruit each other’s staff • Warranty: defect repair, term limitations, service level, penalties • Liability: typically limited to the total cost of the software • Indemnity: neither party is responsible for illegal acts of the other • Others: jurisdiction, arbitration, termination of contract, payment defaults
  • McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Software business basics—Slide 11 Proposals Specific terms for a particular project Technical part • Technical description Requirements of the project; or reference to RFP or SRS Methodology and tools The vendor’s experience • Effort estimate, schedule, milestones, technology, team • Assumptions: platform, dates and conditions of payment, etc. • Customer responsibility Data, manuals Access to site, personnel, deployment platform, contact person • Risk management: identification, mitigation Includes customer risks and impact • Requirements change Agreement to pay according to future estimate by vendor Some small buffer may be included • Other Variants, localization Escalation mechanisms for problem resolution
  • McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Software business basics—Slide 12 Proposals Commercial part • Basis for pricing Manpower rates depending on seniority level Travel costs Special hardware costs Data communication costs Consultancy costs • Payment schedule and rates At milestones Monthly Part of payment at the end of warranty period Penalty for late delivery / reward for early delivery Preparation • Project leader (technical) !!! • Input from sales person, in contact with customer
  • McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Software business basics—Slide 13 Intellectual property A form of ownership • Different rights, compared to physical property • Limited duration Subtypes • Copyright: cover original creations • Patent: cover inventions or improvements • Trademark: symbols to distinguish goods or services • Industrial design: visual features of finished object • IC topography
  • McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Software business basics—Slide 14 Copyrights Exclusive “right to copy” • Original work, significant parts of work, any translation Produce, reproduce, perform, publish • Automatically belongs to author upon creation Or to employer, if created in course of employment • Registration not required, but brings advantage in court • Valid in many countries: Berne Copyright Convention, WTO Foreign copyrights valid in Canada too • Life time of author(s) + 50 years • Not covered: ideas, facts (E=mc2), public news, … Fair dealing, exceptions
  • McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Software business basics—Slide 15 Copyrights Agreements • Assignment: transfer all rights for whole or limited term Author retains “moral rights” • License: permission to use under certain conditions and purposes Royalties: commission for sales or permission to use work Tariffs: paid by users for using work • Policing and legal action are up to owner Collective societies: CANCOPY/reprography • Difficult to prove infringement Watermarking
  • McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Software business basics—Slide 16 Patents Monopoly on invention for specific period • Exclusive right to make, use, sell invention • Protected in country of filing, 20 years max Conditions • Novelty, utility, ingenuity • Physical embodiment Process, machine, manufacture, composition of matter Trend: patent algorithms and even business processes E.g.: RSA public-key encryption, Amazon’s “one-click technology” Theoretically, not patentable!!! Increasingly important • A significant competitive advantage / business asset • A business model in itself RAMBUS, Shopping carts, Voice over IP
  • McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Software business basics—Slide 17 Example “Software” patents are big business My favorite search site: PDF documents of worldwide patents
  • McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Software business basics—Slide 18 Example Patent number Related work Text in “Patentese” Classification – field of knowledge
  • McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Software business basics—Slide 19 Example Claims in this patent: classical form, groundbreaking content
  • McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Software business basics—Slide 20 Patents Patent application • Abstract, specification, drawings • Describe invention and usefulness • Claims define the boundaries of protection Each claim: conjunction of several features Strategies • Embedded and overlapping claims Defend against claiming “prior art” • Improvement of an existing invention
  • McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Software business basics—Slide 21 Patents Process for obtaining a patent in Canada • Preliminary search: Canadian Patent Database online; US, Europe • File an application: Max 1 year after disclosure • Application lay open for public inspection 18 months: “Patent pending” • Request examination: Up to 2-3 years • Patent Office letter of objection: Prior art • Amendment letter: Update the claims • Appeals, re-examination, reissue Patent cooperation treaty • Patent Cooperation Treaty: application for protection in 100+ countries • Each country decides separately • Rights apply in each country separately
  • McGill University ECSE 428 © 2004 Radu Negulescu Software Engineering Practice Software business basics—Slide 22 References Software business • Rapid Dev. ch. 28 “Outsourcing” • Jalote ch. 2 “Proposals and contracts” Intellectual property • Canadian Intellectual Property Office: “A Guide to Copyrights”, “A Guide to Patents” • Support organization: www.strategis.gc.ca • Federal acts and regulations: canada.justice.gc.ca