For the Software developer bestiary
Quote: “Don’t worry!”
Also known as: “The Dreamer”
The optimist may not look like a bad guy at all. He might even be the nicest guy you’ve ever met. Still, the optimists are one of the most common reasons for failure in software development. There are two basic kinds of optimists: The overconfident optimist and the ignorant optimist. The overconfident optimist has an almost religious belief in his own skills, the quality of the tools and methods he’s using and the fact that anything imagined can be implemented. The ignorant optimist is has a tendency to abstract and simplify problems to the point when all the difficult things disappear, and then forgets that they were there in the first place.
The optimists can be very enthusiastic and usually contribute to the project at the beginning, with ideas and suggestions, cheering on their colleagues when they come up with ideas. Then when it’s time to implement these ideas these guys can lean back, surf the net or play games, thinking that “Hey, I’ll get that stuff written I two hours. There’s plenty of time.”
In a project where team members work with different parts of the system in parallel, it’s not uncommon for the optimist to deliver a piece of the system that works perfectly on its own, but can’t be integrated with the rest of the system. The optimist (usually of the ignorant variety) can’t see beyond their own sandbox and can’t understand the restrictions set by other parts of the system and the architecture.
Optimists are usually younger developers or analysts/designers without extensive coding experience. They often seem to understand directives they get and agree enthusiastically, but if you ask them to explain what they are to do, they often fail or give a partial answer.
An optimist project manager will most likely make overly optimistic project schedules, thinking that things will take a lot less time than they actually do. An experienced technical project manager or architect, preferably a snake tamer, working together with the project manager can alleviate some of that. If that can’t be arranged you will probably get dissatisfied customers since you won’t be able to keep a single deadline.
Optimist developers, designers and analysts usually suffer from lack of experience. Teaming these people up with older, more experienced colleagues can help a lot. It is also very important to avoid letting a suspected optimist work alone on any part of the system. If they have to be left alone, make sure that there is continual follow-up on their activities and that their work gets reviewed by senior staff members.