Evolutionary Delivery Have you planned for several releases of the software before the full, final capabilities are present? Does the first release contain the germ of the program, the seed from which the rest of the program will be developed? Will the first release be made as early as possible to get the ball rolling? Is the first release usable, at least at some minimal level? Have you defined what each evolutionary stage will deliver as best as you can in the hazy dawn of the project? Does each release add significant capabilities? Is the process flexible enough to respond to user feedback? If not, is that the way you intend it to be? Is the architecture open enough to support a product that will be changed many times through several releases? Will each release be treated as a small project with its own coding and testing, and, in some cases, design and requirements analysis? Have you considered basing the process on modifications to an existing program? Do you use the results of each stage to improve your estimates and planning for the next stage?