项目生命周期
维基百科,自由的百科全书
在软件工程领域,项目生命周期刻画了一个工程从起始到完成,是如何进行计划,控制和监控的模型。在项目生命周期的早期和后期,软件架构,需求和系统定义是一个问题:
- 系统/软件的市场是什么?
- 竞争对手有哪些?
- 系统/软件的运行平台是什么?
- 这个项目可用的时间有多少?
- 项目需要哪些技能?
经过这些年,从最早也最简单的瀑布模型开始,已经开发出了许多不同的模型。但是,随着软件已经变得更大和更复杂,这种开发方法已经出现负面影响,尤其是牵扯到有大型团队的时候。迭代的模型得到了发展,它包括原型法,演化原型法,增量开发,螺旋模型,V 模型和混沌模型。
这些模型的使用大部分都局限于项目的总体管理,但是现在认为,如果在项目的单独部分都由最合适的模型控制,则这个项目受到了更好的控制。例如,一个项目用增量开发模型,但是在每一个增量过程,文档是按照瀑布模型创建和管理,而代码开发使用'V'模型管理。
每个项目的生命周期的正规性和复杂性受到很多因素的制约,包括预算约束,经验,项目规模和复杂度,开发队伍。
一些经验丰富和很受尊敬的项目领导和程序员认为生命周期的严格应用是一种理论,并不能在实践中起到好作用。林納斯·托瓦茲,Linux内核项目的非常受敬重的项目经理,在Linux内核的邮件列表中这样描述:
- 没有一个已经在通用市场上(相对特殊领域而言)取得成功的的较大的软件项目增经经历了那些好的生命周期模型,就像在计算机科学课程里告诉你的一样。
ISO 12207是为描述为一个项目选择,执行和监控生命周期的方法而开发的标准。