1 CS 501 Spring 2008 CS 501: Software Engineering Lecture 23 People 1.

Slides:



Advertisements
Similar presentations
The IT Staff of the Future: The Importance of IT Business Alignment for Staff Development Katherine Spencer Lee Executive Director Robert Half Technology.
Advertisements

1 Software Engineering II The Business Aspects of Software Engineering.
CHAPTER 7 Business Management.
© Prentice Hall CHAPTER 15 Managing the IS Function.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 23 People 1.
Organizational Structure
CS CS 5150 Software Engineering Lecture 28 People 3.
Chapter 8 Information Systems Development & Acquisition
1 CS 501 Spring 2007 CS 501: Software Engineering Lecture 25 Delivering the System Business Considerations.
Software Development Contracts and Legal Issues Cost plus Fixed price Combined.
CS CS 5150 Software Engineering Lecture 27 People 2.
CS CS 5150 Software Engineering Lecture 23 People 1.
1 CS 501 Spring 2007 CS 501: Software Engineering Lecture 27 People 2.
CS CS 5150 Software Engineering Lecture 27 People 3.
CS CS 5150 Software Engineering Lecture 25 People 1.
Chapter 10 Information Systems Management. Agenda Information Systems Department Plan the Use of IT Manage Computing Infrastructure Manage Enterprise.
CS CS 5150 Software Engineering Lectures 25 & 26 People 1.
1 CS 501 Spring 2008 CS 501: Software Engineering Lecture 24 People 2.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 24 People I.
The Analyst as a Project Manager
Chapter 10 Managing the Delivery of Information Services.
Project Management Gaafar 2006 / 1 * This Presentation is uses information from PMBOK Guide 2000 Project Management Human Resource Management* Dr. Lotfi.
© 2014 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license.
CS 501: Software Engineering Fall 2000 Lecture 25 Management III Managing People.
CS 501: Software Engineering Fall 2000 Lecture 7 Management II Business and Legal Aspects of Software Engineering.
VENDORS, CONSULTANTS AND USERS
Frequently Asked Questions. No, in fact DOCTUS considers itself a strategic extension of your organization. Hence, we deliver the work the way you do.
HOSPITALITY MANAGEMENT Ch. 16 HS. THE GENERAL MANAGER  General Manager – is a person responsible for the entire operation of one unit of a hospitality.
Restaurant Manager Blake Boykin.
Human Resources 9.1 Key Issues  Store operation  The productivity cycle  Burnout & rustout  Motivating employees  Personnel functional areas  Compensation.
OWN A FRANCHISE OR START A BUSINESS
CS CS 5150 Software Engineering Lecture 26 The Business of Software Development.
Managing within Your Company
SELECT A TYPE OF OWNERSHIP
Categories of Software
© Pearson Education Copying permitted for purchasing institution only. This material is not copyright free. Functional areas Unit 1: Investigating.
19 Hospitality Management. 19 Hospitality Management.
TOPIC-9- PROJECT ORGANIZATION
ERP. What is ERP?  ERP stands for: Enterprise Resource Planning systems  This is what it does: attempts to integrate all data and processes of an organization.
CVE 4070 Construction Engineering Civil Engineering Jobs Prof. Ralph V. Locurcio, PE.
CS 5150 Software Engineering Lecture 23 People 1 (and a little Reliability)
CS 501: Software Engineering Fall 1999 Lecture 19 Management II Business and legal aspects of software engineering.
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 CS 501 Spring 2002 CS 501: Software Engineering Lecture 20 Managing People.
3 1 Project Success Factors u Project management important for success of system development project u 2000 Standish Group Study l Only 28% of system development.
VENDORS, CONSULTANTS AND USERS. WHY CAN’T COMPANIES DEVELOP THEIR OWN ERP PACKAGES? To develop an ERP package is a complex & time consuming activity which.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 24 Delivering the System.
Business Functions, Processes, and Data Requirements
CS CS 5150 Software Engineering Lecture 24 People 2.
CS CS 5150 Software Engineering Lecture 26 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?
CS 360 Lecture 19.  Professional staff are the major cost of software  Staff vary greatly in productivity:  Ability  Education and training  Motivation.
1 Business Aspects of Software Engineering SWE 513.
Careers in Distribution, Copyright 2005, WERC Careers in Distribution Management Jobs.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 27 Software Engineering as Engineering.
CS CS 5150 Software Engineering Lecture 23 People 2.
System Users and Developers
CS 501: Software Engineering Fall 1999 Lecture 20 Management III Managing People.
PREPARATION OF AN AFRICAN LAW FIRM FOR SPECIALISATION AND COMPETITION WITH FIRMS FROM THE DEVELOPED COUNTRIES: BY STERFORD MOYO 1. FIRST IMPRESSIONS 1.1The.
CS 501: Software Engineering Fall 1999 Lecture 22 (a) Managing the Software Process (b) Software Reuse.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 15 System Architecture III.
Business System Development
Systems Analysis and Design in a Changing World, 4th Edition
Managing the Delivery of Information Services
CS 501: Software Engineering
VENDORS, CONSULTANTS AND USERS
Decentralization May 27, 2009 Chapter 10: Decentralization.
Management Information Systems: Classic Models and New Approaches
Decentralization, Profitability and ROI
Presentation transcript:

1 CS 501 Spring 2008 CS 501: Software Engineering Lecture 23 People 1

2 CS 501 Spring 2008 Administration Quiz 4 Tuesday, April 22

3 CS 501 Spring 2008 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...

4 CS 501 Spring 2008 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

5 CS 501 Spring 2008 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?

6 CS 501 Spring 2008 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

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

8 CS 501 Spring 2008 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?

9 CS 501 Spring 2008 Business Models: In-house Computing Departments Organization Central computing department, reporting through a Chief Information Officer Decentralized model with computing distributed across the organization, reporting to operational units Expertise Full in-house design and software development expertise Outsourcing with project management in-house Even if development is contracted to consultants, software houses, etc., organizations need considerable in-house expertise to oversee the work.

10 CS 501 Spring 2008 Software Houses A software house is a company that creates software for other organizations, e.g., S.A.P., Infosys, Oracle/PeopleSoft, etc. Business is a mixture of: consulting packages (solutions) custom software maintenance education Because large sums of money involved, emphasis is on contracts, visible processes, well-defined deliverables, and acceptance tests.

11 CS 501 Spring 2008 Outsourcing Concept: Contract with software house to develop software for an organization. Benefits: Software house may be better organized to recruit staff, and manage projects. Clear visibility. No need to build an in- house team for a single project. Small organization cannot have all the expertise to cover a complex project. Disadvantages: Software house may not have the same goals as the organization (e.g., incentive to prolong project, to build software that can be used in other projects). Organizations need considerable in-house expertise to oversee the work. Must not over-estimate the expertise of the software house.

12 CS 501 Spring 2008 Business Models: Bespoke Software Software is tailored to specific environment Very large applications (e.g., air traffic control) Small-scale, highly specific applications (e.g., Cornell dormitory keys) Development options Software is written in-house Software is written by contractor Product may be owned by supplier or customer. Maintenance may be in-house or by contractor.

13 CS 501 Spring 2008 Business Models: Package with Modifications Software house develops general purpose package Client Licenses package Source code is modified for client's specific needs Business consideration Modifications may be by software house or in-house team Maintenance may be by software house or in-house team Legal issues include: access to source code, ownership of modifications, avoiding being locked-in to a supplier Examples: Corporate pay-roll systems, accounting systems for small businesses, etc.

14 CS 501 Spring 2008 Business Models: Package Without Modifications Package Licensed in Binary Form Only Package typically has many options, including configuration options Package may be a self-contained application (e.g., TurboTax), a component to incorporate in applications (e.g., Oracle database system), or system software (e.g., Windows) Legal considerations: there is a clear distinction between a package (license from supplier) and application. Examples: Database systems, mathematical packages, etc.

15 CS 501 Spring 2008 Business Models: Embedded Systems Software bundled with hardware product Product is seen by the user as a hardware product, even if the software development is the major part of the cost Examples: Cell phone, GPS, automobile engine control, iPod

16 CS 501 Spring 2008 Unorthodox Business Models: Shareware 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.

17 CS 501 Spring 2008 Unorthodox Business Models: Open Source Examples: Linux, Apache, Perl, Hadoop, Fedora 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

18 CS 501 Spring 2008 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 SourceForge system: Open source software development and distribution is particularly suitable for organizations such as universities who develop software for the public good.

19 CS 501 Spring 2008 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 *

20 CS 501 Spring 2008 Software Development Staff Professional staff are the major cost of software Professional staff vary greatly in productivity => Ability => Education and training => Motivation => Interaction with colleagues and leaders => Work environment People are productive when happy and happy when productive

21 CS 501 Spring 2008 Managing People Theoretical Organizational behavior Industrial psychology Group behavior Cognitive fundamentals Economic motivation

22 CS 501 Spring 2008 Maslow's Hierarchy of Needs Self-realization needs Esteem needs Social needs Safety needs Physiological needs

23 CS 501 Spring 2008 Software is Built by Teams Best size for a team is 3 to 8 people Team members may include: developers (from trainee to expert) domain experts graphic or interface designers software librarians testers etc. Teams must have: administrative leadership (manager) technical leadership (may be the manager)

24 CS 501 Spring 2008 Administrative Leader (Manager) Personnel Assigning tasks Hiring, promoting, etc. Resources Budgets Space, facilities Equipment Project management Relationships with other teams and clients Project plan and schedule

25 CS 501 Spring 2008 Group Working 50% interaction with others 20% non-productive 30% working alone How time is spent

26 CS 501 Spring 2008 Communication Informal Kitchen, smokers' doorway, after work, etc. Walkabout (tours) Ad hoc meetings Staff meetings (non-technical) Technical meetings Facilitation Record of decisions

27 CS 501 Spring 2008 Communication Management of teams dispersed across locations Creating a team sense Example: Tektronics Face-to-face meetings Occasional but regular, e.g., once or twice per year Entire team, including support staff Remote meetings on a regular schedule (e.g., conference calls) Technical and administrative groups Clear division of responsibility between locations

28 CS 501 Spring 2008 Meetings Meetings require leadership and a willingness to be led Time keeping -- do not be late; end on time or earlier Clear purpose for meeting, with agenda if needed e.g., progress reports, design review, budget Preparation materials circulated in advance with time to prepare studied by all participants Facilitation during meeting opportunities for all to speak summing up to check agreement Notes taken during meeting (scribe) and circulated promptly

29 CS 501 Spring 2008 Hiring Productivity is a combination of: Analytic ability Verbal ability and communication skills Education Adaptability and inquisitiveness Personality and attitude Platform experience Programming language experience Application domain knowledge

30 CS 501 Spring 2008 Staff Retention Technically interesting work up to date hardware and software opportunities to learn and experiment Feeling of appreciation management recognition money and promotion Working conditions space, light, noise, parking flexibility Organizational dynamics

31 CS 501 Spring 2008 Salaries Any software developer in the USA has plenty of money to live on (food, clothing, heat, etc.). Salaries are used to satisfy the top levels of Maslow's Hierarchy: self-realization esteem The absolute level of salary is less important than its relative level and how it is presented: "The average raise is 3%, but you are getting 4%." "Our salaries are in the top 25% of similar companies."

32 CS 501 Spring 2008 Firmness Managers must be firm when needed: Assignment of tasks must be equitable and open; everybody will have to tackle some of the dreary tasks Carrots are better than sticks, but poor performance must be addressed. Nobody is indispensable; nobody should be allowed to think that they are indispensable

33 CS 501 Spring 2008 Technical Challenges Canceling projects Example: the Andrew window manager Changes of environment Example: the World Wide Web Technical tinkering v. needed re-engineering

34 CS 501 Spring 2008 Turning a Group Around To turn a weak group into a strong one is the greatest challenge of leadership The art of the possible Promotion of the best over the old leaders Using opportunities to reorganize Resignations and terminations Respect people who try, yet refuse to accept problem areas Persistent and firm is better than brutal and abrupt

35 CS 501 Spring 2008 How to be Led As a junior member of a team, what can you do to make it productive?

36 CS 501 Spring 2008 To Build and Maintain a Strong Team Everybody has a different style. In my experience: Be consistent in how you relate to people Be open about problems and how you are addressing them Explain your decisions Do not have secrets Ask for advice and help Be constructive in criticism of people outside your team Support and attend social events Set high standards!