Abstract :
Software life cycle models have tried to bring control to the software development. Two aspects of life cycles have provided benefits: the ordering of development phases, and the modularisation of the development process to give discipline and control. The third aspect, production of systems monolithically, is not beneficial for large systems. Incremental development is the development of a system in a series of partial products, generally with increasing functionality, throughout the project timescale; incremental delivery gives those increments to the users when they are completed. An increment is complete when all the associated life cycle products are finished, including testing, training, and documentation. There are significant benefits both for developers and users, but there are also significant problems. In particular, more discipline is needed to manage incrementally, particularly good configuration management. Incremental development can reduce many of the risks of large system development, but it is not without problems, which centre around the management and control of software and associated products in different stages of development