48
University of Malta Slide 1 of 48 Session 3 3. Human Resource Management Session 3 of the Software Engineering Management Module Software Development Human Resource Management This session should provide some insight into the nature of software development teams and their composition. Faculty of ICT Ernest Cachia Department of Computer Science

Software Development Human Resource Management 3. Human

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Software Development Human Resource Management 3. Human

University of Malta

Slide 1 of 48

Session 3

3. Human Resource

Management

Session 3 of the Software Engineering

Management Module

Software Development Human Resource

Management

This session should provide some insight into the nature of

software development teams and their composition.

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 2: Software Development Human Resource Management 3. Human

University of Malta

Slide 2 of 48

Session Aims

The aim of this session is to introduce you to some particularities involved in the management of people involved in software development. In particular:

• To make clear that people are the most valuable resource.

• To instil a sense of appreciation that people are not easily

recruited, managed and “maintained”.

• To present some fundamental criteria determining people’s

behaviour and morale.

• To introduce some basic team structures.

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 3: Software Development Human Resource Management 3. Human

University of Malta

Slide 3 of 48

Session Contents

• Managing people

• Collective culture

• Software engineering team roles

• Human Resource (HR) recruitment

• Team structures and management

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 4: Software Development Human Resource Management 3. Human

University of Malta

Slide 4 of 48

Managing People

A VERY IMPORTANT MANAGEMENT ASPECT.

• People are a manager’s most valuable resource

• Is a major influence on project quality

• Is not a substitute for unqualified or not competent

staff

• Can entail cultural issues

• Is a tricky business!

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 5: Software Development Human Resource Management 3. Human

University of Malta

Slide 5 of 48

Frederick W. Taylor

This gentleman first started paying attention to

management science – Frederick Winslow Taylor

(1856 - 1915)

Nationality: American (Philadelphia)

Described as: “Father of Scientific Management”

Famous quote:

“In the past man has been first.

In the future the System will be first,“

Influenced such systems as:

Ford's assembly line and Lenin's Soviet Union

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 6: Software Development Human Resource Management 3. Human

University of Malta

Slide 6 of 48

The Three “Taylorist” Pillars

1. Find best practice wherever it exists

Determining procedures and techniques that yield desirable

quality, allows one to identify, draw parallels and apply

2. Breakdown a task into its constituent elements

The basis of any analytic activity – better understanding

3. Remove things that do not add value (to the

process or to the product)

Keep only justifiable overheads

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 7: Software Development Human Resource Management 3. Human

University of Malta

Slide 7 of 48

The “primal” HR Management Objectives

The “Taylorist” approach:

• Select Delegate appropriate people to appropriate activities (according to competences)

• Instruct Teach people the best (to your knowledge) methods of going about their activities

• Motivate Pay, in the original “Taylorist” theory, meant more money to the most hard-working people

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 8: Software Development Human Resource Management 3. Human

University of Malta

Slide 8 of 48

The Humanist Approach

Maslow’s “Hierarchy of Needs”. (Abraham Maslow:1908-1970)

Diagram corroborated from

various sources and finally

chosen from Wikipedia.

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 9: Software Development Human Resource Management 3. Human

University of Malta

Slide 9 of 48

The Human Psyche

• Basically within the remit of Psychology

• People work differently in groups than they do as

individuals. The study of the way people work in

groups is known as Organisational Behaviour (OB)

• Much research is done in OB due to the enormous

influence the human state of mind has on a person’s

efficiency and productivity

• Look up information on Donald McGregor’s

“Theory X and Theory Y” (see next slide)

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 10: Software Development Human Resource Management 3. Human

University of Malta

Slide 10 of 48

Activity “SEM3”

You are to look up information regarding Douglas McGregor’s “Theory X and Theory Y”. Also referred to as “Theory XY”.

Produce a short (2-page max) report including:

1) A clear and complete explanation of the theory.

2) Any pros and cons relating to it.

3) Its application to modern management

All reported work should be in your own words.

(1906 – 1964)

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 11: Software Development Human Resource Management 3. Human

University of Malta

Slide 11 of 48

Prelude to HR Management

Before starting to manage your people…

• Understand your people’s and organisation’s particularities and idiosyncrasies

• Understand each team member’s value (i.e. in terms of

qualifications, experience and background – both

professional and personal)

• Associate your people with the right work for them (i.e.

highlight talent not weakness)

• Keep track your people’s morale and psyche just as you

would the technical aspect

All the of the above is collectively referred to as …

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 12: Software Development Human Resource Management 3. Human

University of Malta

Slide 12 of 48

The “Group Culture”

The Group Culture is heavily influenced by the Organisational Culture*

“Culture” (in project management sense) can be seen as the established way of doing things of a particular collection of people working in close quarters, sharing common scope and goal.

* If say, all around is (“accepted”) chaos, it would be difficult to instil a sense of discipline and ordered development in a team within this environment.

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 13: Software Development Human Resource Management 3. Human

University of Malta

Slide 13 of 48

Determining an Existing “Culture”

Determine:

• Organisational Culture

E.g. Accepted goals, procedures, tools, etc

• Individual Culture

E.g. Background, habits, desires, motivators, expectations,

etc

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 14: Software Development Human Resource Management 3. Human

University of Malta

Slide 14 of 48

Determine Organisational Culture

By asking oneself the following:

1. What development procedures and standards are

generally used?

2. What is understood by a “successful project”? Do

many of these happen?

3. What levels of confidence exist (towards managers,

tools, methods, deadlines, etc.)

4. How are projects generally viewed by software

engineers? (i.e. level of interest, motivation, etc.)

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 15: Software Development Human Resource Management 3. Human

University of Malta

Slide 15 of 48

Determine Individual Culture

By asking oneself the following:

1. What’s the person’s formal educational

background?

2. What’s the person’s job (project development)

experience?

3. What’s the person’s age? (generation

considerations)

4. What is his/her character, habits and personal

expectations like?

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 16: Software Development Human Resource Management 3. Human

University of Malta

Slide 16 of 48

Emergent Cultural Roles

We all consciously or sub-consciously tend to adopt

a stance/role within a group – it’s only natural. Which

one do you “slot yourself” into?

• Leader (many think they are, few in reality can effectively lead)

• Listener (pays attention to everything, rarely speaks out)

• Talker (tends to talk about issues incessantly)

• Complainer (difficult to satisfy)

• Naysayer (can always see a potential problem)

• Expert (“know-it-all” – tendency to dominate)

• Charger (game for anything – questions come after)

• Plodder (slow but consistent – always chugs along)

Categories based on Henry

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 17: Software Development Human Resource Management 3. Human

University of Malta

Slide 17 of 48

Typical Software Engineering Project Roles

• Requirements Engineer

• Systems Analyst

• Lead Designer

• Designer

• Coder

• Tools Expert

• Quality Assurance Engineer

• Client Liaison

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 18: Software Development Human Resource Management 3. Human

University of Malta

Slide 18 of 48

Possible Conclusion Drawn

Different opinions may exist regarding software engineering project team roles.

In my personal opinion:

Applicability and/or effectiveness of software engineering

project roles can only be judged in relation to the prevailing

culture.

(Please remember what is meant by “culture” – not culture in the sociological

sense)

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 19: Software Development Human Resource Management 3. Human

University of Malta

Slide 19 of 48

Matching People to Roles

Roles as determined in the organisation

Educational

Background

Experience

(on projects)

Personal &

Personality

Traits

Professional

preferences

Age group

(generation)

Activity 1

Activity 2

Activity n

.

.

.

Recruitment

Process

Assigned

Task 1

Assigned

Task 2

Assigned

Task n

. . . Now subject these to additional

managerial influence

(i.e. scheduled, measured,

represented, etc.)

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 20: Software Development Human Resource Management 3. Human

University of Malta

Slide 20 of 48

Gender Issues

Software development is one of those areas where gender issues and natural distinctions can never be

construed to effect the role-matching process.

Any form of gender distinction in this field can be viewed

as gender discrimination.

Remember always to be fair and open-minded (this is of course applicable to both men and women)

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 21: Software Development Human Resource Management 3. Human

University of Malta

Slide 21 of 48

Professional Trends

• Task oriented – Motivated by work

– Rise to a challenge, and keep “at it”

– Technically strong

• Interaction oriented – Influenced by colleagues

– Good team players

– Transparent in their work

• Self oriented – Motivated by personal achievement

– “Get the show on the road” attitude

– More flexible and manageable

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 22: Software Development Human Resource Management 3. Human

University of Malta

Slide 22 of 48

The Recruitment Process

Can present itself with various attributes:

• In practice, is generally an organisational-level

responsibility (i.e. not a project-level one)

• Can offer sparse choice

• Can be of a “pre-decided” nature

• Can be of a transitory nature

• Can be deceptive (depending on time and effort

dedication)

• Can be unfair (depending on competencies of the

recruiters)

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 23: Software Development Human Resource Management 3. Human

University of Malta

Slide 23 of 48

Factors Influencing the Recruitment Process

Primarily:

• Actual knowledge and skills

Partially:

• Formal qualifications

• Impressive (or not) CVs

• Listed experience

• “Wideness of spread” of

posts held

• Spread of knowledge

• References

Suitable

Eligible

Ideal

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 24: Software Development Human Resource Management 3. Human

University of Malta

Slide 24 of 48

Factors not Influencing the Recruitment Process

• Race issues

• Gender issues

• Social status/background issues (However, in certain cases,

monitoring after recruitment is a good idea)

• Generation issues (Although this factor can indirectly impinge on areas

of knowledge, and therefore, on recruitment decisions)

• Personal prejudices

• Physical disability issues (Mental disabilities do not necessarily preclude people from software development. However, this remains a highly selective issue)

• Hearsay or conceived rumours

• Appearance and Mannerisms (For some conceived roles this could

however, be a serious issue. If so, clarify during the recruitment process)

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 25: Software Development Human Resource Management 3. Human

University of Malta

Slide 25 of 48

Structuring Recruitment (1/2)

If you have the luxury to do so, then…

• Create the actual job specification

• Create the “virtual profile” of the ideal person who would

fit the post

• Prepare a realistic and descriptive public announcement

• Get the list of applicants (to have a feel of the level of

interest and therefore get some feed-forward on how to

behave in during the interviews)

• Get and examine applicants’ CVs

and…

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 26: Software Development Human Resource Management 3. Human

University of Malta

Slide 26 of 48

Structuring Recruitment (2/2)

• Hold interviews (applicants to appear in person, avoid

phone, video or other remotely-held interviews)

• Follow up any references of potential choice applicants

• Inform of final decision, or short-list applicants and hold

a second interview session

• Formulate letter/s of acceptance

• Meet, introduce and induce the new person/s

In some cases interviews may include (or be supplemented by)

aptitude and/or psychometric tests. These type of tests require extra

effort to create and organise, but can yield a lot of insight into an

applicant’s aptness and suitability for the job. This is the subject of

debate amongst project managers.

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 27: Software Development Human Resource Management 3. Human

University of Malta

Slide 27 of 48

Dealing with One’s Own People

Existing staff generally falls into one of two categories:

• Good and improvable;

• Already there!

Both types of staff need to be managed, with one

difference – the former could be made better before

being managed.

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 28: Software Development Human Resource Management 3. Human

University of Malta

Slide 28 of 48

Making Good People Better

• Make people think of professional self-betterment as one of the aims of the project they are working on

• Allow people to set their own improvement goals

• Ask people to manage their own time (for their individual activities)

• Determine, and distinguish between, temporary short-term and longer-reaching long-term staff professional development goals

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 29: Software Development Human Resource Management 3. Human

University of Malta

Slide 29 of 48

Managing Good People

• Monitor and assess the process and product – NOT the people

• Conduct without interfering

• Make use of your knowledge – NEVER your position

• Act as a conduit for your people’s effort – NOT as an

obstacle or critical filter

• Forget the trapping of managerial authority (those are

always present anyway) and concentrate on project

and people needs

• Be always there for your people without seeming

intrusive

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 30: Software Development Human Resource Management 3. Human

University of Malta

Slide 30 of 48

Attributes of a Good Manager

• Confidence both in yourself and your people

• Don’t allow personal relationships to interfere with work

relationships

• Admit that you too can make mistakes and be prepared

to have them corrected through your people’s scrutiny

• Be punctual and your people will follow suit

• Set positive examples

• Know your people and tap all their talents

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 31: Software Development Human Resource Management 3. Human

University of Malta

Slide 31 of 48

In a Nutshell

Therefore, in a nutshell, management of people in an software engineering project is:

• Managing group effort and individual cultural attributes

• Careful management of highly motivated, intelligent and responsible people

• Managing your people’s professional development

• Setting the right examples and standards, and elevating project and team needs above everything else

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 32: Software Development Human Resource Management 3. Human

University of Malta

Slide 32 of 48

Working in Groups

• This is what software engineers end up doing most of the time.

• Group effectiveness (or ineffectiveness) will dictate the outcome of any project

• Managing how a group works is not a trivial affair and entails many aspects

• The project manager has considerable, but not absolute, influence on group work

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 33: Software Development Human Resource Management 3. Human

University of Malta

Slide 33 of 48

Group Building & Management Aspects

This aspect was discussed earlier on

This will be discussed shortly

• Individual characteristics of group members

• Group cohesion

• Group communication

• Group organisation

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 34: Software Development Human Resource Management 3. Human

University of Malta

Slide 34 of 48

Cohesive Groups (1/2)

Such groups can offer many advantages:

• A collective standard can be “cultivated”

• A sense of loyalty will persist

• Foster project/procedure continuity

• Team members tend to help each other

• A collective body of experience can be formed

• Personal egos are less likely to surface

• Communication comes naturally

…but they also exhibit a few disadvantages

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 35: Software Development Human Resource Management 3. Human

University of Malta

Slide 35 of 48

Cohesive Groups (2/2)

Cohesive groups can however also offer

some disadvantages:

• Foster a relatively strong resistance to changes in

management /leadership

• Allow the build up of what is called “groupthink” (i.e. the

suppression of individual thought, initiative, and/or creativity

• May induce a sense of rejection, or resistance, of new team

member composition

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 36: Software Development Human Resource Management 3. Human

University of Malta

Slide 36 of 48

Typically, a modern software engineer working in a

team would utilise his/her time as follows:

• Individual work: 20%

• Non-productive effort: 20%

• Interacting: 60%

From this follows that communication plays a major role in

modern software engineering management

Communication

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 37: Software Development Human Resource Management 3. Human

University of Malta

Slide 37 of 48

Factors Influencing Internal Team Communication

• Procedures and standards currently in place

• Size of the team

• Structure of the team

• Gender composition of the team

• Work environment

• Management disposition and attention

• Personal individual characters and habits

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 38: Software Development Human Resource Management 3. Human

University of Malta

Slide 38 of 48

Group Management Aspects

Effective group management is heavily dependent

on team organisation.

Types of team structure:

• Chief Programmer

• Democratic

• Matrix

• Hybrid

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 39: Software Development Human Resource Management 3. Human

University of Malta

Slide 39 of 48

Chief Programmer Team

• Introduced in the 1970’s

• Main hub is the Chief programmer

–directs and reviews work of other team members

–does design and complex implementations

• Requires a backup chief programmer

• Actual coding done by other programmers

–specialized; work on detailed design and coding

• Administration done by programming secretary (librarian)

– maintains project library (code, test cases, etc.)

– compiles, executes and runs test cases

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 40: Software Development Human Resource Management 3. Human

University of Malta

Slide 40 of 48

Schematic of Chief Programmer Team

Chief

Programmer

Programming

Secretary Back-up

Programmer

Programmer 1 Programmer 2 … Programmer n

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 41: Software Development Human Resource Management 3. Human

University of Malta

Slide 41 of 48

Impracticalities of The Chief Programmer Approach

• Good chief programmers are hard to find

(must be both a good programmer and good manager)

• Good backup chief programmers are even harder to

find

• Nowadays programmers compile, run and test their

software at their workstations

• The chief programmer is present at code reviews and

also does evaluation of members – this does not

foster positive attitude toward finding faults

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 42: Software Development Human Resource Management 3. Human

University of Malta

Slide 42 of 48

The Democratic Team

Group works for a common cause with no single leader;

each member finds faults in others’ code

• Advantages

– Positive attitude towards finding faults

– Especially productive in solving hard problems

• Disadvantages

– Management has difficulty working with egoless team

– Senior members may resent review by beginners

– Communication can become difficult to manage (see next

two slides)

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 43: Software Development Human Resource Management 3. Human

University of Malta

Slide 43 of 48

Communication Patterns in a Democratic Team

Drawings taken from McGraw-Hill, 1999.

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 44: Software Development Human Resource Management 3. Human

University of Malta

Slide 44 of 48

Matrix-Oriented Teams

Java coder C# coder Analyst Tester QA

Project “A” X X X

Project “B” X X X

Project “C” X X X

In the above table:

Project “A” requires the participation of a Java coder, an analyst,

and a quality assurance person. For example, if only one analyst is

available, then the three projects need to be co-ordinated.

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 45: Software Development Human Resource Management 3. Human

University of Malta

Slide 45 of 48

Hybrid (the modern) Approach

• Team leader

– Responsible for technical aspects

– Attends all code reviews

• Team manager

– Responsible for non-technical aspects (budget,

performance appraisals)

– Does not attend code reviews, but assesses performance

based on periodic team meetings

• Can be scaled up for large projects

• Decentralised decision-making

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 46: Software Development Human Resource Management 3. Human

University of Malta

Slide 46 of 48

Team management 1

Team management 2

Schematic of Hybrid Approach

Team

Leader 1

Team

Leader 2

Programmer 1 Programmer 2 … Programmer n

Project

Manager

Team

Manager 1

Team

Manager 2

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 47: Software Development Human Resource Management 3. Human

University of Malta

Slide 47 of 48

Group Evolution Cycle

These are the six basic group life stages:

• Formative

• Hectic (aka Storming)

• Normative

• Productive (aka performing)

• Introspective (my personal addition to the established five)

• Wind-up (aka Adjournment) [based on Tuckman and Jensen]

Faculty of ICT

Ernest Cachia

Department of Computer Science

Page 48: Software Development Human Resource Management 3. Human

University of Malta

Slide 48 of 48

Summary (Session 3)

• The various factors making the management of people

something fundamentally different from the management of

other resources.

• The notion of a “self-forming culture” that is inevitable when

groups of people work together.

• The inherent character types we can all see ourselves in, and

the classification of roles in a software development team.

• Building, and/or augmenting, a software development team

Faculty of ICT

Ernest Cachia

Department of Computer Science