Identifying and Documenting the Project Roles and Skills Needed

Identifying and Documenting the Project Roles and Skills Needed

The project manager has to make a decision who does what and who decides what on the project. Deciding who does what is an exercise in career planning, balancing learning opportunities against accomplishing work on time and managing egos. The particular skills required for each activity must be taken into account. It is sometimes valuable to list them if this is a new activity category for you or your team. This documentation is a necessity if the skill sets required are very large and diverse. Then weigh the skills required against what you know about each candidate's career objectives and ego requirements.

Types of Roles

It may seem to be irrelevant to getting the job done (after all, this is work), but for the duration of a project team, matching the right people to assignments has a big payoff in team harmony and productivity. Sure, we're all software engineers, but within that profession are many specialties:

●  Database designers;
●  Configuration management experts;
●  Human interface designers;
●  Webmasters;
●  Quality assurance (QA) specialists;
●  Network specialists;
●  System architects;
●  Programming language experts (C, C++, Java, etc.);
●  Buildmasters;
●  Test engineers.

Recognize that the list may contain some skills that aren't the usual software engineering set that we usually think of, but these may be crucial to getting the project done right. For instance, there is often a person on a team who doesn't neatly fit into one of the formal classifications cited, but, because of his personality and social skills, is a necessary catalyst for getting things done. Sometimes these people get a "gopher" classification because they are not the lead on anything, but they get involved as helpers in everything. Their contributions are hard to measure on paper, but when they are not involved in tasks and activities, things seem to go slower, if any progress at all is made. They promote harmony among the team, act as intermediaries between cantankerous and egocentric team members with other specialties, and often provide a kind of "social glue" that is hard to define but very necessary for team productivity. These "catalysts" or "glue" are often a necessary ingredient to make a workable project team. Recognize this, and plan for them accordingly.

For the more formal categories of skills, recognize that the skill sets required may change over time, as the project moves through its various life cycle phases. Architects and designers are normally required more at the front end of the life cycle. Programmers, webmasters, and network specialists are most required in the middle phases. Buildmasters and testers become key toward the end of the development life cycle. Software QA specialists and configuration management experts tend to be required throughout the life cycle. Exact needs and timing are determined by the development life cycle selected for the project.

Characteristics of Roles

For every activity defined in the project, a set of roles requiring particular skill sets (or combinations) may be defined. For every role, the project manager must define three job aspects:

●  Responsibility - The obligation to perform an assigned activity with or without detailed guidance or specific authority.
●  Authority - The right to perform, command, or make decisions.
●  Accountability - Assuming a liability for an activity or something of value in a project.

We know what happens when we assign responsibility to people who have no recognized authority within the organization to get it done. Estimates for completion become unreliable because the assigned person has an obligation to perform, but no right to perform, in the eyes of others in the organization; getting cooperation and assistance becomes difficult, if not impossible. Be sure that everyone recognizes the authority and responsibility boundaries for every role in the project.

Often overlooked when defining roles is the accountability aspect. The project manager should define a method for measuring the accomplishments for every role. This minimizes the problems of performance appraisals for project work later.

For example, consider a test engineer. Responsibilities might comprise:

●  Collaborating with architects and designers;
●  Designing the test case;
●  Generating test data;
●  Running unit and regression test suites;
●  Reporting results.

Authority might be granted within the project organization to include:

●  Participating in design and inspection meetings;
●  Exercising final authority for all test-related activities;
●  Authorizing component builds;
●  Reporting official test results and product quality metrics.

Accountability for the test engineers may be described as quantifiable and easily measured parameters such as:

●  Number of design and inspection meetings attended;
●  Quantity and quality of tests prepared and executed;
●  Percentage of successful component builds using components passing a quality gate;
●  Accuracy and timeliness of reported test results and product quality metrics.

Definitions for each role may not be documented if the project team is small and well integrated, if the organization is so small that role boundaries are almost nonexistent and everyone does everything whenever it needs doing (common in many startup software development companies), or if the maturity level of the project organization is low. On the other hand, in large internal organizations running multiple projects, a standard set of role definitions can and should be developed. The organization's human resource professionals can often help in creating these standard definitions.

Another dimension to every role assignment is reliability, which is very important to the project manager. This, however, is assumed for most individuals taking project role assignments and is not generally documented as part of the role. It may be reflected in past performance appraisals or information from other project managers and leaders. Reliability refers to moral qualities as well as judgment, knowledge, skill, and habit. It implies that one is willing to put one's best effort into accomplishing the assigned activity. Implied or not, the project manager wants to be sure that everyone taking on project responsibilities can be relied upon to carry them out.


life cycle, software engineering, software development
The contents available on this website are copyrighted by TechPlus unless otherwise indicated. All rights are reserved by TechPlus, and content may not be reproduced, published, or transferred in any form or by any means, except with the prior written permission of TechPlus.
Copyright 2017 SPMInfoBlog.
Designed by TechPlus