Agile project management works because: 1) Mental models of software projects are inaccurate since they are complex and non-linear. 2) Agile allows for more frequent testing which improves outcomes, as testing early catches many errors. 3) Competent teams are key to agile success since they have lower error rates, which impacts outcomes more than decreases in errors. Frequent testing and competent teams help agile adapt to the unpredictable nature of software projects.