Iterative development (or incremental development) requires that current workflows and their performance be baselined first. Changes must be agreed upon by relevant stakeholders, and any agreed-upon changes are then implemented incrementally. Iterative development allows course correction. All stakeholders involved progressively gain a better understanding of what needs to be delivered as part of an initiative and, in turn, incorporate this learning into the process in an iterative manner.