An adaptive project life cycle in which the deliverable is produced through a series of iterations
that successively add functionality within a predetermined time frame. The deliverable contains the necessary and
sufficient capability to be considered complete only after the final iteration.