Alistair Cockburn’s 1999 paper, “Characterizing people as non-linear, first-order components in software development,” argues that the people involved in making software affect the project as much as any method or practice. Although Cockburn calls this “stupendously obvious,” he rightly describes it as often overlooked.
Almost every challenge in building great software is, in some way, a people problem. That challenge may be communicating effectively, dealing with the unpredictability of moods and motives, or figuring out how to harness people’s desire to do the right thing for the team and the project. Few problems are solely technical.
Agile methods put people and their interactions at the center of all decisions. How can we best work together? How can we communicate effectively? Successful software projects must address these questions.