CS 5150 1 CS 5150 Software Engineering Lecture 27 People 3.

Slides:



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

Introduction to Small Business
Financial Management F OR A S MALL B USINESS. FINANCIAL MANAGEMENT 2 Welcome 1. Agenda 2. Ground Rules 3. Introductions.
Read to Learn The four main ways to become a business owner and the advantages and disadvantages of each The different forms of legal business ownership.
Chapter 3 Project Initiation
CS 501: Software Engineering Fall 2000 Lecture 27 Software Engineering as Engineering.
Unit 4: Utilizing Financial Documents
Effective Project Management: Traditional, Agile, Extreme
CS 5150 Software Engineering
1 CS 501 Spring 2007 CS 501: Software Engineering Lecture 28 Risk in Software Engineering.
CS CS 5150 Software Engineering Lecture 28 People 3.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 27 Risk in Software Engineering.
1 CS 501 Spring 2007 CS 501: Software Engineering Lecture 25 Delivering the System Business Considerations.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 24 People 2.
1 CS 501 Spring 2008 CS 501: Software Engineering Lecture 27 Risk in Software Engineering.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 1 Introduction to Software Engineering.
1 CS 501 Spring 2007 CS 501: Software Engineering Lecture 26 People 1.
CS 501: Software Engineering Fall 2000 Lecture 1 Introduction to Software Engineering.
1 CS 501 Spring 2006 CS 501: Software Engineering Lecture 24 People 2.
Chapter 10 Information Systems Management. Agenda Information Systems Department Plan the Use of IT Manage Computing Infrastructure Manage Enterprise.
1 CS 501 Spring 2008 CS 501: Software Engineering Lecture 24 People 2.
The Analyst as a Project Manager
CS 501: Software Engineering Fall 2000 Lecture 26 Risk in Software Engineering.
CS 501: Software Engineering Fall 2000 Lecture 7 Management II Business and Legal Aspects of Software Engineering.
Financing Unit 6.
Chistyakova Nataly O.. Project stakeholders The client is the principal party interested in the carrying out of a project and in its successful outcome.
CSCE 431: Licensing and Software Engineering Code of Ethics
SYSTEM ANALYSIS AND DESIGN
Small Business Management
CS CS 5150 Software Engineering Lecture 26 The Business of Software Development.
Being a Business Owner Section 4.2.
Pre-Project Activities Text Chapters 5 and 6. Pre-Project Activities 1.Contract Review 2.Development Plan 3.Quality Plan.
Dtengineering 1 of 16 The Product Development Process Introduction.
CS 4310: Software Engineering Lecture 14 Risk in Software Engineering.
CS CS 5150 Software Engineering Lecture 3 Software Processes 2.
1 Who is SCORE ? Welcome to this Seminar An Introduction to Starting & Growing a Small Business.
Software Engineering Management Lecture 1 The Software Process.
By Team … Title IntroductionAgendaAlternativesProblemConclusionRating.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 7 Business Aspects of Software Engineering.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 24 Delivering the System.
CS CS 5150 Software Engineering Lecture 2 Software Processes 1.
CS CS 5150 Software Engineering Lecture 2 Software Processes 1.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
CS CS 5150 Software Engineering Lecture 24 People 2.
1 SWE 513: Software Engineering People II. 2 Future Experience What will you be doing one year from now? Ten years from now?
Entrepreneurship Business Plan Utilizing Financial Documents.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 25 People II.
CS SE370 Software Engineering Lecture 5 Feasibility Studies.
Chapter 11: Alternative Approach - Purchasing Systems.
1 Business Aspects of Software Engineering SWE 513.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 27 Software Engineering as Engineering.
CS CS 5150 Software Engineering Lecture 23 People 2.
CS 360 Lecture 20.  The software industry needs to take more responsibility for its products  Products are sold or licensed with no guarantees about.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission.
CS 501: Software Engineering Fall 199 Lecture 1 a) Administration b) Introduction to Software Engineering.
CS CS 5150 Software Engineering Lecture 26 Professionalism.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 25 Risk in Software Engineering.
Chapter 3 Project Management Parts of this presentation is extracted from Ian Sommerville’s slides located at
CS 501: Software Engineering Fall 1999
Software Engineering Management
Systems Analysis and Design in a Changing World, 4th Edition
CS 501: Software Engineering
CSCE 606: Licensing and Software Engineering Code of Ethics
CSCE 606: Licensing and Software Engineering Code of Ethics
Presentation transcript:

CS CS 5150 Software Engineering Lecture 27 People 3

CS Administration Best wishes for the future

CS Business Models: 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...

CS Free-Lance Software Development Salary$50,000 Benefits (including taxes)$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

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

CS Business Model: Packaged Software Example of fixed and variable cost: 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 = $1 million Variable cost = $20

CS Fixed and Variable Costs: Profit or Loss $1.5M $1.0M $0.5M Unit sales 2,5005,0007,500 Revenue Costs

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

CS Software Development as a Profession Question: Is software development a branch of engineering? Answer: It depends on how you define engineering. Software development demands a high degree of professionalism.

CS What is Engineering? A definition of engineering The profession of:... creating cost-effective solutions to practical problems by applying scientific knowledge and established practices building things... and taking responsibility for them! With this definition, software development is clearly engineering

CS What is Engineering? A second definition of engineering A professional who … is licensed by a professional society … based on a set educational program with a standard body of knowledge and specified experience … who is the only person permitted to oversee certain tasks If this is your definition of engineering it is hard to see it applied to software development

CS From the National Society of Professional Engineers Only a licensed engineer may prepare, sign and seal, and submit engineering plans... for public and private clients. Licensure for individuals... is a legal requirement for those who are in responsible charge of work,... Federal, state, and municipal agencies require that certain [positions]... be filled only by licensed professional engineers. Many states have been increasingly requiring that those individuals teaching engineering must be licensed. State engineering boards are increasingly... obtaining the authority to impose civil penalties against unlicensed individuals.

CS Crafts, Science, Engineering Production Craft Commercial Science Professional Engineering From: Shaw and Garlan

CS Crafts, Science, Engineering Production Craft Commercial Science Professional Engineering From: Shaw and Garlan algorithms data structures compiler construction software development methodologies

CS Engineers, Texas and the ACM Proposal in the Texas legislature to license professional engineers in Software Engineering What role should the ACM play?

CS Software Engineering as Engineering? Part craft -- part engineering Embryonic scientific basis Evolving body of expertise ACM conclusion: Software Engineering is in too much of a craft, too uncertain, and changing too much for the apparatus of a profession Who has the expertise to define a formal Body of Knowledge? What would be in an accreditation exam?

CS From Lecture 1: The Craft of Software Development Software products are very varied --> Client requirements are very different --> There is no standard process for software engineering --> There is no best language, operating system, platform, database system, development environment, etc. A skilled software developer knows about a wide variety of approaches, methods, tools. The craft of software engineering is to select appropriate methods for each project and apply them effectively.

CS From Lecture 1: Professional Responsibility Organizations put trust in software developers: Competence: Software that does not work effectively can destroy an organization. Confidentiality: Software developers and systems administrators may have access to highly confidential information (e.g., trade secrets, personal data). Legal environment: Software exists in a complex legal environment (e.g., intellectual property, obscenity). Acceptable use and misuse: Computer abuse can paralyze an organization (e.g., the Internet worm).

CS Failures and Risks Software development projects can fail in many ways: The software engineering triangle Late Over budget Lack of function, full of bugs, bad performance Changing circumstances Changing markets Better alternatives Changes of management But the biggest single source of problems is poor understanding of requirements

CS Managing Risk Manage projects to avoid risk: Open and visible software process => Avoid surprises Continual review of requirements Willingness to modify or cancel projects Try for short phases each with deliverables

CS Time to Complete a Software Project Large software projects typically take at least two years from start to finish Formative phase -- changes of plan are easy to accommodate Implementation phase -- fundamental changes are almost impossible Yet many things can change in two years. Many modern software methodologies aim to apply the advantages of small teams and short development cycles to large projects. Often called Rapid Application Development or Agile Software Development.

CS How to Stop Gracefully It is harder to cancel a project than to start it. It is harder to withdraw a service than introduce it. Considerations The proponents of the system must now reverse their public stance. => Management of expectations Users of the service need a migration strategy. Technical staff must have a graceful path forward.

CS Too Big to Cancel! Example: University A has antiquated administrative systems. Senior management decides to replace them all with commercial packages from X. The timetable and budget are hopelessly optimistic. Staff get dispirited. The Chief Information Officer finds another job. A new Chief Information Officer is appointed. What should she do?

CS Client Oversight When work is out-sourced, the client must be vigilant. Example: Company G was the world's leader in software for optimization (e.g., linear and integer programming). G had successfully implemented several packages for various manufacturers. An computer company H contracted with G to develop an optimization package for its new operating system. The package was late, performed badly and disliked by customers. What went wrong? What can we learn?

CS Accept the Obvious! Six organizations were funded by the National Science Foundation, for one year, to develop demonstration projects. The National Science Foundation hoped that the six organizations would then submit a multi-million, five year proposal to develop the production system together. but... there were differences (technical and personal) between the organizations. Three weeks before the proposal was due, the principal investigator at University Q decided that the plan was doomed to failure. What should he do?

CS Sobering Thoughts Major computing projects are very complex. Inevitably there are delays and failures. Few organizations know how to manage risk & uncertainty. The best Chief Information Officers => Manage to minimize risk => Have the confidence of their staff who keep them truthfully informed => Have the self-confidence to keep their seniors truthfully informed

CS Senior Management Dynamics Directors and shareholders appoint the President => The President does not want to admit failures The President appoints the Chief Information Officer => The CIO does not want to admit failures The CIO appoints the computing managers => The computing mangers do not want to admit failures The computing managers appoint the developers => The developers do not want to admit failure Everybody pretends that things are going well

CS Senior Management Dynamics At last the troubles can not be hidden... Directors and shareholders try to blame the President The President tries to blame the Chief Information Officer The CIO tries to blame the computing managers (and grumbles about the President) The computing managers try to blame the developers (and grumble about the CIO) The developers grumble about their managers What can we do better?

CS A Summary of CS 5150 Software is expensive. Understand who is paying and what they want. If the requirements are not well defined, the system will fail. Good processes help the development of good software. Software engineering is a craft, not a fixed procedure Minimize risk: have visible process balance function v. time v. cost Good software requires good people + good technology