In the Agile approach, the only true measure of progress on a software development project is the delivery of working software. By working in short iterations, and by delivering working software each iteration, there is evidence that the project team is progressing. As described by Ambler (n.d.), this provides greater visibility into the true status of a project than does documentation-based earned value measures, and also improves the ability to effectively govern IT projects.
While predictive methods do lead to predictable outcomes, Nicolette (2005) noted that more commonly, they led to cost overruns, long bug lists, excessive overtime, dissatisfied customers, and poor business value. In the adaptive or Agile model, the development process is a series of iterations, and there is continuous adaptation and innovation through close collaboration between developers and stakeholders. This often results in better and more reliable features and on a shorter delivery schedule.
Although an Agile approach can better address business and customer needs, it must be noted that it is not appropriate for all environments or projects. For example, Agile methods work well in an organisational culture where uncertainty and change is welcomed and creativity and innovation can thrive. Nicolette (2005) highlighted the general elements of when to use the predictive or adaptive approach in Table 1 and Figure 4 below.