[Some of these links are a little slow to load, so patience is advised]
One of Cockburn's favorite subjects, at least measured by his passion, is people, and a worthy note he wrote is entitled "Characterizing People as Non-linear, First Order Components in Software Development.
In this paper, Cockburn's premise is that people are 'active devices' in software development, and like all active devices, there are success and failure modes, primarily these four:
- People are communicating beings, doing best face-to-face, in person, with real-time question and answer.
- People have trouble acting consistently over time.
- People are highly variable, varying from day to day and place to place.
- People generally want to be good citizens, are good at looking around, taking initiative, and doing “whatever is needed” to get the project to work.
- People need both think time and communicating opportunities
- People work well from examples
- People prefer to fail conservatively than to risk succeeding differently; prefer to invent than to research, can only keep a small amount in their heads, and do make mistakes, and find it hard to change their habits.
- Individual personalities easily dominate a project.
- A person’s personality profile strongly affects their ability to perform specific assignmen
There's actually a lot more in the paper that makes for thoughtful reading.