1 cs 501 spring 2002 cs 501: software engineering lecture 20 managing people
TRANSCRIPT
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
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.
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.
5 CS 501 Spring 2002
???
???
AA BB
From Lecture 13Merger of Two Banks: Options
6 CS 501 Spring 2002
AA BB
Customer Database A
Customer Database B
Product Database A
Merger of Two Retailers
?
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.
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
9 CS 501 Spring 2002
AA BB
Customer Database A
Product Database A
Parts (iii) and (iv): Option II
10 CS 501 Spring 2002
Managing People
Theoretical
• Organizational behavior
• Industrial psychology
Group behavior
• Cognitive fundamentals
Economic motivation
11 CS 501 Spring 2002
Maslow's Hierarchy of Needs
Self-realization needs
Esteem needs
Social needs
Safety needs
Physiological needs
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
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
14 CS 501 Spring 2002
Group Working
50%interaction
with others
20%non-productive
30%working alone
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
16 CS 501 Spring 2002
Administrative Leader (Manager)
• PersonnelAssigning tasksHiring, promoting, etc.
• ResourcesBudgetsSpace, facilitiesEquipment
• Project managementRelationships with other teams and clientsProject plan and schedule
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
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
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."
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
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
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
23 CS 501 Spring 2002
How to be Led
As a junior member of a team, what can you do to make it productive?
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!