software engineering process - ii 6.1 unit 6: managing people software engineering process - ii

28
Software Engineering Process - II 6.1 Unit 6: Managing People Software Engineering Process - II

Upload: beryl-hodge

Post on 18-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Engineering Process - II 6.1 Unit 6: Managing People Software Engineering Process - II

Software Engineering Process - II 6.1

Unit 6:

Managing People

Software Engineering Process - II

Page 2: Software Engineering Process - II 6.1 Unit 6: Managing People Software Engineering Process - II

Software Engineering Process - II 6.2

What are your expectations from this unit?

Before You Begin…

Page 3: Software Engineering Process - II 6.1 Unit 6: Managing People Software Engineering Process - II

Software Engineering Process - II 6.3

Unit Objectives

Define critical factors in people management.

Explain staff selection.

Describe how to motivate people.

Define how to manage groups.

Explain group composition.

Define a cohesive group and its advantages.

Explain group communication and organization.

Describe working environments.

Explain the People Capability Maturity Model (P-CMM).

Page 4: Software Engineering Process - II 6.1 Unit 6: Managing People Software Engineering Process - II

Software Engineering Process - II 6.4

Managing People – Critical Factors

Consistency: All team members should be treated in a comparable way.

Respect: Managers should respect the fact that people have different skills and should be given an opportunity to contribute.

Inclusion: People contribute effectively when they feel their view are considered.

Honesty: Managers need to be honest about the status of the project.

Page 5: Software Engineering Process - II 6.1 Unit 6: Managing People Software Engineering Process - II

Software Engineering Process - II 6.5

Selecting Staff

Page 6: Software Engineering Process - II 6.1 Unit 6: Managing People Software Engineering Process - II

Software Engineering Process - II 6.6

Factors Governing Staff Selection

Application domain experience

Platform experience

Programming language experience

Problem solving ability

Educational background

Communication ability

Adaptability

Personality/Attitude

Page 7: Software Engineering Process - II 6.1 Unit 6: Managing People Software Engineering Process - II

Software Engineering Process - II 6.7

Class Activity - 1

List the constraints that a project manager may face while selecting team members?

Page 8: Software Engineering Process - II 6.1 Unit 6: Managing People Software Engineering Process - II

Software Engineering Process - II 6.8

Selection Constraints

Managers might face problems while selecting the skills for the project. Some of these include:

People with specific skills may be working on some other project.

A wide choice for specific skills, such as user interface design and hardware interfacing, may not be available.

Recent graduates, though available, may not have specific skills.

It may not always make sense to employ the most proficient technical person for a technical job.

Page 9: Software Engineering Process - II 6.1 Unit 6: Managing People Software Engineering Process - II

Software Engineering Process - II 6.9

Motivating People

Motivation involves organizing the work and the environment so that people are stimulated to work effectively.

Maslow suggests that people are satisfied if their needs are fulfilled.

These needs are arranged in a series of levels.

Page 10: Software Engineering Process - II 6.1 Unit 6: Managing People Software Engineering Process - II

Software Engineering Process - II 6.10

Human Needs

Page 11: Software Engineering Process - II 6.1 Unit 6: Managing People Software Engineering Process - II

Software Engineering Process - II 6.11

Human Needs (cont.)

To satisfy social needs, provide time and place for get-togethers and meetings.

To satisfy esteem needs, show people that they are valued by the organization by recognizing their achievements.

To satisfy self-realization needs, give them demanding but achievable responsibilities and provide suitable trainings.

Page 12: Software Engineering Process - II 6.1 Unit 6: Managing People Software Engineering Process - II

Software Engineering Process - II 6.12

Human Needs (cont.)

Task-oriented people are motivated by the work they do.

They are technicians who like the challenge offered by software development.

Self-oriented people are motivated by personal success and recognition.

They often have long-term goals such as career progression.

Interaction-oriented people are motivated by the presence and actions of co-workers.

They like to work as part of a group.

Page 13: Software Engineering Process - II 6.1 Unit 6: Managing People Software Engineering Process - II

Software Engineering Process - II 6.13

Managing Groups

Successful groups are more than a collection of individuals with right balance of skills.

A good group has a team spirit and people are motivated by group success as well as their own.

Page 14: Software Engineering Process - II 6.1 Unit 6: Managing People Software Engineering Process - II

Software Engineering Process - II 6.14

Group Composition

A group should have complementary personalities.

People who are motivated by work are likely to be technically sound.

Self-oriented people will be good at pushing the work.

Interaction-oriented people facilitate communication within the group.

Page 15: Software Engineering Process - II 6.1 Unit 6: Managing People Software Engineering Process - II

Software Engineering Process - II 6.15

Group Cohesiveness

Members of a cohesive group are loyal to the group and can identify with group goals.

They attempt to protect the group from outside interference.

The group can cope with problems and changes by providing mutual support.

Page 16: Software Engineering Process - II 6.1 Unit 6: Managing People Software Engineering Process - II

Software Engineering Process - II 6.16

Group Cohesiveness - Advantages

A group quality standard can be established by consensus and is more likely to be observed.

Members work closely and mutual learning is encouraged.

Members get to know each other’s work and can take over if a person leaves.

Egoless programming can be practiced.

Page 17: Software Engineering Process - II 6.1 Unit 6: Managing People Software Engineering Process - II

Software Engineering Process - II 6.17

Just a Minute

Name a software development approach where egoless programming is practiced?

Page 18: Software Engineering Process - II 6.1 Unit 6: Managing People Software Engineering Process - II

Software Engineering Process - II 6.18

Class Activity - 2

You learned the advantages of a cohesive group. Do you think a cohesive group might have some limitations? Why?

Page 19: Software Engineering Process - II 6.1 Unit 6: Managing People Software Engineering Process - II

Software Engineering Process - II 6.19

Group Communication

Group members need to communicate on the status of their work, design decisions, and changes.

Page 20: Software Engineering Process - II 6.1 Unit 6: Managing People Software Engineering Process - II

Software Engineering Process - II 6.20

Group Organization

Groups can be organized informally where all group members discuss the work and tasks are allocated according to the ability of individuals.

Groups can be build around a highly skilled chief programmer.

Augment a group of people having generic skills, such as language experience and problem-solving, with experts as required by project.

Page 21: Software Engineering Process - II 6.1 Unit 6: Managing People Software Engineering Process - II

Software Engineering Process - II 6.21

Class Activity - 3

Identify the benefits and problems associated with informal groups and chief programmer groups.

Page 22: Software Engineering Process - II 6.1 Unit 6: Managing People Software Engineering Process - II

Software Engineering Process - II 6.22

Working Environments

Important factors suggested by McCue’s design study are:

Privacy: Programmers require quiet areas where they can concentrate.

Outside awareness: People prefer to work in area with a view of outside environment.

Personalization: People prefer an environment which can adopt different working practices.

More often people like individual offices that they can organize to suit their needs and that have less interruption.

Page 23: Software Engineering Process - II 6.1 Unit 6: Managing People Software Engineering Process - II

Software Engineering Process - II 6.23

Working Environments (cont.)

Development groups also need meeting areas where they can sit and discuss project issues formally as well as informally.

Page 24: Software Engineering Process - II 6.1 Unit 6: Managing People Software Engineering Process - II

Software Engineering Process - II 6.24

P-CMM

P-CMM is developed by Software Engineering Institute (SEI) to support its Capability Maturity Model (CMM).

It can be used as a framework for improving the way in which human assets are managed by an organization.

Page 25: Software Engineering Process - II 6.1 Unit 6: Managing People Software Engineering Process - II

Software Engineering Process - II 6.25

P-CMM (cont.)

P-CMM is a five level model:

Initial: Informal people management processes.

Repeatable: Established processes for people capability development.

Defined: Standardization of best people management practices.

Managed: Quantitative goals for people management.

Optimizing: Improving individual competence and motivating staff.

Page 26: Software Engineering Process - II 6.1 Unit 6: Managing People Software Engineering Process - II

Software Engineering Process - II 6.26

P-CMM (cont.)

Page 27: Software Engineering Process - II 6.1 Unit 6: Managing People Software Engineering Process - II

Software Engineering Process - II 6.27

P-CMM (cont.)

The objectives of P-CMM are:

To improve the organization capability by improving the capability of the workforce.

To ensure that software development is an attribute of the organization and not of few individuals.

To align the motivation of individuals with that of the organization.

To retain people with critical knowledge and skills within the organization.

Page 28: Software Engineering Process - II 6.1 Unit 6: Managing People Software Engineering Process - II

Software Engineering Process - II 6.28

Summary

What was your key learning from the unit?