Developing Plans Part 4 Chapter 3 Outline Developing

  • Slides: 26
Download presentation
Developing Plans- Part 4 Chapter 3

Developing Plans- Part 4 Chapter 3

Outline �Developing Preliminary Plans �Developing Intermediate Plans �Developing Detailed Plans �Developing A Risk Management

Outline �Developing Preliminary Plans �Developing Intermediate Plans �Developing Detailed Plans �Developing A Risk Management Plan �Organizing The Project Plan �Developing and Maintaining Project Plan Sections �Developing a Staffing Plan 2

Developing a Staffing Plan �As you develop plans, you need to think about: ◦

Developing a Staffing Plan �As you develop plans, you need to think about: ◦ the types of skills you need on the team ◦ any assistance you might need with the various management related activities �Document these decisions in your project plan �As you plan project staffing, you need to consider the required technical skill set. �Consider your ability to find and retain the types of people you are planning to use. 3

Project Roles � covers the majority of the types of roles you should at

Project Roles � covers the majority of the types of roles you should at least consider having on your team � the resources on the team, in combination with your abilities, must be capable of doing all required work. � Some of the roles described may exist above your management level � several of these roles can be assigned to one person, many of the roles are quite compatible with each other � be careful to avoid losing an oversight role as a result of combining it with a performance role. 4

Project Senior Manager �monitors the strategic direction of the project to ensure that: ◦

Project Senior Manager �monitors the strategic direction of the project to ensure that: ◦ progress is consistent with the overall project plan ◦ goals remain consistent with strategic business or executive goals. �has simultaneous responsibility for multiple projects and is not involved in the day-today details or management of the project. 5

Project Senior Manager(cont. ) �conducts : ◦ Periodic reviews occur at planned regular intervals,

Project Senior Manager(cont. ) �conducts : ◦ Periodic reviews occur at planned regular intervals, such as monthly or quarterly ◦ Event driven reviews occur when major events occur. These include any of the major milestones shown in the project plan, as well as any other predefined triggering events 6

Project Manager �responsible for all resources on the project. �Focused on just a single

Project Manager �responsible for all resources on the project. �Focused on just a single project �primary responsibilities include: ◦ tracking the progress of the various groups involved in the project ◦ negotiating commitments and compromises between these groups ◦ resolving any issues that result from disagreements between groups within the project, or between project groups and external groups 7

Software Manager �responsible for all software resources across the entire project �may be a

Software Manager �responsible for all software resources across the entire project �may be a third, fourth, or higher level manager. �on smaller projects, the software manager may be the first line manager, to whom all project software personnel report �generally he has responsibility for performing, or overseeing, all the activities described in this book. 8

Configuration Management Manager �responsibility for ensuring that: ◦ software and software-related products are uniquely

Configuration Management Manager �responsibility for ensuring that: ◦ software and software-related products are uniquely identified, controlled, and available, ◦ changes to software and software-related products are controlled, ◦ the status and content of software baselines are communicated to those who need such information. �the formality and tool support for configuration management activities can vary significantly between small projects and large projects 9

Software Quality Assurance Manager �works for the same organization that you work for �His

Software Quality Assurance Manager �works for the same organization that you work for �His goal is to ensure that you are taking the proper steps to meet your goal. �if you are seeing the long list of software defects and process violations before executive management sees it, Ø the software quality assurance manager most certainly has your best interests in mind. 10

Software Requirements Manager �manage the software requirements. �may require very little effort. �since requirements

Software Requirements Manager �manage the software requirements. �may require very little effort. �since requirements drive the entire project, someone needs to be assigned the responsibility to pay attention to (shifting) requirements. �As project manager, you may decide that requirements management is your responsibility and, you will be carrying out the associated responsibilities 11

Domain Experts �You will need domain experts of two general types: ◦ problem domain

Domain Experts �You will need domain experts of two general types: ◦ problem domain experts: understand your customer’s needs ◦ solution domain experts: understand the tools and technologies you’ll be using to implement the system. �it is common on software projects to undertake projects without having sufficient expertise in the problem domain 12

Domain Consultants �On smaller projects, you should consider expanding team with one or more

Domain Consultants �On smaller projects, you should consider expanding team with one or more part-time domain consultants (problem, solution, or both). �These consultants can help transfer knowledge and thereby help your project staff overcome the more difficult obstacles they encounter �The disadvantages to using consultants: ◦ they never seem to be around when you really need them. ◦ You will hearing contradictory advice if you using multiple consultants in overlapped areas of 13 expertise

Mentors �When staffing your project with domain experts, strive to ensure that at least

Mentors �When staffing your project with domain experts, strive to ensure that at least some of them are capable of working as mentors. �This should also be one of the criteria you use for selecting consultants. �Having some mentors on the project will improve the likelihood that junior people will learn quickly. 14

Technical Leaders �one or more who have both an aptitude for and an interest

Technical Leaders �one or more who have both an aptitude for and an interest in performing a few management functions �The role of technical leader can vary significantly among companies �ratio between time spent performing management activities and time spent performing technical activities 15

Team Leaders �Team leaders head teams where one or more people on the team

Team Leaders �Team leaders head teams where one or more people on the team have more technical expertise than the leader does. �doesn’t create a problem if the team leader has the right set of skills. �technical decisions are made either by individuals on the team or by consensus among multiple team members. �As with the technical leaders, you need to ensure that the team leaders clearly understand the scope of their responsibilities. 16

Software Specialists �proficient at every lifecycle phase in your project �ensure that you have

Software Specialists �proficient at every lifecycle phase in your project �ensure that you have a combination of senior, intermediate, and junior software specialists. �You need a mix of different levels of specialists to be able to minimize both risks and costs simultaneously. �To avoid having too much of a dichotomy between the senior and junior personnel, be sure to have one or more layers of intermediate expertise. 17

Administrative Support �Any software project will involve a considerable amount of administrative work. �Without

Administrative Support �Any software project will involve a considerable amount of administrative work. �Without administrative support, you will likely do much of this work, and pass some of it through to your technical personnel. �If at all possible, add one or more administrative support personnel to the project team. 18

Finding Talent �a lot of software positions remain open longer than desired, and salaries

Finding Talent �a lot of software positions remain open longer than desired, and salaries paid are higher than planned 19

Finding Talent (cont. ) �trying to find “the best” people is a complete waste

Finding Talent (cont. ) �trying to find “the best” people is a complete waste of time because: ◦ If every organization is trying to hire only the best talent, the majority of them, by definition, will be unsuccessful. ◦ The best tend to want a lot more money than most organizations are willing to pay. ◦ it is almost impossible to identify “the best” in a few half-hour or one-hour interviews ◦ Many organizations have such a large backlog of unfilled positions that they’ll hire anyone with a degree and a pulse 20

Finding Talent (Cont. ) � With a few above average people on an otherwise

Finding Talent (Cont. ) � With a few above average people on an otherwise average team, you can have a very successful project. � An increasingly popular method for finding software personnel is by paying a sizable “finder’s fee” to existing employees when they recommend a friend who is hired � After you’ve found someone who has expressed an interest in working on your project, you still have the problem of determining whether or not he or she meets your minimum qualifications 21

Interview process �A mainstay to virtually any attempt at staffing a software project is

Interview process �A mainstay to virtually any attempt at staffing a software project is the interview process: ◦ have an applicant interview with three or more employees. ◦ series of interviews where the applicant meets with technical personnel. ◦ if the applicant is successful at that level, he or she is asked to return for a second series of interviews with management personnel. ◦ you can use person on any project If a person: � Is willing to be flexible in work assignments, � has a history of being able to learn new technology, � has a positive and cooperative attitude 22

Good Software Engineer � “finding the right talent” is not about finding the perfect

Good Software Engineer � “finding the right talent” is not about finding the perfect software engineer. � sufficiently good engineer is one who meets your minimum technical and educational requirements and who is capable of: � learning—because new technologies and tools are constantly appearing, � changing—because projects and products never seem to unfold the way they are originally envisioned, and � becoming and remaining a member of the team. 23

Balancing the Team �If everyone is an expert: ◦ they will tend not to

Balancing the Team �If everyone is an expert: ◦ they will tend not to listen to each other, ◦ they may tend to forge ahead with their own approach even when that approach is incompatible with those of others on the team. �if everyone is junior: ◦ they will likely work more closely together, ◦ they’ll learn is through trial and error. 24

Balanced Team Characteristics �characterized by a combination ◦ roles, ◦ types of language experience,

Balanced Team Characteristics �characterized by a combination ◦ roles, ◦ types of language experience, ◦ types of tool experience, ◦ types of domain experience, ◦ levels of expertise, ◦ backgrounds, ◦ personalities of different: �A balanced team will help ensure that whatever it is you need at any given moment, someone on the team will be able to provide it. 25

Finally, �project planning and project staffing occur in parallel Ø as you actually add

Finally, �project planning and project staffing occur in parallel Ø as you actually add resources to the project team, be sure to make any appropriate adjustments to the project plans. 26