06 managing people

Upload: kumar-saurabh

Post on 06-Oct-2015

217 views

Category:

Documents


0 download

DESCRIPTION

Learn the skill

TRANSCRIPT

  • Drafting your Dream-TeamSelecting the best people and managing people working as individuals and in groups

  • Where we arewe know how to define what the project is about (scope planning)we know how to assess what the risks are (risk management) [ and actually explained how to deal with them during the project]

    today we will look at issues related to selecting the best people in town (here we are between scoping and planning) and issues related to managing people (analogously to risk management, we will dig a little deeper and explore topics related to managing people during project execution and monitoring)

  • ObjectivesThe basicsHow to draft your team: some of the issues involved in selecting and retaining staffTo describe factors that influence individual motivationKey issues of team working including composition, cohesiveness and communicationsPeople capability maturity model (P-CMM) - a framework for enhancing the capabilities of people in an organisation

  • People in the processPeople are an organisations most important assets.The tasks of a manager are essentially people-oriented. Unless there is some understanding of people, management will be unsuccessful.Poor people management is an important contributor to project failure.

  • People management factorsConsistencyTeam members should all be treated in a comparable way without favourites or discrimination.RespectDifferent team members have different skills and these differences should be respected.InclusionInvolve all team members and make sure that peoples views are considered.HonestyYou should always be honest about what is going well and what is going badly in a project.

  • Selecting staffAn important project management task is defining the team requirements for your project and selecting your team.

  • Staff RequirementsInformation on defining team requirements depends on various factors among which:OrganizationalAre there any constraint in the organization related to acquiring the staff for the projectWhat departments will be involved?TechnicalWhat are the technical skills needed to achieve the project goals?InterpersonalWhat kind of relationships exists among the candidates? Language differences? Supplier/customer relationships?LogisticalWe are the people located?PoliticalIndividual goals and agendas of the stakeholders?

  • Staff SelectionInformation on selecting team members comes from:Information provided by the candidates.Information gained by interviewing and talking with candidates.Recommendations and comments from other people who know or who have worked with the candidates.

  • Staff selection factors 1Application domain experience.For a project to develop a successful system, the developers must understand the application domain. It is essential that some members of a development team have some domain experience.Platform experience.This may be significant if low-level programming is involved. Otherwise, not usually a critical attribute.Programming language experience.This is normally only significant for short duration projects where there is not enough time to learn a new language. While learning a language itself is not difficult, it takes several months to become proficient in using the associated libraries and components.Problem solving ability.This is very important for software engineers who constantly have to solve technical problems. However, it is almost impossible to judge without knowing the work of the potential team member.

  • Staff selection factors 2Educational background.This may provide an indicator of the basic fundamentals that the candidate should know and of their ability to learn. This factor becomes increasingly irrelevant as engineers gain experience across a range of projects.Communication Ability.This is important because of the need for project staff to communicate orally and in writing with other engineers, managers and customers. Adaptability.Adaptability may be judged by looking at the different types of experience that candidates have had. This is an important attribute as it indicates an ability to learn. Attitude.Project staff should have a positive attitude to their work and should be willing to learn new skills. This is an important attribute but often very difficult to assess.Personality.This is an important attribute but difficult to assess. Candidates must be reasonably compatible with other team members. No particular type of personality is more or less suited to software engineering.

  • and some constraintsAvailabilityis the resource available when needed by the project?InterestsIs there a real interest in working in the project?CostsHow much will each person be paid?

  • General Considerations(When selecting staff from within the company) Managers in a company may not wish to lose people to a new project.Hard skills are in short supply.

    -> Part-time involvement may be inevitable.

    Recent graduates may not have specific skills but may be a way of introducing new skills.

    -> Technical proficiency may be less important than social skills.

  • Motivating peopleAn important role of a manager is to motivate the people working on a project.Motivation is a complex issue but it appears that their are different types of motivation based on:Basic needs (e.g. food, sleep, etc.);Personal needs (e.g. respect, self-esteem);Social needs (e.g. to be accepted as part of a group).

  • Theory XTaylor 1911

    Human beings have little interest in working and they will try to avoid it, if possibleThe majority of people is not ambitious and not interested in taking responsibilitiesHuman beings are poorly creative in solving organizational problemsMotivation is mainly related to satisfying physical/security needs

  • Theory YMc Gregor 1960

    Working is a natural activity, like playing and restingPeople are, on average, very creativeMotivation is often self-realization and self-esteem

  • Theory ZOuchi 1981 (mix of american and japanese management styles)

    To keep people motivated they have to have clear goalsMotivation is essential for the success of any industrial activity: management must contribute to keep people motivatedMotivated people can make mistakes: management must correct incorrect behaviors and ensuring people actions are in accordance with the strategies of the companyHigh efficiency can be achieved where tasks are highly standardisedPeoples goal must change with working conditions and companies needs

  • Theory WBoehm (1988) (Have all stakeholders win)

    Comprehend what each person means by winning (e.g. promotions are not always the best expected reward)Create the right expectations in each project (e.g. avoid creating expectations that are too high given budget and constraints)Define and clearly identify tasks based on each person capability

  • Summarizing

    TheoryManagement StyleProcessCritical AspectX (Taylor 1911)ScientificWaterfallLack of creativity and initiativeY (Mc Gregor 1960)Motivation basedCreativity and initiativeConflicts and lack of coordinationZ (Ouchi 1981)JapaneseCorporate CultureRelationships among different companiesW (Boehm 1988)Negotiation basedMaximise satisfactionLack of corporate strategy

  • Human needs hierarchy (Maslow, 1954)Physiological NeedsSafety NeedsSocial NeedsEsteem NeedsSelf-realisationNeeds

  • Need satisfactionSocialProvide communal facilities;Allow informal communications.EsteemRecognition of achievements;Appropriate rewards.Self-realizationTraining - people want to learn more;Responsibility.

  • Situational LeadershipThere is no single management style: it depends upon the managed people (Blanchard and Hersey)the leadership style of the leader must correspond to the development level of the follower - and it's the leader who adapts.Four styles and four commitments:S1. Directing(high guidance and little backing/support): people with low maturity and low commitmentS2. Coaching(high guidance and high backing/support): people mature but not yet independentS3. Supporting(little guidance and high backing/support): people insecure (but ready to take responsibilities)S4. Delegation(little guidance and little backing/support): mature and autonomous people

  • Situational LeadershipS2S1S3S3HighLowHighSupportiveBehaviorDirective Behavior

  • Situational Leadership ExamplesExample:a new person joins your team and you're asked to help them through the first few days. You sit them in front of a PC, show them a pile of invoices that need to be processed today, and push off to a meeting. They're at level D1, and you've adopted S4. Everyone loses because the new person feels helpless and demotivated, and you don't get the invoices processed.you're handing over to an experienced colleague before you leave for a holiday. You've listed all the tasks that need to be done, and a set of instructions on how to carry out each one. They're at level D4, and you've adopted S1. The work will probably get done, but not the way you expected, and your colleague despises you for treating him like an idiot.

    By adopting the right style to suit the follower's development level, work gets done, relationships are built up, and most importantly, the follower's development level will rise to D4, to everyone's benefit.

  • Personality typesThere are several dimensions to take into account!An approach is that of taking into account different personality types:

    Task-oriented. The motivation for doing the work is the work itself;Self-oriented. The work is a means to an end which is the achievement of individual goals - e.g. to get rich, to play tennis, to travel etc.;Interaction-oriented.The principal motivation is the presence and actions of co-workers. People go to work because they like to go to work.

  • Motivation balanceIndividual motivations are made up of elements of each class.The balance can change depending on personal circumstances and external events.However, people are not just motivated by personal factors but also by being part of a group and culture. People go to work because they are motivated by the people that they work with.

  • Managing groupsMost software engineering is a group activityThe development schedule for most non-trivial software projects is such that they cannot be completed by one person working alone.Group interaction is a key determinant of group performance.Flexibility in group composition is limitedManagers must do the best they can with available people.

  • Factors influencing group workingGroup composition.Group cohesiveness.Group communications.Group organisation.

  • Group compositionGroup composed of members who share the same motivation can be problematicTask-oriented - everyone wants to do their own thing;Self-oriented - everyone wants to be the boss;Interaction-oriented - too much chatting, not enough work.An effective group has a balance of all types.This can be difficult to achieve software engineers are often task-oriented.Interaction-oriented people are very important as they can detect and defuse tensions that arise.

  • Group CompositionDont be tempted and form the team with people all like you!(simpler than being challenged all the time but less functional and rewarding on the longer term)

  • Group leadershipLeadership depends on respect not titular status.There may be both a technical and an administrative leader.Democratic leadership is more effective that autocratic leadership.

  • Group cohesivenessIn a cohesive group, members consider the group to be more important than any individual in it.The advantages of a cohesive group are:Group quality standards can be developed;Group members work closely together so inhibitions caused by ignorance are reduced;Team members learn from each other and get to know each others work;Egoless programming where members strive to improve each others programs can be practised.

  • Developing cohesivenessCohesiveness is influenced by factors such as the organisational culture and the personalities in the group.Cohesiveness can be encouraged throughSocial events;Developing a group identity and territory;Explicit team-building activities.Openness with information is a simple way of ensuring all group members feel part of the group.

  • Group loyaltiesGroup members tend to be loyal to cohesive groups.'Groupthink' is preservation of group irrespective of technical or organizational considerations.Management should act positively to avoid groupthink by forcing external involvement with each group.

  • Group communicationsGood communications are essential for effective group working.Information must be exchanged on the status of work, design decisions and changes to previous decisions.Good communications also strengthens group cohesion as it promotes understanding.

  • Group communicationsGroup sizeThe larger the group, the harder it is for people to communicate with other group members.Group structureCommunication is better in informally structured groups than in hierarchically structured groups.Group compositionCommunication is better when there are different personality types in a group and when groups are mixed rather than single sex.The physical work environmentGood workplace organisation can help encourage communications.

  • Structuring CommunicationTypes of meetings:VerificationDecision-takingBrainstormingTo be successful:Define clearly goals and attendeesDefine an agendaKeep the meeting focusedDefine duration and make sure it is keptDefine people responsible for executing actions decided at the meeting

  • Meeting Minutes StructureCoordinates:Date and locationAttendeesInvited people that did not attend the meetingAgendaDescription of the meetingActions:ID, Action, Due Date, Responsible, WP Reference

  • Group StructuresDemocratic/Informal GroupsChief Programmer TeamsDecentralized groupsVirtual Teams

  • Informal groupsGood for small teams (
  • Extreme programming groupsExtreme programming groups are variants of an informal, democratic organisation.In extreme programming groups, some management decisions are devolved to group members.Programmers work in pairs and take a collective responsibility for code that is developed.

  • Chief programmer teamsConsist of a kernel of specialists helped by others added to the project as required.Three roles:Chief Programmer: responsible of the project. Coordinates work and is responsible of developmentAssistant programmer: helps chief programmer (and substitutes her/him if chief programmer is assigned somewhere else)Librarian: responsible of handling all the results of the project.The motivation behind their development is the wide difference in ability in different programmers.Chief programmer teams provide a supporting environment for very able programmers to be responsible for most of the system development.

  • Problems This chief programmer approach, in different forms, has been successful in some settings.However, it suffers from a number of problemsTalented designers and programmers are hard to find. Without exceptional people in these roles, the approach will fail;Other group members may resent the chief programmer taking the credit for success so may deliberately undermine his/her role;There is a high project risk as the project will fail if both the chief and deputy programmer are unavailable.The organisational structures and grades in a company may be unable to accommodate this type of group.

  • Decentralised Control GroupsTwo-level hierarchy:PM coordinates senior programmersSenior programmers coordinate junior programmers

    Tasks assigned either:By module to be developedBy function (implementation/testing/)

  • Virtual TeamsGroups of people with shared goal, who fulfill their roles with little or no time spent meeting face to face

    Made possible by new communication mediaOpportunities:It is possible to define a team with resources geographically located in different areasSpecial expertise can be added regardless of the physical locationHome-workingTeams composed by people with different shiftsInclude people with mobility handicapsMove forward with projects that would have been ignored for travel expenses

  • Virtual Teams (II)Some examples:Open source developmentEuropean projects

  • Group organisationSmall software engineering groups are usually organised informally without a rigid structureDemocratic groupsFor large projects, there may be a hierarchical structure where different groups are responsible for different sub-projects.Chief Programmer TeamsDecentralized Control

  • Working environmentsThe physical workplace provision has an important effect on individual productivity and satisfactionComfort;Privacy;Facilities.Health and safety considerations must be taken into accountLighting;Heating;Furniture.

  • Environmental factorsPrivacy - each engineer requires an area for uninterrupted work.Outside awareness - people prefer to work in natural light.Personalization - individuals adopt different working practices and like to organize their environment in different ways.

  • Workspace organisationWorkspaces should provide private spaces where people can work without interruptionProviding individual offices for staff has been shown to increase productivity.However, teams working together also require spaces where formal and informal meetings can be held.

  • Office layout

  • so what!?How do we organize and use all this information to manage a project?

  • HR ManagementHR related activities in project management:

    Human Resource PlanningIdentification of project roles, responsibilities, and reporting relationships, staff requirements, and staff creationProject Team acquisitionObtaining the human resources needed to complete the projectProject Team developmentImproving competences and interaction of team membersProject Team managementTracking each member performances, providing feedback, resolving issues, and coordinating changes to enhance project performance

  • Human Resource PlanningGoal: define project roles, responsibilities, and reporting relationships, staff requirements, and staff creationTechniques:Hierarchical type chartsOrganizational breakdown structure: mix of organizational chart and activities.Resource breakdown structure: breakdown of the project according to resource typesMatrix based chartsRAM (Responsibility Assignment Matrix) illustrates connections between work that needs to be done and resourcesRACI (Responsible, Accountable, Consult, Inform) is a special type of RAMText-oriented formatsText-oriented documents (usually adhering to some standards) can be used to describe roles and responsibilitiesHard skills/soft skillsHelp identify needs and roles

    -> Output: roles and responsibilities, project organization charts, staffing management plan

  • Organizational Breakdown Structure

  • Resource Breakdown Structure

  • Text-based formatsRole: Responsibilities: Authority:

  • RACI MatrixResponsibility - People who are expected to actively participate in the activity and contribute to the best of their abilities.Accountability - The person who is ultimately responsible for the results.Consultation - People who either have a particular expertise they can contribute to specific decisions (i.e., their advice will be sought) or who must be consulted for some other reason before a final decision is made (e.g., finance is often in a consulting role for projects).Inform - People who are affected by the activity/decision and therefore need to be kept informed, but do not participate in the effort. (They are notified after the final decisions are made.)

    JoeTimSandraLenaBartHomerLisaRequirementsRACIAnalysisRCIIDesignRAA

  • Skill MatricesCan help you build the RACI matrix

    What people do I really need?What are their soft skills?What are their hard skills?

    TaskSkill RequiredLevelRequirements(analysis and) domain expertise in avionicsH

    PersonThinking PreferenceCommunication StyleOrganization SkillsProcess SkillsTimCreative, big pictureOpenPoorGoodLauraTechnical, DetailedIntrovertVery goodVery good

    PersonHard SkillsTimJava guruLauraM68000 programming

  • Project Team AcquisitionGoal: Obtaining the human resources needed to complete the projectTechniquesPre-assignment: people assigned to a project may be known in advance (for instance because promised, or if special skills are required)Negotiation: on many projects staff is negotiated with other manager in the organization (functional managers, other project managers, )Acquisition: if in-house staff is lacking (see previous slides)Virtual team creation: in any other situation

    -> Output: resources and assignments!

  • Project Team DevelopmentGoal: Improving competences and interaction of team membersTechniques:General management skills: interpersonal skills (soft skills) empathy, influence, creativity, group facilitationTrainingTeam building activities: range from meeting, informal lunches and dinners, to professionally built activitiesGround rules: define clear expectations about acceptable behaviour by project team memberCo-location: either temporary or for the whole duration of the project (e.g. war rooms)Recognition and reward: recognizing and rewarding desirable behaviors.

    -> Output: improvement in skills, competences,reduced staff turnover

  • Project Team ManagementGoal: Tracking each member performances, providing feedback, resolving issues, and coordinating changes to enhance project performanceTechniques:Observation and conversationProject Performance appraisalsConflict managementTeam ground rules, group norms, and solid pm practices such as communication planning, and role definitionWhen dealt with can increase creativity and better decision makingManagement is usually from informal to formal-> Output: Issue Log

  • The People Capability Maturity ModelIntended as a framework for managing the development of people involved in software development.

  • P-CMM ObjectivesTo improve organisational capability by improving workforce capability.To ensure that software development capability is not reliant on a small number of individuals.To align the motivation of individuals with that of the organisation.To help retain people with critical knowledge and skills.

  • P-CMM levelsFive stage modelInitial. Ad-hoc people managementRepeatable. Policies developed for capability improvementDefined. Standardised people management across the organisationManaged. Quantitative goals for people management in placeOptimizing. Continuous focus on improving individual competence and workforce motivation

  • The people capability model

  • Key pointsStaff selection factors include education, domain experience, adaptability and personality. People are motivated by interaction, recognition and personal development.Software development groups should be small and cohesive. Leaders should be competent and should have administrative and technical support.

  • Key pointsGroup communications are affected by status, group size, group organisation and the gender and personality composition of the groupWorking environments should include spaces for interaction and spaces for private working.The People Capability Maturity Model is a framework for improving the capabilities of staff in an organisation.