1 cs 501 spring 2002 cs 501: software engineering lecture 20 managing people

24
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 20 Managing People

Upload: tamsin-wilkinson

Post on 04-Jan-2016

222 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 20 Managing People

1 CS 501 Spring 2002

CS 501: Software Engineering

Lecture 20

Managing People

Page 2: 1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 20 Managing People

2 CS 501 Spring 2002

Administration

Assignment 3

Remember to submit your reports and questionnaires

Discussion Class

Attend

Speak!

Let me know out of class if you want to be called on more often

Page 3: 1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 20 Managing People

3 CS 501 Spring 2002

Quiz 3, Question 1

Two online retailers, A and B, have agreed to merge. They have separate computer systems. Each has separately developed (i) a product database with information about products, suppliers and prices, and (ii) a customer database of customer accounts.

You are the Chief Information Officer responsible for combining the two systems into a single system. The strategy chosen is to combine the two product databases into a single database, using the software developed by retailer A, but keep the lists of customer separate. Customers should be unaware of the change, so that, to the customers, retailers A and B continue to appear to be separate.

Page 4: 1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 20 Managing People

4 CS 501 Spring 2002

Quiz 3, Question 1 (continued)

(a) List two technical approaches for combining the two systems.

(b) What are the risks associated with each approach?

(c) Select the approach that appears likely to have the least risk.

(d) Draw a system architecture diagram for this approach.

Page 5: 1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 20 Managing People

5 CS 501 Spring 2002

???

???

AA BB

From Lecture 13Merger of Two Banks: Options

Page 6: 1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 20 Managing People

6 CS 501 Spring 2002

AA BB

Customer Database A

Customer Database B

Product Database A

Merger of Two Retailers

?

Page 7: 1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 20 Managing People

7 CS 501 Spring 2002

Part (i): Technical Approaches

I. Minimal changes to the interfaces

Modify User Interface B so that it can get product information from Product Database A.

Modify Customer Database B so that it can interact with Product Database A (if needed).

II. Retire Customer Database B

Modify User Interface B so that it can get product information from Product Database A and customer information from Customer Database A.

Modify Customer Database A to hold both customer lists and merge information about the customers of B.

Page 8: 1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 20 Managing People

8 CS 501 Spring 2002

Part (ii): Risks

I. Minimal changes to the interfaces

Need to maintain two separate systems indefinitely

Semantic differences between systems may make transparent interface(s) impossible

II. Retire Customer Database B

Major effort required to convert Customer Database B within short time span, very likely needing new data elements or relations

User Interface B may need major changes

Page 9: 1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 20 Managing People

9 CS 501 Spring 2002

AA BB

Customer Database A

Product Database A

Parts (iii) and (iv): Option II

Page 10: 1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 20 Managing People

10 CS 501 Spring 2002

Managing People

Theoretical

• Organizational behavior

• Industrial psychology

Group behavior

• Cognitive fundamentals

Economic motivation

Page 11: 1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 20 Managing People

11 CS 501 Spring 2002

Maslow's Hierarchy of Needs

Self-realization needs

Esteem needs

Social needs

Safety needs

Physiological needs

Page 12: 1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 20 Managing People

12 CS 501 Spring 2002

Software Engineering Basics

• 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

Page 13: 1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 20 Managing People

13 CS 501 Spring 2002

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 expertsgraphic or interface designerssoftware librarianstesters

• Teams must have:

administrative leadership (manager)technical leadership

Page 14: 1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 20 Managing People

14 CS 501 Spring 2002

Group Working

50%interaction

with others

20%non-productive

30%working alone

Page 15: 1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 20 Managing People

15 CS 501 Spring 2002

Communication

• Informal

Kitchen, smokers' doorway, after work, etc.

Walkabout (tours)

Ad hoc meetings

• Staff meetings (non-technical)

Example: Tektronics

• Technical meetings

Facilitation

Record of decisions

• Management of teams dispersed across locations

Page 16: 1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 20 Managing People

16 CS 501 Spring 2002

Administrative Leader (Manager)

• PersonnelAssigning tasksHiring, promoting, etc.

• ResourcesBudgetsSpace, facilitiesEquipment

• Project managementRelationships with other teams and clientsProject plan and schedule

Page 17: 1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 20 Managing People

17 CS 501 Spring 2002

Hiring Criteria

Productivity is a combination of:

• Analytic ability• Verbal ability and communication skills • Education• Application domain knowledge

• Adaptability and inquisitiveness• Personality and attitude

• Platform experience• Programming language experience

Page 18: 1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 20 Managing People

18 CS 501 Spring 2002

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

Page 19: 1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 20 Managing People

19 CS 501 Spring 2002

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-realizationesteem

The absolute level of salary is less important than its relative level and how it is presented:

"The annual raise is 5%, but you are getting 6%."

"Our salaries are in the top 25% of similar companies."

Page 20: 1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 20 Managing People

20 CS 501 Spring 2002

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

Page 21: 1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 20 Managing People

21 CS 501 Spring 2002

Technical Challenges

• Canceling projects

Example: the Andrew window manager

• Changes of environment

Example: the World Wide Web

• Technical tinkering v. needed re-engineering

Page 22: 1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 20 Managing People

22 CS 501 Spring 2002

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

Brutal and abrupt rarely equals persistent and firm

Page 23: 1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 20 Managing People

23 CS 501 Spring 2002

How to be Led

As a junior member of a team, what can you do to make it productive?

Page 24: 1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 20 Managing People

24 CS 501 Spring 2002

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!