You need all kinds of people to staff a
software development
project successfully. There’s also a bunch of people you don’t need: people who will delay the project and lower the quality of the delivered
artifacts. Several types are widely known and described by
software development processes like
RUP, where these types are called “
workers” or “
roles”. You have your
developers, your
testers, your
software architects, your
project managers and so on.
These definitions are very useful and will get you a long way, but I think we need a few more types and I’ll try to describe some that I have found, both good types that you want in your project, and bad ones, that you would want to avoid or preferably get to work for your competitors.
Good guys
Several good guys and their characteristics are described in RUP and elsewhere, but here are a few I haven’t seen:
Bad Guys
If you think you have a bad guy in your project you can probably identify him using the excellent book “AntiPatterns” by Brown et al. The “Corncob” antipattern is a catchall for many of these baddies but some need a bit more describing: