Sunday, October 28, 2007

The Difficulties of Going on Vacation

So, I am finally taking a few weeks off, after months of uninterrupted work. This is a vacation with a difference. I am going to stay at home, do whatever I want, and try not to put on too many pounds in the process. To replace hectic work with a hectic travel schedule does not particularly appeal to me at this time.

The biggest issue when taking leave is to decide what to do with your responsibilities. There is never a good time for taking vacation, because there never seems to be a shortage of things to do. So you have to pick some time and just do it. Sometimes the vacation may be determined by events in your life, but generally, that is not the case.

Here are some of the items you have to think about:

  1. What will be the state of your projects when you get back?
  2. Who will your customers interact with while you are gone?
  3. What if the people you are managing have questions regarding the work they have to do?
  4. What if there is an unexpected and urgent situation?

Here are some ideas:

  1. Obviously, you have to inform everyone that you are going to be on leave with plenty of notice. This gives them time to get what they want from you before you go away. Most of them will try their best to manage by themselves and not try to contact you. The problem is that sometimes, you forget to inform someone who is still under the impression that you are available. So make a list!

  2. The good thing in today's electronic age is that you can still keep track of what is going on by continuing to check your email. If you have done the previous step, chances are that most of your emails will be informational only and will rarely require any replies. You can send a reply for anything that does not look right. The problem with checking email on vacation is that you may feel a compulsion to do it often, and that pretty much destroys the vacation mood.

  3. Provide necessary plans to your team members for the days you will be away. You can also provide them direction on what to do if they get stuck in an issue. This will help prevent things from coming to a halt while they are waiting for your reply. Having to provide clarifications while on vacation can be very frustrating and time-consuming.

  4. Ask customers to keep their cool for a few weeks. Sometimes, you may be able to provide an alternative contact for them while you are away. It depends on how critical the customer's situation is and how important they are to you. If a particular customer is very important, you may need to provide them your contact information.

If you are an individual contributor in a single project, many of these issues may not apply to you. You can plan your vacation in advance and, usually, things go smoothly. As your responsibilities (including both technical and managerial duties) increase and the number of projects you are involved in increase, you will find it increasingly difficult to disentangle yourself from them. Longer, uninterrupted vacations are not just a luxury; they are a dream.

This is yet another reason for continuously delegating work to your team. The more tasks you keep to yourself, the fewer tasks you will be able to offload when you need the flexibility to do so. Many managers fear that delegating means that they will have nothing to do and soon be out of a job. But when they are absent, their projects have a greater chance of ending up as wrecks. That situation does not hold well for job security, either, unless of course, nobody else can clean up the mess. :-)

I find it pretty interesting to think about what a vacation means. In one way, you could liken it to carrying a backpack. When leaving on vacation, you remove the things in your backpack. When you come back to work, you put the items back in again. In other respects, it is like juggling. When leaving on vacation, you just throw the balls high so that they stay in the air long enough for you to catch them when you come back. I guess it is a bit of both!


Sunday, October 14, 2007

When Managers and Employees Disagree

A couple of days ago, a friend of mine contacted me about my previous post on managing other people and put forward some caveats. He pointed out that the comparison between managers and employees is not quite valid. There are many managers who are quite clueless about the company strategy, while many employees have a better idea about where the company should be heading.

Also, the article assumed that anyone who knew management techniques will eventually become a manager. This is not universally true, because many companies have technical career paths, where such employees continue to work on technical matters without ever managing human, material or financial resources. Finally, in the software industry, it is essential for employees (who wish to progress in their careers) to be knowledgeable about business needs.

So let me re-articulate my essay in light of those valid points. Here are some examples of the situation in the article:

  1. The employee does not do what the manager asks him to do at the right time.
  2. The employee goes against the manager's orders and does the opposite thing.
  3. The employee does not do the task as effectively as the manager expected.
  4. The employee does not do the tasks in the order in which the manager expected or specified.
  5. The employee does exactly what he has been told, instead of thinking more deeply about it and avoiding other problems.

Here is where a manager should try to think, "Why does an employee do that? It seems very logical to me that if I tell someone, they will act upon it. They will ask when it should be done. They will think deeply about the task and ask for more details, if necessary. Finally, I should be able to get something that is reasonably close to what I described."

If managers would do that, the answer would stare them in their faces. Employees are not thinking the same way about those tasks as managers. This happens regardless of who (employee or manager) has more business sense or capability. For their own reasons, employees have accorded a different priority and importance to those tasks. Who is right or wrong does not matter.

Of course, for the manager who is responsible for the output, the choices made by employees do matter. Hence, it is incumbent on any manager who wants to get her work done in the expected manner to stay on top of prioritization. She cannot tell an employee, "I expected you to do that." People do not communicate via telepathy. The employee, who has no idea about what is in his manager's head, cannot be responsible for doing something different. Instead, the manager must specify what must be done, when it must be done and how diligently it must be done. She must make clear what trade-off's can be made and why.

Now, my friend's point about the manager being clueless about the business goal is very pertinent here. Sometimes a manager tells the employee, "Do this!" or "Don't do that!" and the employee knows that disobeying that order would be the best thing for the company. Obviously, a clueless manager doesn't care, but this article is not about such bad managers. What if a manager is genuinely mistaken, even though she doesn't know it yet, and the employee knows better?

There are many situations where employees have hidden things from higher management and they have resulted in great successes. But the fundamental problem here is that everyone involved (both the innovators and the dissenters) are sincerely convinced about the rightness of their decision at the time. Until we see the final result, we can never tell because it is a gamble. And even though senior managers are sometimes wrong, many of them have made at least some good decisions to justify their present title. They may not necessarily be wrong.

It is a difficult choice, really. From the employee's perspective, I can think of some guidelines that will help:

  1. Pick the right battles. The right battles are the ones with high risk and high reward on each side. The innovators are convinced of the New World. The dissenters can only see themselves going off the edge of the world. Spending enough time to discuss both sides of the problem in detail can help in greater understanding of each side and work towards a better solution. It is better to ignore some problems and save yourself for the crucial ones.

  2. Use the concept of "civil disobedience". When Gandhi broke the unjust British laws, he knew that he would probably be jailed. He was willing to accept the punishment if there was a chance of shaking off the British rule. If your ideas as an employee are rejected, you can choose to proceed with what you want to do, as long as you are willing to accept the consequences of failure, such as termination. If you are successful, you may get away with it, but don't bet on that.

  3. Accept that you could be making a mistake. Hence, do not take it personally when your ideas are rejected. And since there is this risk, be careful about involving other people who could be negatively affected by your failure. This includes your family, co-workers and also your manager. If you decide to do your own thing and fail what your manager wanted to do, then your manager will also get into trouble with his or her bosses. Assuming that your manager is a good person, such a course of action is a callous thing to do.

For a manager, here are some guidelines:

  1. Don't think you are superior. The employees may know something that you don't. Let them speak and hear them out. Ask questions instead of making statements. It is normal for people to come with ideas that are not entirely thought-out, but your questions can help them re-formulate their strategy and make it more effective.

  2. If you reject someone's idea, sleep it off and re-evaluate it with a fresh mind. Sometimes, you may discuss and reject a person's idea while you are talking with them, because the other person did not talk with much conviction. But the weak belief of that person has no relation to the strength of the idea. You may find gems when re-evaluating such ideas alone.

  3. Make it clear where the line is drawn. Managers have different levels of propensity for risk. You may be able to give some freedom and autonomy to your reports to do something different or new, even if you don't fully agree with it. But beyond a point, you will be taking on too much risk that could affect the company and you personally. Make the boundaries clear to your employees, so that there is no finger-pointing at the end.

Common sense is often replaced by impatience, arrogance, and misunderstanding, among other human flaws. So it is easy to be cynical about this. But, I have seen many situations where managers have woken up, done a 180-degree on some rejected ideas, and made a great difference to how their projects and business operates. So it is possible. Will it work in your particular situation? I don't know, but it is worth giving it a try. You have nothing to lose.


Monday, October 08, 2007

Don't Manage as if You are Managing Yourself

A common mistake of managers is to assume that their employees are like themselves and manage them accordingly. This causes frustration among both the managed employees and the manager. Here are some examples:

  • "I could have finished that work in 30 minutes. Tom has taken much longer and he has done it the wrong way."
  • "Harry, why did you work on this task now? That critical bug was more important. Learn to prioritize."
  • "James, you need to think 2 years down the road when we have to maintain this code. Don't just take the easy route."
  • "Why is the office so empty this early? I know it is a long weekend, but people, we have promises to keep."

The manager is puzzled by the behavior and output of his employees. He believes that he could do a much better job than they, and is not afraid to educate anyone about the fact. The employees cannot understand how their best efforts are never acknowledged. Instead, nothing they do seems to be good enough. Why does this happen?

The problems stem from the mismatch between the capabilities of managers and employees:

  1. Management: Managers are familiar with understanding customer needs, work prioritization, scheduling, etc. In contrast, most employees are technically-oriented and cannot see the big picture. They need external input to change their way of working.

  2. Commitment: Managers are generally more committed than employees to the business goals of the organization. Contributing factors include compensation model, customer/market proximity, better understanding of company's financial information, etc. 

  3. Behavior: Managers are more likely to be extroverts and go-getters than regular employees. They exhibit analytical thinking, know how to communicate with people and understand how to balance short-term needs with the long-term vision.

There are a few employees who do exhibit some of these skills, but they, sooner or later, get promoted to managers. So, the net result is that most employees lack many of the skills that managers possess. In theory, it is possible for employees to improve themselves by training or self-learning. But in practice, only a few people actually want to or try to learn such skills by themselves.

Managers are managers precisely because they have certain abilities that other employees lack. They have a better understanding of what the company requires and are willing to go the extra mile towards that. Managers can be workaholics, putting effort disproportionately more than what they are compensated for. Many are very interested in the technical aspects of their work, which occupies their brains even when they are outside their office building or their working hours.

Regular employees are a little less crazy. Most of them love their work, but their personal life (family, friends, hobbies, etc.) is more important to them. Their work has little meaning outside the workplace. They have more immediate problems that occupy their minds, like how to raise their children, how to pay their bills, what game is on TV, what time the grocery store closes tonight, and so on.

When a manager talks about "quality", "long-term thinking" or "customer satisfaction", it does not feel as meaningful or urgent to a regular employee. A manager takes pride in the internal and external quality of a product, regardless of any change it makes to his personal life. Not so for an employee. In short, managers and employees do not share the same benefits and same fears. Hence, any action they take is based on different logical premises.

As a manager, what can you do? For practical reasons, it is not possible for you to fix the root issues. You have to manage around it. Here are some tips:

  1. Never delegate prioritization to your employees. Always explain what tasks are more important to you. Ask people to discuss with you before they want to change the prioritization. Always have fall-back tasks so that people can do them if they are held up with some difficulty in their primary tasks.

  2. Make it clear how to make trade-offs. If a task takes more time, can people take short-cuts with quality in getting it done? Or should they delay delivery until they get it perfect? If you don't do this, people will inevitably make a choice that you will regret later.

  3. Establish training mechanisms for your employees to develop managerial skills. Start by giving greater flexibility in non-critical tasks where people can make mistakes and learn from them. Slowly build up their strengths. Encourage people to go for formal management courses.

  4. Give people rope for mistakes, but discuss those mistakes in non-confrontational settings so that employees can improve. Give opportunities for employees to come up with their suggestions for improvement, instead of you telling them what to do.

  5. Explain concepts to employees in their terms. For example, when you talk about quality, talk about how much additional work and aggravation it creates for them, instead of some silly talk of "craftsmanship". Make it real.

  6. Finally, minimize work binges. Many people can accommodate brief periods of high commitment, but when it turns out be a regular work practice, it is the ideal setting for employee disengagement, anger and attrition. Learn to estimate using the average employee, not you, as the standard human resource.

Thursday, October 04, 2007

Individual vs. Team Productivity

Many people define "productivity" as how much you can accomplish in a given unit of time. Using this definition as the basis for higher productivity can sometimes be counter-productive.

Consider the following examples:

  1. As a product manager, you can start writing up many new product features for your development team. But, if you do not have enough resources, all you have done is create a huge backlog of work.
  2. As a tester, you can find many more bugs per hour than the average tester. But, this has just created more work for the project manager and the developers.
  3. As a developer, you complete and check in more features than expected. Now the build is delayed because there is more work for regression and integration testing.

The above examples all relate to problems caused a team setting by a highly productive member of the team.

In a team, every person's work is the trigger for another person to start their work. There is a flow in the system. For example, we may have a simple flow like:

Customer -> Business Analyst -> Developer -> Tester -> Customer

There may be backward flows, where a tester reports bugs back and creates work for the developer, or the business analyst requests more information from the customer. The point I want to make is that when each person in a team produces something, they create work for other persons or teams. This is usually good. If there is a reasonable backlog for every person, they can continue working towards producing the end result.

However, if you are a person in the chain and you exhibit very high productivity, you have just created a bunch of problems. First, a huge backlog overwhelms the downstream employee. You or they must now spend time prioritizing the list of items in the backlog. In the absence of prioritization, the downstream employee will work on the wrong things, causing delays for everyone else too.

For example, let us consider a developer suddenly faced with a tester finding several bugs a day, albeit many obscure and minor ones. Since the bug count looks very nasty, he will be tempted to reduce it by knocking off the easier, less time-consuming bugs and delay work on new features. If the tester continues this mode of operation, very soon, you will have a project go totally off the rails.

This issue is, of course, one of the more important concepts in lean thinking. In a manufacturing setting, a highly productive team (or machine) can create huge inventories that consume space and money. In the above example, it may actually be more useful at this point to have the tester report only critical bugs (and sit idle, if need be) while the developer catches up. It may even be more profitable because the product can be shipped sooner and more sales gained.

Let us reverse the situation. Say, a developer produces more than a tester can test within a period of time. This is the case with projects in many smaller companies, where the tester-to-developer ratio is low and the pressure to ship is high. Here, the higher productivity results in a lower quality being shipped. The tester practically doesn't have time to test everything and makes effort allocation choices that may sometimes be wrong.

It is necessary to establish the right rhythm of work within a team. In this way, each person produces just enough to keep the next person busy and no more. This may mean idle time for some people at times. Thus, individual productivity may go down. But the overall team will be more efficient in meeting the objectives of the project in terms of timely delivery and quality.

So what can you personally do? I think you can look at the work you do in terms of the people you affect and start asking yourself questions like:

  • If you are doing a task (like writing an email or a document), is it going to create more work for others?
  • And if so, is it filling a vacuum or is it adding to an already long list of tasks?
  • What effect will your work have on their existing tasks? Beware: if you are the boss, your new request, however silly, will immediate rise to the top, de-prioritizing important tasks.

If you are highly efficient, you cannot help producing more. What you can do is produce only the necessary work product within a shorter time. And then, instead of working on the same thing, you should move onto tasks that do not affect others. For example, a developer or tester can spend time learning new skills while they are idle and waiting for others.


Technorati tags: