Presentation is loading. Please wait.

Presentation is loading. Please wait.

SE 477 Software and Systems Project Management Dennis Mumaugh, Instructor Office: CDM, Room 429 Office Hours: Monday, 4:00 – 5:30.

Similar presentations


Presentation on theme: "SE 477 Software and Systems Project Management Dennis Mumaugh, Instructor Office: CDM, Room 429 Office Hours: Monday, 4:00 – 5:30."— Presentation transcript:

1

2 SE 477 Software and Systems Project Management Dennis Mumaugh, Instructor dmumaugh@cdm.depaul.edu Office: CDM, Room 429 Office Hours: Monday, 4:00 – 5:30 June 2, 2014SE 477: Lecture 101 of 90

3 Administrivia  Comments and feedback  Final examination  Will be on Desire2Learn.  June 4 to June 10  Due  Assignment 5 – June 2 COB  Journal – June 9 COB  Project – June 9 COB  Peer review – June 9 COB June 2, 2014SE 477: Lecture 10 2 of 90

4 June 2, 2014SE 477: Lecture 10 Team Project  The final report should use standard business report format or the template.  Due date: Monday, June 9, COB.  Use COL to submit. I need only one copy!  Bundle your report and the MS Project file (if any) into one ZIP file.  Proofread your submission:  Spelling, grammar  Do not trust a spell checker!  Print it out and check format and layout  Read it once in the printed format  Names and identifiers are spelled consistently  Make sure embedded pictures/graphs etc. are readable – use jpeg or gif for images  Peer evaluations due at the same time: use email 3 of 90

5 June 2, 2014SE 477: Lecture 10 Peer Review  Each student must review the other team member(s) and rank them on their performance.  This is the place for team members to talk about members who did not contribute or contributed poor work, etc.  I use this to adjust the team project grades.  Send me an email directly with your comments. See details on web page. http://condor.depaul.edu/dmumaugh/se477/assignments/rati ng.html http://condor.depaul.edu/dmumaugh/se477/assignments/rati ng.html  Do not send MS Word Documents or PDF! Just enter it into an email directly.  Due same time as project 4 of 90

6 Assignment 4  We want to concentrate on the computing environment. Major risks are  Loss of time due to system or part of system down 1.Loss of configuration files renders system unworkable 2.Loss of hardware (bad computer, bad drives) 3.Loss of source files (disk corruption) 4.Loss of network (see 1 above)  Loss of work (aka source code) and need to rewrite code 1.Backups essential 2.Use RAID for critical disks; tape for all; off-site backups for disaster  The rest of the story: About a week after the last person left, there was a system crash that caused major problems. [See note page for details.] June 2, 2014SE 477: Lecture 10 5 of 90

7 SE 477 – Class 10 Topic: People (a.k.a. ‘Human Resources’)  Project and Team Organization  Project Management Context  Project environments: cultural and social, international and political, physical;  Managing the Project Team;  Shaping project culture Reading:  PMP Study Guide: Chapter 8 June 2, 2014SE 477: Lecture 10 6 of 90

8 Last time  Quality control: planning and assessment and project tracking  Configuration management and change control  Final stages  Rollout  Migration  Project recovery  Project closeout  Defining project success  And failure  Success tips June 2, 2014SE 477: Lecture 10 7 of 90

9 June 2, 2014SE 477: Lecture 10 Thought for the Day "Managing programmers is like herding cats." 8 of 90

10 Quotes  In fact, the client is sometimes the most damaging contributor to a well-formed software solution because the underlying technical issues are sometimes deprecated in deference to that client, only to manifest serious problems later in the life-cycle of the deployed software.  There is no more important skill in the world of software practice than that of an engineering-oriented project manager, someone who understands team-building, negotiation, technology, process, and how to reconcile the many conflicting forces that emerge during the creation of a software solution. Sadly, such people are increasingly difficult to find. June 2, 2014SE 477: Lecture 10 9 of 90

11 Dear Abby  One of the major problems I encountered as project manager was getting people outside of the meeting to do the work necessary for the next meeting. Frequently, this simply involved reading the notes (any where from 2 to 5 pages) I had put together from the previous meeting and checking them for errors and omissions.  I know that there's no "magic bullet" to get people to do their jobs unless you have management support (which I had only in word but not in action) so I guess the questions I have are: 1.What is the better choice in that situation, ensure correctness and waste time [by going over the notes in the next meeting] or save time and take a minimal chance at an error? 2.More broadly, is this a fundamental error in communication to the team? 3.Is email a bad choice for this type of communication? See http://condor.depaul.edu/dmumaugh/se477/lectures/Dear_Abby.htmlhttp://condor.depaul.edu/dmumaugh/se477/lectures/Dear_Abby.html June 2, 2014SE 477: Lecture 10 10 of 90

12 Project and Team Organization June 2, 2014SE 477: Lecture 1011 of 90

13 Project Roles  Project manager  Programmers (system engineers)  Technical lead, architect, programmer, Sr. programmer  Quality Assurance (QA) engineers (testers)  QA Manager, QA Lead, QA staff  DBAs  DB Administrator, DB Programmer, DB Modeler  CM engineers (build engineers)  Network engineers, System Administrators  Analysts (business analysts)  UI Designers  Information Architects  Documentation writers (editors, documentation specialist)  Other (Security specialist, consultants, trainer) SE 477: Lecture 10June 2, 2014 12 of 90

14 SE 477: Lecture 10 Project Roles  You need to decide which of these are necessary for your project  Depends on what you’re building  How big is it?  Is it UI intensive? Data intensive?  Are you installing/managing hardware?  Do you need to run an operations center?  Is it in-house, contract, COTS, etc?  Depends on your budget June 2, 2014 13 of 90

15 SE 477: Lecture 10 Staffing Profile  Projects do not typically have a ‘static team size’  Who and how many varies as needed Copyright: Rational Software 2002 June 2, 2014 14 of 90

16 SE 477: Lecture 10 Staffing Management Plan Part of Software Development Plan  Includes  What roles needed, how many, when, who  Resource assignments  Timing: Start/stop dates  Cost/salary targets (if hiring)  Project Directory  Simply a list of those involved with contact info.  Team size: often dictated by budget as often as any other factor June 2, 2014 15 of 90

17 SE 477: Lecture 10 Roll-on & Roll-off  PM must have a plan as to how & when  Roll-on  Hiring or ‘reserving’ resources  Ramp-up time »Learning project or company  Roll-off  Knowledge transfer  Documentation  Cleanup June 2, 2014 16 of 90

18 Team Structure  1 st : What’s the team’s objective?  Problem resolution »Complex, poorly-defined problem »Focuses on 1-3 specific issues »Ex: fixing a showstopper defect »Sense of urgency  Creativity »New product development  Tactical execution »Carrying-out well-defined plan »Focused tasks and clear roles June 2, 2014SE 477: Lecture 10 17 of 90

19 SE 477: Lecture 10 Team Models  Two early philosophies  Decentralized/democratic  Centralized/autocratic  Variation  Controlled Decentralized June 2, 2014 18 of 90

20 SE 477: Lecture 10 Team Models  Business Team  Most common model  Technical lead + team (rest of team at equal status)  Hierarchical with one principal contact  Can be strong or loose hierarchy  Adaptable and general  Variation: Democratic Team »All decisions made by whole team »See Weinberg’s “egoless programming” model June 2, 2014 19 of 90

21 June 2, 2014SE 477: Lecture 10 Democratic team organization  The group acts as a whole and comes to a consensus on decisions affecting the system  The group leader serves as the external interface of the group but does not allocate specific work items  Rather, work is discussed by the group as a whole and tasks are allocated according to ability and experience  This approach is successful for groups where all members are experienced and competent  Sometimes known as self-organizing teams. 20 of 90

22 June 2, 2014SE 477: Lecture 10 Agile programming groups  Agile programming groups are variants of democratic organization  In Agile programming groups, some ‘management’ decisions are devolved to group members  In XP, Programmers work in pairs and take a collective responsibility for code that is developed 21 of 90

23 Team Models Chief-Programmer Team a.k.a. ‘surgical team’  From IBM in 70’s »See Brooks and Mythical Man-Month  Puts a superstar at the top »Others then specialize around him/her Backup Programmer Co-pilot or alter-ego Administrator Tool-smith “Language lawyer”  Issues Difficult to achieve Ego issues: superstar and/or team  Can be appropriate for creative projects or tactical execution June 2, 2014SE 477: Lecture 10 22 of 90

24 June 2, 2014SE 477: Lecture 10 Chief programmer teams 23 of 90

25 June 2, 2014SE 477: Lecture 10 Chief programmer teams  Consist of a kernel of specialists helped by others added to the project as required  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 24 of 90

26 June 2, 2014SE 477: Lecture 10Problems  This chief programmer approach, in different forms, has undoubtedly been successful  However, it suffers from a number of problems  Talented 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  High project risk as the project will fail if both the chief and deputy programmer are unavailable  Organizational structures and grades may be unable to accommodate this type of group 25 of 90

27 SE 477: Lecture 10 Team Models  Skunk works Team  Put a bunch of talented, creative developers away from the mother ship »Off-site literally or figuratively  Pro: Creates high ownership & buy-in  Con: Little visibility into team progress  Applicable: exploratory projects needing creativity »Not on well-defined or narrow problem  SWAT Team  Highly skilled team  Skills tightly match goal  Members often work together  Ex: security swat team, Oracle performance team June 2, 2014 26 of 90

28 SE 477: Lecture 10 Team Models  Large teams  Communication increases multiplicatively »Square of the number of people »50 programmers = 1200 possible paths »Communication must be formalized  Always use a hierarchy  Reduce units to optimal team sizes »Always less than 10 (seven plus or minus one)  What is the optimal team size?  4-6 developers »Tech lead + developers  Small projects inspire stronger identification  Increases cohesiveness  QA, ops, and design on top of this June 2, 2014 27 of 90

29 SE 477: Lecture 10Hiring  “Hire for Trait, Train for Skill”  Look for: “Smart, Gets Things Done”  For programmers, see joelonsoftware’s “Guerilla Guide to Interviewing” [see reading list]Guerilla Guide to Interviewing  Balance the team June 2, 2014 28 of 90

30 Responsibility Assignment Matrix  A resource planning tool  Who does What  Can be for both planning and tracking  Identify authority, accountability, responsibility  Who: can be individual, team or department  Can have totals/summary at end of row or column (ex: total Contributors on a task) SE 477: Lecture 10June 2, 2014 29 of 90

31 SE 477: Lecture 10 Simple RAM June 2, 2014 30 of 90

32 SE 477: Lecture 10 Sample RAM With Stakeholders June 2, 2014 31 of 90

33 SE 477: Lecture 10 Skills Matrix  Another resource planning tool  Resources on one axis, skills on other  Skills can be high level or very specific  Cells can be X’s or numeric (ex: level, # yrs.) June 2, 2014 32 of 90

34 Managing people Managing people working as individuals and in groups June 2, 2014SE 477: Lecture 1033 of 90

35 June 2, 2014SE 477: Lecture 10 People in the process  People are an organization’s most important assets  The tasks of a manager are essentially people oriented. Unless there is some understanding of people, management will be unsuccessful 34 of 90

36 June 2, 2014SE 477: Lecture 10 Management activities  Problem solving (using available people)  Motivating (people who work on a project)  Planning (what people are going to do)  Estimating (how fast people will work)  Controlling (people's activities)  Organizing (the way in which people work) Concept of “Lazy Manager” [see reading list]. 35 of 90

37 June 2, 2014SE 477: Lecture 10Motivation  An important role of a manager is to motivate the people working on a project  Motivation is a complex issue but it appears that there 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)  Maslow’s hierarchy of needs 36 of 90

38 June 2, 2014SE 477: Lecture 10 Human needs hierarchy 37 of 90

39 June 2, 2014SE 477: Lecture 10 Motivating people  Motivations depend on satisfying needs  It can be assumed that physiological and safety needs are satisfied  Social, esteem and self-realization (self-actualization) needs are most significant from a managerial viewpoint  If a lower set of needs is continually unmet for an extended period of time, the individual will temporarily re- prioritize those needs – dropping down to that level until those lower needs are reasonably satisfied again. 38 of 90

40 June 2, 2014SE 477: Lecture 10 Need satisfaction  Social  Provide communal facilities  Allow informal communications [See Weinberg’s story about the Coke machine.]  Esteem  Recognition of achievements  Appropriate rewards  Self-realization  Training – people want to learn more  Responsibility 39 of 90

41 Personality types  The needs hierarchy is almost certainly an over- simplification  Motivation should also take 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 June 2, 2014SE 477: Lecture 10 40 of 90

42 June 2, 2014SE 477: Lecture 10 Motivation balance  Individual motivations are made up of elements of each class  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 41 of 90

43 June 2, 2014SE 477: Lecture 10 Group working  Most software engineering is a group activity  The 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 limited  Managers must do the best they can with available people 42 of 90

44 June 2, 2014SE 477: Lecture 10 Time distribution 43 of 90 20% Non-productive activities 30% Working alone 50% Interaction with other people

45 Group composition  Group composed of members who share the same motivation can be problematic:  Task-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  Can be difficult to achieve because most engineers are task-oriented  Need for all members to be involved in decisions that affect the group June 2, 2014SE 477: Lecture 10 44 of 90

46 June 2, 2014SE 477: Lecture 10  Leadership depends on respect not titular status (titular = holding a title)  There may be both a technical and an administrative leader  Democratic leadership is more effective than autocratic leadership  A career path based on technical competence should be supported Group leadership 45 of 90

47 June 2, 2014SE 477: Lecture 10 Group cohesiveness  In a cohesive group, members consider the group to be more important than any individual in it  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 other’s work  Egoless programming where members strive to improve each other’s programs can be practiced 46 of 90

48 June 2, 2014SE 477: Lecture 10 Developing cohesiveness  Cohesiveness is influenced by factors such as the organizational culture and the personalities in the group  Cohesiveness can be encouraged through  Social events, such as team outings  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 47 of 90

49 June 2, 2014SE 477: Lecture 10  Group 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 loyalties 48 of 90

50 June 2, 2014SE 477: Lecture 10 Group communications  Good 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 Thoughts  Status of group members  Higher status members tend to dominate conversations  Personalities in groups  Too many people of the same personality type can be a problem  Sexual composition of group  Mixed-sex groups tend to communicate better  Communication channels  Communications channelled though a central coordinator tend to be ineffective 49 of 90

51 June 2, 2014SE 477: Lecture 10 Group organization  Software engineering group sizes should be relatively small (< 10 members) optimal is less than seven (see previous slides)  Break big projects down into multiple smaller projects  Small teams may be organized in an informal, democratic way  Chief programmer teams try to make the most effective use of skills and experience 50 of 90

52 June 2, 2014SE 477: Lecture 10 Choosing and keeping people  Choosing people to work on a project is a major managerial responsibility  Appointment decisions are usually based on  information provided by the candidate (their résumé or CV)  information gained at an interview  Interviews with potential co-workers  recommendations from other people who know the candidate  Some companies use psychological or aptitude tests  There is no agreement on whether or not these tests are actually useful 51 of 90

53 Staff selection factors June 2, 2014SE 477: Lecture 10 FactorExplanation Application domain experience For a project to develop a successful system, the developers must understand the application domain Platform experienceMay be significant if low-level programming is involved. Otherwise, not usually a critical attribute. Programming language experience Normally only significant for short duration projects where there is insufficient time to learn a new language. Educational backgroundMay provide an indicator of the basic fundamentals which 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 abilityVery important because of need for project staff to communicate orally and in writing with other engineers, managers, and customers. AdaptabilityAdaptability 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. AttitudeProject staff should have a positive attitude towards their work and should be willing to learn new skills. This is an important attribute but often very difficult to assess. PersonalityAgain, 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. 52 of 90

54 June 2, 2014SE 477: Lecture 10  Physical workplace provision has an important effect on individual productivity and satisfaction  Comfort  Privacy [see next slide]  Facilities  Health and safety considerations must be taken into account  Lighting  Heating  Furniture Working environments 53 of 90

55 June 2, 2014SE 477: Lecture 10  Privacy – each engineer requires an area for uninterrupted work (see next slide)  Outside awareness – people prefer to work in natural light  Personalization – individuals adopt different working practices and like to organize their environment in different ways Environmental factors 54 of 90

56 June 2, 2014SE 477: Lecture 10 Workspace organization  Workspaces should provide private spaces where people can work without interruption  Providing 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 55 of 90

57 Office layout June 2, 2014SE 477: Lecture 10 56 of 90

58 Project Management Context June 2, 2014SE 477: Lecture 1057 of 90

59 Our perspective  The phrase ‘human resources’ has its origins as an economic and corporate asset term  These origins lead to two semantic problems:  People are (to some extent) considered in the same light as inanimate resources: maximizing the ROI in human capital is the goal of HR management  People are considered (to some extent) as being uniform, interchangeable, and expendable [see Stroustrup, pp.713, 716-717]  To improve the chances of project success, the project manager should ensure that these problems are balanced by proper ‘people skills’ SE 477: Lecture 10 June 2, 2014 58 of 90

60 Project environments  Physical environment  Most IT projects will not have a large, direct impact on the environment  Nevertheless, in some cases, knowledge and understanding of the physical environment may be helpful or necessary  Example: Systems that directly control water, petroleum, natural gas, etc.  Example: Transportation and emergency response systems SE 477: Lecture 10June 2, 2014 59 of 90

61 Managing the Project Team June 2, 2014SE 477: Lecture 1060 of 90

62 Establishing a basis of trust  A solid basis for trust is earned, not granted  Most human beings in most situations are inherently wary of others  Maintain open communication within the project team– communication barriers create project risks  Be fallible. Take responsibility for making mistakes, correct them, and make it clear how you plan to avoid these mistakes in the future  Lead by example rather than by mandate. Show the team what you expect from yourself and from them  Complete all your commitments on time. If you cannot do so, give adequate notice and an explanation, not an excuse  Don’t confuse friendship with leadership SE 477: Lecture 10June 2, 2014 61 of 90

63 The project manager’s skills  The project manager must develop people skills in a number of related areas:  Interpersonal skills  Shaping project culture  Managing good people  Making good people better  Leadership  A complete discussion of each of these skills could span five lectures; we touch only on the most essential points in the following June 2, 2014SE 477: Lecture 10 62 of 90

64 SE 477: Lecture 10 Interpersonal skills  The project manager needs a well-developed set of interpersonal skills in order to effectively manage a project  Effective communication. We’ve already seen that good project communication is an essential part of project management. Effective communication:  Follows a defined protocol  Reaches all recipients in a timely manner  Provides all the information necessary, no more or no less  Influencing the organization. The ability to get a project completed depends on the abilities of and respect for the PM and PM team  Leadership. Leadership is one of the most misunderstood concepts in project management–leadership has little to do with authority June 2, 2014 63 of 90

65 SE 477: Lecture 10 Interpersonal skills  Motivation. Providing people with incentives to act in the interest of the project and overcome inevitable challenges  Motivation comes in a number of forms; studies show financial incentives are among the least effective motivators  Negotiation and conflict management. Working with others to come to agreement and overcome differences, real or perceived  Reaching consensus and defusing conflict are two elements of these skills, as we have seen  Problem solving. Being able to recognize and define problems; formulate, evaluate, and make decisions regarding possible solutions  Problem solving is a skill that can be learned but requires practice: progressive elaboration helps manage the complexity of most project problems June 2, 2014 64 of 90

66 SE 477: Lecture 10 Shaping project culture  The project manager must shape the project culture within the framework of the organizational culture  Understand organizational culture  Understanding the attitude of the organization toward the project and toward project management processes is essential  Organization attitudes toward real–as opposed to fanciful– project management practices varies widely  Understand each team member’s engineering and personal background  Education, experience, generation, and personality all determine what roles the person may take and how they will fit in with the rest of the team  Assess each team member’s cultural role or roles and match this to their project role June 2, 2014 65 of 90

67 SE 477: Lecture 10 Shaping project culture  Match cultural and project roles to people  Representative cultural roles include:  Leader  Listener/talker  Complainer/naysayer  Expert  Charger/plodder  Significant project roles include:  Project manager. Guides the team planning and tracks progress against the plan  Team leader. Builds and maintains an effective team  Development leader. Produces a superior product  Remain non-judgmental: every cultural role has potential value for the team June 2, 2014 66 of 90

68 Project environments  Cultural and social factors  Projects are planned and implemented in a social and cultural context  Some factors that will influence a project might be: economic, educational, ethical, ethnic, and religious  These factors can affect the authority of the project manager  International and political  As globalization expands, familiarity with local laws and customs is essential for effective project management  Shifting international, national, and local political factors can have dramatic influences on a project  Some mundane factors that will influence a project might be: time zone differences, holidays, travel requirements, teleconferencing capabilities SE 477: Lecture 10June 2, 2014 67 of 90

69 SE 477: Lecture 10 Shaping project culture  Monitor and manage team culture as you would manage technical issues  Make each person’s project role clear  Understand each person’s personality and make known your understanding of each person’s social role in a positive way  State and maintain your view of the team »Example: “First among equals, but if a critical situation arises, I will make the decision”  Recognize potential cultural role problems before they have a negative impact on the team  Solve project role problems before they have a negative impact on the project June 2, 2014 68 of 90

70 Project Culture  Monitor team members’ satisfaction with their role.  You will need to monitor team role satisfaction throughout the project.  It is especially important during project launch when roles can be changed easily.  Monitor the engineering task-to-people fit to make sure each person can perform the engineering task.  Role mismatches lead to project problems and schedule slip.  If you don’t review task-to-people fit, you will be unaware of each person’s ability, or lack thereof, to perform tasks.  Monitor the cultural climate of the team as a whole.  Monitor project culture by watching and listening to each team member. [See Manage by Walk Around, Lecture 09, slide 86]  Guide the cultural views of the project by your own example.  You need to be able to monitor the team culture throughout the project in order to build confident people and a confident team. June 2, 2014SE 477: Lecture 10 69 of 90

71 SE 477: Lecture 10 Managing Good People  The main problems of our work are not so much technological as sociological in nature  One of the most enlightened sources for information about managing people is: Peopleware: Productive Projects and Teams, Third Edition, Dorset House Publishing, New York, July 2013  Most technical managers come from technical backgrounds and manage that way as if they are solving an engineering problem  Most managers do not consider individual idiosyncrasies, yet these can make or break a project June 2, 2014 70 of 90

72 Managing Good People Guidelines for Managing Good People:  Gain visibility without micromanagement.  Review process and products, not people.  Say: “This testing regime allows too many bugs to slip through to the customer; what can we do to correct this?”  Not: “You all don’t seem to know how to write unit tests properly.”  Coordinate, don’t manipulate.  Use your knowledge, not your position of power.  Channel people, don’t put dams in front of them.  Redirect misplaced energy or effort, don’t stifle it  Focus on project and people needs, not your authority as manager.  This will maintain your leadership role without explicit effort June 2, 2014SE 477: Lecture 10 71 of 90

73 SE 477: Lecture 10 How NOT to manage ‘thought workers’: production line efficiency  The application of production line efficiency principles to thought workers can spell disaster for a project  Common errors include:  Squeeze out error – make the ‘machine’ run as smoothly as possible  Take a hard line about people goofing off on the job  Treat workers as interchangeable pieces of the machine »See Stroustrup [slide 57]  Optimize the steady state – don’t worry about start up and shut down  Standardize procedure – run by the book  Eliminate experimentation  Consider how each of these errors might impact your own work June 2, 2014 72 of 90

74 Making Good People Better  Make professional development a project goal  Recognize long- and short-term development goals  Short-term goals focus on skills needed for the project  Long-term goals prepare team members for future projects  Let each team member specify personal improvement goals  Starting point: Competency framework goals such as: Technical, leadership, domain, general/personal, communication, and management  For a fixed interval, have team members track their individual time expenditure in detail  This concept goes well beyond the weekly timesheet concept  This is an awareness-building activity, not a monitoring activity  The Personal Software Process (PSP) is a formal application of this idea June 2, 2014SE 477: Lecture 10 73 of 90

75 SE 477: Lecture 10 Making Good People Better  Have team members track their individual time  Goes beyond the weekly timesheet concept  One formal approach to this is the Personal Software Process (PSP) which shows developers how to:  Manage the quality of their projects  Make commitments they can meet  Improve estimating and planning  Reduce defects in their products [See note below for more info.]  One element of PSP is to track daily time spent on all project- related tasks:  Reading  Writing  Meeting  Training  Requirements  Design  Coding  Testing  Deployment  E-mail  Phone June 2, 2014 74 of 90

76 SE 477: Lecture 10Leadership  Leadership is the capacity to mobilize a group to solve the most challenging problems  Two types of leadership:  Technical leadership (a.k.a. authority) motivates people when the problem can be solved by known means  Adaptive leadership motivates people to solve problems that cannot be solved by known means »Requires learning on the part of the leader as well as the group »Often involves leading with good questions »Requires a deep clarity of purpose June 2, 2014 75 of 90

77 SE 477: Lecture 10 Technical vs. adaptive leadership Technical leadership Leadership Technically-oriented: solves problems by known means Adaptive: approaches problems not solved by known means Vision: personal view of outcome Sense of purpose: big- picture view of goals Personality: tool for motivation Progress: tool for motivation Based on this, the term charismatic leader is a misnomer! June 2, 2014 76 of 90

78 Technical vs. adaptive leadership  The greatest challenge in choosing between technical leadership and adaptive leadership for a project is deciding if the problem can be solved by known means  Situations that might superficially appear to call for technical leadership may in fact be better served by adaptive leadership  Most IT projects have a mix of known and unknown problems, probably leaning more toward the unknown  An adaptive leader can address known problems by delegation–allow one who can lead the team in solving the problem by known means do so when appropriate  Delegation under these circumstances is consistent with all the qualities of adaptive leadership June 2, 2014SE 477: Lecture 10 77 of 90

79 Working toward consensus  Consensus simply means ‘general agreement’  If possible, reach consensus on all decisions affecting the team  Simple majority rule can be detrimental on a small team in which everyone’s commitment is essential June 2, 2014SE 477: Lecture 10 78 of 90

80 Working toward consensus  Steps to reaching consensus:  Pose the problem to be solved or decision to be made  Solicit input on options for the problem or decision  Discuss and weigh pros and cons of each option  Work toward the options that have the most benefit for the project  When it is clear which option is most suitable, work with its opponents to help them buy in to it–persuade, don’t dictate  Consensus takes more time than mandate, but has huge pay-offs  Beware passive/aggressive agreement–this is simply subsumed conflict June 2, 2014SE 477: Lecture 10 79 of 90

81 Managing and resolving conflict  Every team encounters conflict–successful teams resolve conflicts, while unsuccessful teams force conflict to the background  Disagreement is not the same as conflict–conflict involves a hardening of position and associated intractability  Virtually all conflict can be traced to a clash between two parties  To preserve a team’s effectiveness, those outside the conflict must assume a neutral stance, even if they themselves agree with one of the parties to the conflict  One of those outside the conflict must take on the role of conciliator; he or she must mediate between the two parties to defuse the situation  The goal is to reduce the conflict to a disagreement which can then be addressed through consensus  Strive for reconciliation between the conflicting parties, if possible June 2, 2014SE 477: Lecture 10 80 of 90

82 Leading Good People This is a reprise of our view of establishing a basis of trust  Be confident in yourself and the team  Maintain open communication within the project team– communication barriers create project risks  Be fallible. Take responsibility for making mistakes, correct them, and make it clear how you plan to avoid these mistakes in the future  Lead by example rather than by mandate. Show the team what you expect from yourself and from them  Utilize all the talents of your team. You can’t make the project succeed all by yourself  Complete all your commitments on time. If you cannot do so, give adequate notice and an explanation, not an excuse  Don’t confuse friendship with leadership SE 477: Lecture 10June 2, 2014 81 of 90

83 Key points  Managers must have some understanding of human factors to avoid making unrealistic demands on people  Staff selection factors include education, domain experience, adaptability and personality  Software development groups should be small and cohesive  Group communications are affected by status, group size, group organization and the sexual composition of the group  The working environment has a significant effect on productivity  Develop methods to monitor the project culture and technical status early so you can continually monitor these issues as the project progresses. June 2, 2014SE 477: Lecture 10 82 of 90

84 Postscript: Leading at the Edge “Men wanted for Hazardous Journey. Small wages, bitter cold, long months of complete darkness, constant danger, safe return doubtful. Honour and recognition in case of success.” June 2, 2014SE 477: Lecture 1083 of 90

85 Leadership lessons from Sir Ernest Shackleton  Strategy 1: Never lose sight of the ultimate goal, and focus energy on short-term objectives.  Strategy 2: Set a personal example with visible, memorable symbols and behaviors.  Strategy 3: Instill optimism and self-confidence, but stay grounded in reality.  Strategy 4: Take care of yourself: Maintain your stamina and let go of guilt.  Strategy 5: Reinforce the team message constantly: “We are one–we live or die together.” Excerpted from: Leading at the Edge. Dennis N.T. Perkins, AMACOM, 2012. June 2, 2014SE 477: Lecture 10 84 of 90

86 Leadership lessons from Sir Ernest Shackleton  Strategy 6: Minimize status differences and insist on courtesy and mutual respect.  Strategy 7: Master conflict–deal with anger in small doses, engage dissidents, and avoid needless power struggles.  Strategy 8: Find something to celebrate and something to laugh about.  Strategy 9: Be willing to take the Big Risk.  Strategy 10: Never give up–there’s always another move. Excerpted from: Leading at the Edge. Dennis N.T. Perkins, AMACOM, 2012. June 2, 2014SE 477: Lecture 10 85 of 90

87 Closing thought “Do not repeat the tactics which have gained you one victory, but let your methods be regulated by the infinite variety of circumstances.” – Sun Tzu, The Art of War, ca. 490 BCE SE 477: Lecture 10 June 2, 201486 of 90

88 … And: "watch out for stobor.” – Tunnel in the Sky Robert A. Heinlein June 2, 2014SE 477: Lecture 1087 of 90

89 Journal Exercises  Add any last thoughts. Post class review:  What did you learn? [From the course, the assignments, the readings.]  What did you learn that was unexpected.  What do you plan to do with this information.  Parts of the class you thought were most interesting. June 2, 2014SE 477: Lecture 10 88 of 90

90 Final Examination “Nobody expects the Spanish Inquisition!” – Monty Python June 2, 2014SE 477: Lecture 1089 of 90

91 Final Examination  Final Examination will be on the Desire2Learn system starting from June 4 to June 10  See important information about Taking Quizzes On-lineTaking Quizzes On-line  Login to the Desire2Learn System (https://d2l.depaul.edu/)Desire2Learn System (https://d2l.depaul.edu/) »On-line tutorial: http://www.itd.depaul.edu/website/documentation/d2l/mp4based/q uizzes/quizzes.html http://www.itd.depaul.edu/website/documentation/d2l/mp4based/q uizzes/quizzes.html »On-line guide: http://www.itd.depaul.edu/website/documentation/d2l/Quizzes.pdf http://www.itd.depaul.edu/website/documentation/d2l/Quizzes.pdf  Take the examination.  It will be made available Wednesday, June 4.  You must take the exam by COB Tuesday, June 10.  Allow 3 hours (should take about one hour if you are prepared); note: books or notes allowed but should be used sparingly.  See study guide on the web page. [See also FinalReview.ppt]FinalReview.ppt June 2, 2014SE 477: Lecture 10 90 of 90


Download ppt "SE 477 Software and Systems Project Management Dennis Mumaugh, Instructor Office: CDM, Room 429 Office Hours: Monday, 4:00 – 5:30."

Similar presentations


Ads by Google