1 / 24

CS 501: Software Engineering

CS 501: Software Engineering. Lecture 20 Managing People. 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. Quiz 3, Question 1.

rusti
Download Presentation

CS 501: Software Engineering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS 501: Software Engineering Lecture 20 Managing People

  2. 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. 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. 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. From Lecture 13Merger of Two Banks: Options A B ??? ???

  6. Merger of Two Retailers A B ? Product Database A Customer Database A Customer Database B

  7. 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. 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. Parts (iii) and (iv): Option II A B Product Database A Customer Database A

  10. Managing People Theoretical • Organizational behavior • Industrial psychology Group behavior • Cognitive fundamentals Economic motivation

  11. Maslow's Hierarchy of Needs Self-realization needs Esteem needs Social needs Safety needs Physiological needs

  12. 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. 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 • Teams must have: administrative leadership (manager) technical leadership

  14. Group Working 20% non-productive 50% interaction with others 30% working alone

  15. 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. 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

  17. 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. 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. 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 annual raise is 5%, but you are getting 6%." "Our salaries are in the top 25% of similar companies."

  20. 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. Technical Challenges • Canceling projects Example: the Andrew window manager • Changes of environment Example: the World Wide Web • Technical tinkering v. needed re-engineering

  22. 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. How to be Led As a junior member of a team, what can you do to make it productive?

  24. 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!

More Related