我们来回顾一下软件工程的有关内容。软件工程是针对软件这一具有其特殊性质的产品的工程化方法。它关注的是软件产品的生命周期,包括从计划、设计、编程、测试、到运行和升级维护共六个主要阶段,而且随着软件产品的不断升级维护,还会使同一软件产品经历多次这样的生命周期,软件工程在产品的一次生命周期中的各个阶段中,提供了一整套的工程化的方法,来指导软件人员的工作。因此可以说,软件工程是一种围绕产品生命周期的工程化方法。
软件生命周期是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。
我们再来看一下项目管理。项目管理是针对一个项目的管理方法,它关注的是项目的生命周期,包括从项目的启动、计划、执行,到控制和收尾共五个主要的项目过程。在不同的过程中都涉及到对时间、人员、成本、质量、风险等内容的管理,强调的是项目的绩效,通过有效的项目管理来完成对项目提出的需求,这当中也包括提交软件产品。因此,项目管理是关注于项目生命周期的管理方法。
在软件工程中,也涉及到一些管理方面的问题,与项目管理有一些重叠的部分。以通用的项目管理知识体系为基础,结合软件工程自身的科学规律,采用适合软件产品自身特点的管理方法,是真正管理好软件项目和软件产品的最终出路。特别是当一个企业作为软件产品的最终用户时,更要同时做好项目管理和软件产品管理两方面的工作,始终不可偏离企业的最终经营目标。
软件工程是行业性的科学经验,项目管理是管理者PM的管理技能,一个更加的科学和专业,一个是纯管理的管理者本身该学会的知识。