The phases of development through which a computer-based system passes. Life cycle phases have been defined in very many different ways and in varying degrees of detail. Most definitions, however, recognize broad phases such as initial conception, requirements definition, outline design, detailed design, programming, testing, implementation, maintenance, and modification. Some include additional activities such as manual procedures design and staff training. Most life cycle definitions arose as a result of analysis of the tasks of system development, with the objective of making those tasks more amenable to traditional techniques of management planning and control. In some cases, elaborate planning and control systems have been designed on the basis of the life cycle analysis, with highly formalized documentation and clearly defined managerial decision points.