Thursday, July 26, 2012

People as non-linear, first-order components in software development

I'm fascinated by the human side of software development and at times I've been frustrated by the lack of attention given the people part of development. So I was happy to read Alistair Cockburn's take on humans and technology.

A couple of interesting points:
... we have been designing complex systems whose active components are variable and highly non-linear components called people, without characterizing these components or their effect on the system being designed. Upon reflection, this seems absurd, but remarkably few people in our field have devoted serious energy to understanding how these things called people affect software development.

...the software development community has largely ignored the characteristics of people as a topic of study.


Alistair states that "People, as active devices, have success modes and failure modes" and he delves into four related characteristics:

1. People are communicating beings, doing best face-to-face, in person, with real-time question and answer.
2. People have trouble acting consistently over time.
3. People are highly variable, varying from day to day and place to place.
4. 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.

No comments: