“Brain power” is the most important raw material for software development. If the team members have the necessary expertise and discipline coupled with good inter-personal skills and positive attitude, the project manager’s job is half done. The project manager has to bring in the synergy among
• Application domain experts
• Software developers
• Software quality experts
• Marketing experts
For people with different expertise to work in unison, good inter-personal skills are a must. So, it is not enough to recruit people with expertise in the development tools, equally important are the team-orientation, positive attitude and problem solving abilities. However, no concrete research has been done to correlate personality types and software engineers. Hopefully, research findings in this area would be used in future in the recruitment process [L.T. Hardiman, Personality Types and Software Engineers, IEEE Computer, Vol. 30, No. 10, October 1997]. Till then, we need to follow the traditional recruitment process.
To develop high performance teams, recruitment is the first step. The project manager may be asked to pick up people from the existing pool of personnel in the organization or recruit afresh. In either case, the recruitment process should be defined and documented. The effectiveness of the recruitment process should be measured and recorded. The process has to be continuously refined and improved by studying the effectiveness of the existing process.
The Recruitment Process Definition
The large gap between the academic world and the software industry is reflected when candidates fresh from college are recruited [T.L. Lethbridge, What Knowledge is Important to a Software Professional, IEEE Computer, Vol. 33, No. 5, May 2000]. The universities give importance to theoretical knowledge on the various subjects in the curriculum whereas the industry gives importance to communication skills, problem solving abilities, teamwork and ability to learn new skills fast. Most of the industries select candidates based on the performance in an aptitude test. They may not even test the knowledge in the operating systems or programming languages.
Organizations, which recruit experienced candidates, base the selection on the personal interview. The candidate’s attitude, communication skills, expertise in the development tools and the domain knowledge are tested.
Whether the project manager has to shift people from other projects to the project on hand or take new people, identification of the right team members is of utmost importance. Based on the effort and number of persons estimated during the planning stage, the project manager has to prepare the requirements of a project team that consists of
System analysts
Software engineers/programmers Domain experts Documentation specialists Quality Assurance specialists GUI designers Testing specialists Project leaders
A Job Description for each person has to be prepared which contains the requirements in terms of skills, application domain, minimum experience etc. and the details of the job in the following format:
Title (designation)
Qualifications required
Minimum experience required
Personality traits
Software skill set: Operating systems, Programming languages, other tools
Domain knowledge required
Place of posting
Duration of the project
Whether travel is involved
Salary and perks
The potential candidate’s resume has to be matched with this job description and if a suitable match is found, the person can be given the offer. During the recruitment, the candidates have to be given a realistic picture of the working conditions, the remuneration, the career growth prospects within the organizations and the rules and regulations of the organization for leave, promotion policies, non-disclosure agreement etc.
For future reference, an evaluation sheet has to be filled for each candidate. If there are multiple levels of interviews, each interviewer has to fill a separate form and a final consolidated form has to be prepared. A typical evaluation form is shown in Table I.
Evaluation form
Name of the candidate:
Post interviewed for:
Name of the interviewer:
Qualifications:
Experience:
Skill set:
Operating Systems Programming languages Other development tools Domain knowledge
Personality traits
Communication skills Problem solving abilities Commitment
Candidate’s primary area of expertise:
Candidate’s secondary area of expertise:
Overall rating (on a scale of 1 to 5):
Recommendation: Hire
Reasons for the recommendation:
Reject
Place of interview: Date of interview:
Rating: Rating:
Rating: Rating: Rating: Rating:
Rating: Rating: Rating:
Table I. Evaluation Form
During the selection process, the interviewer has to try to quantify the skill level of the candidate (preferably on a scale of 1 to 5). Based on the skills of the candidate, the interviewer has to identify the primary area of expertise and secondary area of expertise. This is important because if a candidate has good exposure to two or more skills (for e.g., UNIX/C and Windows NT/C++), it is advantageous for the organization as the candidate can be shifted from one project to another easily. Such transitions are common in the software industry. For candidates with only one area of expertise (for example COBOL and only COBOL), the transition is very painful and the organization has to spend heavily on training the employee.
Once the team members are identified, all the team members must undergo an orientation program on the project-specific details. We will study the details of the training/orientation later.
Tracking the Effectiveness of Recruitment Process
The recruitment process also needs continuous improvement. The performance of the employee has to be periodically evaluated through appraisal scheme and whether the evaluation in the interview matches with the actual performance needs to be studied. Certainly, there will be improvements in the individuals as they gain experience. The recruitment process improvement should be based on the following considerations:
• Individuals may have some special characteristics (positive or
negative) which would effect the work (for good or for bad). These
characteristics would not have been evaluated at the time of
recruitment and the management may like to incorporate them in the
future recruitment process. For instance, some technical people may
turn out to be having very good techno-marketing skills. They would
have been recruited for technical work but the manager may feel that
they can do an excellent job in marketing. The candidate may refuse to
shift to marketing because his recruitment was for a technical job (the
psychological hang up that he was recruited for technical and not
marketing work is the driving force). In the evaluation form, one may
like to add a new column regarding this aspect.
• If there are two or more persons in the recruitment panel and they have
differing opinions, the persons would be recruited based on some
logic—majority decision, discretion of the project manager or the
HRD manager etc. The HRD manager has to correlate the performance
of the candidate vis-a-vis the evaluation reports of the interviewers and
check which interviewer could evaluate the candidate better.
Certainly such interviewers need to be preferred.
• Personality traits such as problem solving abilities, teamwork, ability
to learn new skills fast need to be observed and correlated with the
results of the recruitment process.
• If the job requires good analytical abilities and they were not tested in
the interviews, the project manager may like to design a test paper,
which can be used for testing this ability, and incorporate in the future recruitment process.
To summarize, the project manager, in conjunction with the HRD manager, has to define a recruitment process, implement the process and continuously refine it so that the quality of personnel recruited improves continuously.