You need all kinds of people to staff a software
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 process
es 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.
Several good guys and their characteristics are described in RUP and elsewhere, but here are a few I haven’t seen:
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: