21
NJIT 1 Managing Technical People Ian Sommerville, Software Engineering, Chapter 22 Gerald Weinberg, The Psychology of Computer Programming, and many other sources

NJIT 1 Managing Technical People Ian Sommerville, Software Engineering, Chapter 22 Gerald Weinberg, The Psychology of Computer Programming, and many other

Embed Size (px)

Citation preview

Page 1: NJIT 1 Managing Technical People Ian Sommerville, Software Engineering, Chapter 22 Gerald Weinberg, The Psychology of Computer Programming, and many other

NJIT1

Managing Technical People

Ian Sommerville, Software Engineering, Chapter 22

Gerald Weinberg, The Psychology of Computer Programming, and

many other sources

Page 2: NJIT 1 Managing Technical People Ian Sommerville, Software Engineering, Chapter 22 Gerald Weinberg, The Psychology of Computer Programming, and many other

2

Management

Management is planning, organizing, communicating, and controlling

Measurement is the key to management-- “You manage what you measure.”

Page 3: NJIT 1 Managing Technical People Ian Sommerville, Software Engineering, Chapter 22 Gerald Weinberg, The Psychology of Computer Programming, and many other

3

Leadership

Leadership is the art of making and keeping commitments.

Form of a commitment:

I commit to a specific person that I will complete a specific act by a specific time.

Page 4: NJIT 1 Managing Technical People Ian Sommerville, Software Engineering, Chapter 22 Gerald Weinberg, The Psychology of Computer Programming, and many other

4

Motivation

Motivators Achievement, Power, Recognition, Teamwork,

Fulfilling Work Demotivators

Money, Benefits, Supervision, Security, Safety, Perks, Titles

Motivators bring satisfaction, while demotivators bring dissatisfaction if the underlying needs or expectations are not met. Once that need is met, it no longer motivates. (Once you get a raise, you are no longer satisfied--you want another one.)

Page 5: NJIT 1 Managing Technical People Ian Sommerville, Software Engineering, Chapter 22 Gerald Weinberg, The Psychology of Computer Programming, and many other

5

Maslow’s Hierarchy of Needs

Self

Actualization

Self Esteem

Social

Safety

Physiological

Page 6: NJIT 1 Managing Technical People Ian Sommerville, Software Engineering, Chapter 22 Gerald Weinberg, The Psychology of Computer Programming, and many other

6

Bass and DuntemanClassification of Professional Workers

Task Oriented (motivated by the work itself) Self Oriented (motivated by success and

recognition) Interaction Oriented (motivated by the

presence and actions of team members)

Page 7: NJIT 1 Managing Technical People Ian Sommerville, Software Engineering, Chapter 22 Gerald Weinberg, The Psychology of Computer Programming, and many other

7

Team Building

Teams allow for weaknesses in each team member to be compensated by strengths in other members.

Diversity in people, roles, skills, interests and personality are important for a team

Ideal team size is 3 to 8 persons

Page 8: NJIT 1 Managing Technical People Ian Sommerville, Software Engineering, Chapter 22 Gerald Weinberg, The Psychology of Computer Programming, and many other

8

Selecting Team Members

Application Domain Experience Platform Experience Programming Language Experience Educational Background Communication Skills Adaptability Attitude Personality Character

Page 9: NJIT 1 Managing Technical People Ian Sommerville, Software Engineering, Chapter 22 Gerald Weinberg, The Psychology of Computer Programming, and many other

9

Personal Character (McConnell, Chapter 31)

Intelligence and Humility Curiosity Intellectual Honesty Communication and Cooperation Creativity and Discipline Laziness (Frederick Taylor’s secret) Good Habits Not important: Hustle, Persistence,

Experience, Gonzo Programming

Page 10: NJIT 1 Managing Technical People Ian Sommerville, Software Engineering, Chapter 22 Gerald Weinberg, The Psychology of Computer Programming, and many other

10

Types of Intelligence

Verbal/Linguistic (written and spoken language) Logical/Mathematical (scientific thinking) Visual/Spatial (visualize & create mental images) Body/Kinesthetic (physical movement) Musical/Rhythmic Interpersonal (communication and cooperation) Intrapersonal (self reflection)

Page 11: NJIT 1 Managing Technical People Ian Sommerville, Software Engineering, Chapter 22 Gerald Weinberg, The Psychology of Computer Programming, and many other

11

Elias Porter’s Strength Deployment Inventory

Task Oriented (Assertive-Directing) Reds People Oriented (Altruistic-Nurturing) Blues Thinkers (Analytic-Autonomizing) Greens Balanced (Flexible-Cohering) Rainbows

Page 12: NJIT 1 Managing Technical People Ian Sommerville, Software Engineering, Chapter 22 Gerald Weinberg, The Psychology of Computer Programming, and many other

NJIT12

Models of Team Development

Page 13: NJIT 1 Managing Technical People Ian Sommerville, Software Engineering, Chapter 22 Gerald Weinberg, The Psychology of Computer Programming, and many other

13

Team Formation

Forming

Storming

Norming

Performing

Page 14: NJIT 1 Managing Technical People Ian Sommerville, Software Engineering, Chapter 22 Gerald Weinberg, The Psychology of Computer Programming, and many other

14

ICA Model(based on Will Schutz)

Inclusionrecognitionbelonging

participation

Affectionclosenesswarmth

sensitivity

Controlinfluenceleading

responsibility

Page 15: NJIT 1 Managing Technical People Ian Sommerville, Software Engineering, Chapter 22 Gerald Weinberg, The Psychology of Computer Programming, and many other

15

Kenneth Blanchard’sSituational Leadership

S3

Supporting Reluctant Contributor

S4

Delegating Peak Performer

S2

Coaching Disillusioned Learner

S1

Directing Enthusiastic Beginner

The Four Leadership Styles

Supporting

D i r e c t i v eLow

High

High

Page 16: NJIT 1 Managing Technical People Ian Sommerville, Software Engineering, Chapter 22 Gerald Weinberg, The Psychology of Computer Programming, and many other

NJIT16

Thirty Five Classic Mistakes in Software Development

From Chapter 3 of Rapid Development: Taming Wild

Software Schedules, by Steven McConnell

Page 17: NJIT 1 Managing Technical People Ian Sommerville, Software Engineering, Chapter 22 Gerald Weinberg, The Psychology of Computer Programming, and many other

17

The Book

Page 18: NJIT 1 Managing Technical People Ian Sommerville, Software Engineering, Chapter 22 Gerald Weinberg, The Psychology of Computer Programming, and many other

18

People-Related Mistakes Undermined Motivation Weak Personnel Uncontrolled Problem Employees Heroics Adding People to a Late Project Noisy, Crowded Offices Friction between Developers and Customers Unrealistic Expectations Lack of Effective Project Sponsorship Lack of Stakeholder buy-in Lack of User Input Politics placed over Substance Wishful Thinking

Page 19: NJIT 1 Managing Technical People Ian Sommerville, Software Engineering, Chapter 22 Gerald Weinberg, The Psychology of Computer Programming, and many other

19

Process-Related Mistakes Overly Optimistic Schedules Insufficient Risk Management Contractor Failure Insufficient Planning Abandonment of Planning under Pressure Wasted Time during the Fuzzy Front End Shortchanged Upstream Activities Inadequate Design Shortchanged Quality Assurance Insufficient Management Controls Premature or overly Frequent Convergence Omitting Necessary Tasks from Estimates Planning to Catch Up Later Code-like-Hell Programming

Page 20: NJIT 1 Managing Technical People Ian Sommerville, Software Engineering, Chapter 22 Gerald Weinberg, The Psychology of Computer Programming, and many other

20

Product-Related Mistakes

Requirements Gold Plating Feature Creep Developer Gold Plating Insufficient Planning Push-me, Pull-me Negotiation Research Oriented Development

Page 21: NJIT 1 Managing Technical People Ian Sommerville, Software Engineering, Chapter 22 Gerald Weinberg, The Psychology of Computer Programming, and many other

21

Technology-Related Mistakes

Silver Bullet Syndrome Overestimated Savings from New Tools or Methods Switching Tools in the Middle of a Project Lack of Automated Source Code Control