A few weeks ago I wrote about what upper management can do to focus the company, so this week I thought I would write about what the rest of us can do to streamline our work environment. As stated in the previous article it's all about removing obstacles to getting the work done, and one of the problems with the corporate environment that I regularly see isn't that the corporation is too big to move quickly, it's that the people who do the work are too often stifled. It's highly frustrating.

If you've caught the company vision and you want to be a contributor here are a few tips that might help you gain greater productivity.

Meetings Don't Have To Be Evil Timesuckers

As a project manager I understand that some meetings are necessary, but as a programmer I am constantly frustrated by the sheer number I attend. In order to cut down on the number I have categorized meetings into three different types: decision-making, brainstorming and informational. By examining these types carefully you can better make decisions on which to attend and which to avoid.

  1. Decision-Making. It's usually considered important by other meeting attendees that everyone be present in a decision-making meeting who has been invited. But that doesn't necessarily mean you should attend – so here is the litmus test: If the meeting can produce an intelligent decision without you then you don't need to be there.

    If you know the other participants to be reasonable people and are familiar with the choices on the table and you are either ambivalent of the outcome or the correct answer is so obvious to everyone then you can most likely skip this meeting. You may want to cast your vote in email to the meeting organizer and/or all the participants before the meeting occurs so that they will know your point of view, but if you do this keep it short. You do not want to have the meeting in email. “I will not be able to attend, but I vote we choose X” is all that is necessary.

  2. Brainstorming. I usually give brainstorming meetings extra consideration and only skip them if I know I have absolutely nothing to add. Someone has called this meeting together in an attempt to find the solution to a problem and is asking for your input, so it's polite to give them the courtesy of your opinion in this forum, and if this is a project on which you will be working also then you most likely want to have a hand in its shaping anyway. However, if it's a project that you care absolutely nothing about and/or your manager doesn't want you to work on it then it's an easy choice to skip it.

  3. Informational. I said above that meetings don't have to be evil timesuckers, but if any meeting comes close it's the informational meeting. I try to skip as many of these as possible since they usually just suck away an hour or two of time that you could be programming. The vast majority of these meetings can be relayed in email and digested in minutes instead of wasting the hour that an average meeting takes. Unless you have specific questions or these meetings are mandatory don't attend them.

Where does a team meeting fit in? It's usually part brainstorming, part decision-making and part informational. If you are on a large team you often wish you weren't there when others are presenting because it feels like their work has no bearing on yours, but you still need to be there to present your information to the meeting organizer. I believe these meetings need to be better organized from the beginning and perhaps split into a few smaller meetings. Though it might be a little less convenient for them this doesn't need to waste any more of the organizer's time than necessary, but it certainly doesn't waste the participants time nearly as much and chances are there are far more participants than there are organizers. No one will miss the sections they didn't care about.

Even more frustrating to me than the number of meetings I attend is the pace of them. Please get to the point! One of the most frustrating aspects of a meeting is when the presenter is not prepared, so do your part when it's your turn and prepare well so things go quickly and smoothly. I recently spent 10 minutes in a meeting watching a server reboot so the presenter could demo something. I wanted to pound the desk in frustration! I have real work to do and this kind of lack of preparation is highly inconsiderate.

Make Decisions Quickly

There comes a point where a decision needs to be made, and many people just make decisions too slowly. I often wonder why they are waiting. Is there more information coming? If so then waiting may be valid, but it may not also. You need to make decisions based on enough information, but not necessarily all the information.

Some of this is going to come down to trusting your people. If your colleagues tell you that something works a certain way and you have no reason to see it otherwise then you should be able to make decisions based on that information. Sometimes it won't be possible to get all the information in the time you have allotted. Sometimes it won't be possible to get all the information at all. Look through what you have and decide if it's enough to make a final decision (this may be the harder of the two decisions) and then if so – do it. Don't procrastinate any further. Keep the momentum.

Disagree And Commit

Sometimes your point of view will not win in the corporate arena of ideas, and unless you have veto or override capability you're going to have to live with a decision that someone else has made. There is a guy in an adjoining group with whom I have to deal from time to time and he's just sure he's right on everything. He's one of those people who will battle the decision to their graves, escalate to upper management about anything and generally cause trouble even if repeatedly proven that he's wrong.

This kind of person may have the best of intentions and he may not, but either way he is doing the company a huge disservice by slowing down the process of getting things done. There comes a time when it doesn't even matter if you are right. If you have presented your case 2-3 times and despite all the arguments you can muster the team still wants to do it another way then it's time to disagree and commit to the decided solution. Some would say that presenting your case 3 times is too many. The idea here again is to keep things moving.

Give Up Power Where It's Best For The Company

Are you a power player? Do you hoard projects just so your name can be attached to them in an attempt to present to the company your status as über-manager? Stop it! It's very frustrating to everyone else because you're slowing things down. If you are already managing more than one project and another project comes along think twice before taking it on simultaneously. Would another group be better suited for the job? Would another manager? If you really feel you must take on the additional work is there a project you can hand off to one of your direct reports? That would allow one of your people the chance to grow and still keep the project in your organization.

Streamline Processes

Where I work right now they have a special affinity for something called the “Work Week”. In meetings most if not all dates are expressed in terms of WW instead of by the actual date. To facilitate this calendar cards have been printed for each employee that they can attach to their name badge for easy reference. When I asked my manager why we do this he explained that he thought it has something to do with accounting and financial reporting, but even he wasn't sure. I don't buy it.

When is WW37? Do you know off the top of your head? I mean, we can do the math, but why? For that matter when is WW1? December 31 was Sunday, so does that make the first week of January WW52, WW53 or WW1? Expressing dates in work weeks just isn't natural for people. If you convey your deadlines in terms of work weeks you have to calculate it out and then we have to reverse the process to figure out what you mean. It's double the effort. People think in terms of the calendar.

This may seem like a small thing, but it's a perfect example of a process that can be easily streamlined. Throw your work week card away and the next time somebody gives you a work week deadline ask them what date that is. If enough people do this no one will use WW anymore. And you may even save the company money on printing and lamination.

Don't Complain Without A Solution

Just a couple of days ago I was forwarded an email thread that had grown out of control. In the course of this thread was a comment that really irked me because it provided absolutely no value to the conversation whatsoever. The writer stated that the suggested solution was tried years ago on a different technology and was scrapped “once it was proven to be impossible.”

Well they didn't ask me. And they didn't ask the thousands of developers more talented than I am. And if they did I'm sure they would have heard the same thing I would have told them: nothing is impossible in software.

In truth one of the reasons this irked me so much was that the source of the comment had developed a pattern of negativism and doom where anything outside the status quo is immediately rejected as not possible. It's a bit arrogant to assume that your failure in the past represents the future for someone else, especially when the technology has changed and you may be a lousy programmer in the first place. I know many programmers who make their living on coding things that others couldn't do. That doesn't necessarily mean they know the language better - they just search harder for the answers.

Bringing up past failures is valid, but you don't have to do it with such a negative attitude. Someone out there is a better programmer than you and can probably figure it out. So before you write that whiny email think hard about possible solutions so you can actually contribute to the conversation. (For what it's worth there did turn out to be an easy solution in the new technology.)

See The Big Picture

Sometimes it's difficult to imagine how your piece can make any difference to the company's bottom line, but if you can see the ripple your project can make then it takes on a whole new level of importance. And everyone wants to be working on something important. Connect the dots from your project all the way to sales and you'll take on a new level of pride when you start to see how your work can impact revenue.

Your work is important and you can make a difference in the company. Catch the vision that upper management is selling and find ways to implement it at your level, wherever that may be. Speed of execution is important so keep things moving. Have some energy and excitement about it! Remove those roadblocks and streamline your processes across the board. Is there waste? Get rid of it! You don't need it!

Now get back to work. ;)