In any software project only people are capable of accumulating knowledge and exhibiting creativity, and only people have the ability to initiate interaction.
But there is a third reason for people being the center of attention in agile software development. It has to do with the Law of Requisite Variety:
If a system is to be stable the number of states of its control mechanism must be greater than or equal to the number of states in the system being controlled.
- The Law of Requisite Variety (W. Ross Ashby)
Simply put, this law states that a system can only be controlled by another system when the other system is just as complex as, or more complex than, the first one.
People are the most complex elements in any software project. This makes them best qualified to directly control their own projects, as people are the only systems with sufficient complexity to deal with the variety of states that they are confronted with.
Neither documented processes, nor code generators, nor company rules, nor project management tools, nor the most exquisite up-front designs, can ever hope to have the amount of complexity that any ordinary software project possesses. Processes, tools and designs cannot outperform their masters. Without people, they are useless.
The Law of Requisite Variety makes it quite clear that, if some level of control is needed in a project (Mike Cohn called it micromanagement by the team), then you better select people as the control mechanisms. They are the only ones complex enough to actually pull it off.
|Latest, greatest and favoritest posts:
Accountable or Responsible?
Communication = Information * Relationships
Creativity as the Root of Software Development