本节书摘来异步社区《挖掘管理价值:企业软件项目管理实战》一书中的第1章,第1.2节,作者: 徐勤 责编: 杨海玲, 更多章节内容可以访问云栖社区“异步社区”公众号查看。
1.2 软件项目特点和意义
挖掘管理价值:企业软件项目管理实战
为什么对软件项目要提出专门的管理要求呢?软件自身的特点决定了它有别于一般的工程项目,这些特点反映在以下3个方面。
1.无形性
软件不像大桥、房子、高速公路,它没有具体的、物理的实体,仅仅是存在于计算机系统中的代码和屏幕上的图形。因此软件项目也没有可见的、可触摸的实体,其管理过程就是将无形的软件构造过程可视化、具体化、可操作化和可控化。
2.多变性
如果一座跨江大桥建到一半的时候,想把桥的一端换一个地方是不可能的,除非把大桥拆了重建。但是软件因为代码的灵活性可以适应需求的变化,软件项目管理更多地表现出如何去平衡和控制这种突发的、不可预见的变化。
3.演化性
软件就像生物一样,可以不停地演化和升级,而且速度快得惊人,软件的演化周期平均为1~2年,甚至更短。而其他工程项目,如机场建设、厂房装修或水电机组安装,一个项目周期完成后,可能就没有下一个项目周期了,即使有也要间隔10年乃至更久。软件项目管理周期性非常短,而且是重复的、叠加的,有的时候,前面一个项目还没有完成,下一个版本的软件项目就开始了。软件项目的管理就在这种不断演化的过程中不停地达成目标、提高管理水平。
因此一般的工程管理理论和方法不能完全适用于软件项目管理,它不能解决软件项目中一些特殊的问题,如需求变更、精益开发、知识产权保护等。软件项目管理的作用在于,它不但保障了项目的进度和结果,同时管理好了项目中的资源和资金,并且能够获得可观的利益和降低组织风险。
另外,从实际应用效果来看,82%的软件项目都会有延期的情况,24%的项目会失败1。分析其原因,大都不是因为技术造成的,而是缺乏行之有效的管理手段和方法,简单地说就是管理不善导致的。因此加强软件项目的管理显得日益重要,软件项目管理的手段和方法也会日益成熟。