| p>Developers who make up for a shortfall in their | | | | burdening other team members. Where this happens, |
| own experience, or don't have the confidence to | | | | and the programmer manages to deliver quality code |
| tackle development tasks on their own are a | | | | on time without burdening their team mates, |
| performance problem that you need to address | | | | recognize their accomplishment and do what you |
| before the problem affects the performance and | | | | need to do to retain them for your team! |
| morale of the entire team. A certain amount of help | | | | You can strengthen the needy programmer's skills by |
| should be expected from the more seasoned | | | | either providing them with formal training or providing |
| members of your team. The job definition of a senior | | | | them with the coaching or mentoring they need. Both |
| programmer should include a certain amount of | | | | these solutions will necessitate a change to your |
| coaching and mentoring of the junior programmers on | | | | plans. Formal training will require an increase to the |
| the team. It's when a team member who shouldn't | | | | budget and additional resources to make up for the |
| need coaching requires constant help from other | | | | training time. Of course you may choose to address |
| team members that you have a problem. The | | | | the shortfall with overtime or simply extend the |
| problem begins with the impact on the productivity | | | | schedule, if there is slack time in the activities |
| of the team member who's being asked for help, but | | | | assigned to the needy programmer. Establish a formal |
| if left unchecked, could have a negative impact on | | | | coach/student relationship when you choose that |
| morale and the entire team's productivity. If the help | | | | action. Both the coach and needy student need to be |
| detracts from the time spent on producing a | | | | on board for this approach to work but if the needy |
| deliverable, that's a productivity issue. If the senior | | | | programmer is already asking for the help you |
| programmer makes up for this by working extra | | | | shouldn't have a problem on that end of the |
| time, that's a morale issue. | | | | relationship. Make sure that the coach is allowed the |
| There are several ways in which you may detect a | | | | time required to adequately coach the needy |
| problem in this area. The most obvious is a complaint | | | | programmer. You will also need to provide adequate |
| from a senior member on your team that their time | | | | time for the work assigned to the needy |
| is being wasted in helping a more junior member. | | | | programmer; the amount of time originally assigned |
| Keep in mind that we're not referring to a situation | | | | for the work was based on a false assumption and |
| where a senior member has been assigned to coach | | | | the work needs to be re-estimated with the new |
| or mentor a more junior member; we're talking about | | | | information. Your new plan must provide extra |
| someone who shouldn't need constant guidance, | | | | budget for extra resourcing to make up the shortfall, |
| burdening the senior team member with requests for | | | | an allowance for overtime to make up the shortfall, |
| help. Get the details of these requests from the | | | | or new end dates for the work packages where |
| senior member. How many times a day do they ask | | | | there is slack in your schedule. |
| for help? What are the issues they need help | | | | So far all of our corrective actions have been benign. |
| resolving? How many hours a day are being wasted? | | | | There has been no need to address behavior |
| The one-on-one conversation becomes a little trickier | | | | problems. That doesn't mean the "needy |
| when the development team is remote. You'll need | | | | programmer" problem is never due to behavior |
| to ensure that each member of your team has the | | | | problems. The most common of these is what I call |
| means to contact you by telephone and is | | | | "false advertising" which means that you have |
| encouraged to do so should they encounter a | | | | acquired a senior programmer who isn't really a senior |
| problem they think you can solve. | | | | programmer. I'm not referring to the situation where |
| Observing the behavior yourself is another way in | | | | the programmer has been assigned work that |
| which this problem can come to light. This is usually | | | | doesn't align with their skill set, I'm talking about the |
| an outcome of the "walk about" approach to | | | | programmer who has misrepresented their skill set in |
| management and requires you to be physically | | | | their resume and in any interviews you've had. The |
| present among the development team. If you | | | | resolution of this problem will differ depending on the |
| observe one team member frequenting another's | | | | source of the programmer. You should consider |
| work place, observe the behavior of both team | | | | replacing this person if they are a contract resource. |
| members. You've spotted a problem if one is clearly | | | | Go to the head hunter who sourced the programmer |
| asking the other for help. Signs to look for include: | | | | and let them know the reasons for the change. You |
| paper copies of code to be debugged, the visiting | | | | may also want to change head hunters if you feel |
| team member directing the host team member's | | | | they mislead you. Make sure there are valid senior |
| attention to their code on the computer monitor, and | | | | programmers available, with the skill set you need, |
| body language - does the visiting team member lean | | | | before making this move. Don't make a bad situation |
| in to the host? Do they receive an answer, nod their | | | | worse by dumping a programmer who was able to |
| head, and then walk away? A development team | | | | make some contributions to the team without a |
| that is performing as a cohesive unit will provide you | | | | replacement. You should also perform a "Lessons |
| with numerous opportunities to observe this behavior | | | | Learned" exercise where you or your team was |
| as team members provide help to one another as its | | | | responsible for interviewing the needy programmer. |
| needed. Your job is to observe situations where the | | | | How did this lack of experience escape your notice? |
| traffic is all one way. | | | | What questions could you have asked that would |
| The deterioration of a senior team members | | | | have exposed this lack of experience? |
| productivity is another (and the least desirable) way | | | | You will need to approach the problem from a |
| to identify this problem. A senior team member who | | | | different angle when the resource comes to you |
| has proven in the past that they are capable of a | | | | from an internal organization, either your own or |
| high level of productivity that begins to miss | | | | another in your company. Tread very carefully here |
| deadlines, or produce poor quality code is the warning | | | | as someone in a position of authority in your |
| sign. Use the "walk around" technique to gather more | | | | company has assessed this person's skill set and |
| information on this situation, paying particular | | | | described them as a senior programmer. Approach |
| attention to the team member whose productivity | | | | the needy programmer's manager about the problem. |
| has suffered. Spotting another team member at their | | | | Explain the problem to them citing the facts you |
| work station is an indication that productivity is | | | | gathered from your observations and point out the |
| suffering from an excessive amount of help being | | | | gap between your expectations and the needy |
| provided to the visiting team member. If you don't | | | | programmer's abilities. Please keep in mind that a |
| have an opportunity to observe the team member, | | | | good deal of what appears in a resume is subjective, |
| take them aside to get to the root cause of the | | | | even when it comes from a manager. You may be |
| problem. Start the conversation by citing the team | | | | dealing with a situation where the needy programmer |
| member's accomplishments and contributions in the | | | | is a protégé of the manager in which |
| past then tell them you've noticed that their | | | | case you should expect opposition. Focus the |
| productivity or quality has been suffering lately and | | | | conversation on the needs of your project, rather |
| ask them to provide you with a reason. One-on-one | | | | than the deficiencies of the programmer. Arranging |
| conversations with your team require deft handling | | | | for a replacement of the needy programmer with |
| and cultural sensitivity. There are some team | | | | another possessing the required skill set is the most |
| members who will never allow the situation to get to | | | | desirable outcome of this meeting. Failing that |
| this point and there are others who would rather | | | | outcome, you may be able to return the needy |
| swallow their tongues than complain about a team | | | | programmer to the bench and replace them with a |
| member. If you are dealing with the latter, you may | | | | contractor. Again, be careful that you don't make a |
| have to ask closed-ended questions to get to the | | | | bad situation worse by losing a programmer capable |
| root cause of the problem. Don't hesitate to force a | | | | of contributing at a reduced level with no-one. |
| yes or no answer to your question (i.e. "Is another | | | | You need to engage a Human Resources expert if |
| team member coming to you for help all the time?", | | | | you can't resolve this situation with the needy |
| "Who is that team member?"). | | | | programmer's manager. Let them help you out of |
| You need to take corrective action now that you've | | | | your jam. Allowing an expert 3rd party to resolve the |
| verified that you have this problem. The first step is | | | | situation may be your preferred route, if there is a |
| to evaluate the needy team member's skill and | | | | history of conflict between you and the manager. |
| experience. You may need to re-evaluate the team | | | | There are 2 advantages to this solution: 1) your HR |
| member's status if they joined the team as a senior | | | | rep should be an expert in handling conflict, and 2) |
| programmer and constantly need help. You have a | | | | you defuse the situation by inserting a 3rd party |
| different problem when the team member is | | | | between yourself and the manager. The |
| described as a junior programmer. More on this | | | | disadvantage of doing this is the risk of destroying |
| situation later in this article. A programmer who is | | | | any trust established between yourself and the |
| described as a senior programmer may not | | | | manager. I would advise the engagement of the HR |
| necessarily be a fraud because they are asking for | | | | rep only in situations where you are certain you can't |
| an excessive amount of help. You need to compare | | | | resolve the situation directly with the manager. State |
| the skill set and areas of experience in this person's | | | | your case to the HR rep citing the facts you've |
| resume against the type of work you have assigned | | | | observed and focus on the desired outcome: the |
| to them. If their experience and skill set does not | | | | replacement of the needy programmer with |
| align with the work, you need to re-evaluate your | | | | someone who possesses the skill set you need. |
| planned work assignments and training. For example, | | | | The needs of your project should be uppermost on |
| training and experience in .jsp programming won't | | | | your agenda when dealing with needy programmers |
| provide a programmer with the ability to design | | | | but keep in mind that your relationships within your |
| database structures to store information. Examine | | | | organization/company will extend beyond the |
| your plan to determine if there is an opportunity to | | | | conclusion of your project. Your responsibility is to |
| train this resource in the areas they are deficient in. | | | | deliver your project on time, on budget, and with the |
| Alternatively, you can re-distribute the work so that | | | | features and degree of quality required, but try to |
| someone with more experience is assigned the work | | | | do this with as little damage to your relationships with |
| and the needy programmer is assigned work more in | | | | others in your organization as possible. Unless you're a |
| line with their strengths. By the way, the other side | | | | consultant and only on board for this project, you will |
| of this coin is the programmer who is weak in an | | | | need the cooperation of these people for success in |
| area and takes action to strengthen the area without | | | | future projects. |