PROBLEM:
Surviving a project gone bad.
CONTEXT:
You're working on a project that is, in your opinion, headed nowhere good. You've tried, and failed, to warn management of the abysses ahead- perhaps you are management, and nobody's listening. For whatever reason, you can't quit now. What do you do to keep sane and benefit from a bad situation?
FORCES:
- Despair
- Frustration
- The desire to create
SOLUTION:
Here are some strategies that have worked for me:
- Harvest Knowledge. Pick a technical area (an algorithm, a tool, a methodology), related to the project's goals, that interests you, then research it. Write a memo describing the various uses your project might make of the technology, and suggest places where the technology solves project problems. If you think there's any chance your management would listen, give them the memo; otherwise, quietly use the technology yourself, and proselytize to your co-workers.
- Harvest Examples. It is hard to continue doing good work when you know it won't ever be used. Stop working for your management; work for yourself. Pick some problem you're assigned to, then create the best possible solution. Try to create a solution you'd be proud to show an employer. Then, when you do leave, get permission to use the solution as part of your portfolio. This won't work at very secretive employers; however, most of my past employers haven't objected to my taking a page or two of demonstration code or documentation with me.
- Harvest References. If you have peers whom you respect on the project, learn everything you can from them, and teach them what you have to offer. If the respect is mutual, these people can help you find your next job, and the job after that. (If the respect isn't mutual, perhaps you haven't been doing good work; time to grit your teeth and Harvest Knowledge and Examples.)
- Avoid guilt trips. When I'm miserable on a project, I spend too much time thinking "Gosh, if I were a great person, I'd be able to work even though I know this is doomed." Then I agonize about not being a great person. I find the best way to avoid this trap is to pick some minuscule task - spell-checking a page, say, or organizing my source-control directory - and do it. Often, finishing some small useful task is enough to jump-start my motor.
- Give yourself permission to play. If you're not getting anything done, it doesn't help to stare glumly at your CRT. Get up, walk over to a trusted peer, and strike up a conversation. Ideally, this should not be another "This project couldn't punch its way out of a tissue-paper shroud" conversation; if you can, talk about something enjoyable. You may even find yourself drifting back to technical issues! If you find yourself goofing off, try goofing off whole-heartedly for ten minutes or so; a mental vacation may be just what you need.
- Read Edward Yourdon's excellent DeathMarch.
RESULTING CONTEXT:
You can't save the project; you can make the time spent there useful.
Good luck; remember that all bad things do eventually come to an end.
Author: BetsyHanesPerry
Matthew 7:6 "Do not give dogs what is sacred; do not throw your pearls to pigs. If you do, they may trample them under their feet, and then turn and tear you to pieces.
(My favorite use of this phrase was two women walking through a door. The first one says, "Age before beauty." The second replies, "Pearls before swine.")
The first speaker was Clare Boothe Luce, the second Dorothy Parker, a noted satiric writer and member of the Algonquin Round Table.
Similar issues were discussed in SkunkWorkPatterns. Would this pattern fit in that language?
-- ToddCoram