软件开发项目管理的案例解说系列 软件开发项目的需求和范围管理 - 系列 (一) 引言 在今年第一期的程序员杂志中,我对软件开发项目管理的重要性和进行管理的十大工作内容作了一个介绍。你应该已经很清楚地知道今天绝大多数的软件开发已经不是简单地编写一些程序而已,而是一个综合了对多人合作的运作进行必要管理的流程。只要你经历过任何由多人参加的软件开发工作,你一定对整个开发过程是否具有良好的管理对团队的士气以及对开发结果所造成的影响深有体会。一个软件公司或开发团队对软件项目进行管理的素质和水平,是影响到项目是否能够成功完成、开发出来的软件是否能够真正满足市场或客户要求的关键因素。懂得软件开发的项目管理知识不仅仅是项目经理的责任,也是所有开发人员应该掌握的本领之一。 从这一期开始,我将在这里用理论与案例解析相结合的一个系列的介绍文章,来阐述软件开发项目管理的更多指南和实践方法。这一期我们从如何进行软件开发需求和范围管理开始,接下来在以后的几期中再分别讨论软件开发项目的计划制定、质量控制、以及项目的执行与驱动的管理指南、等等。 常有的项目需求和范围管理的挑战 在软件开发项目进行的早期阶段,项目经理以及开发团队的领导们在制定项目计划时所经常碰到的一个令人头疼的问题是:如何有效地设定一个开发项目的范围,也就是如何确定所需要开发的软件的功能范围、质量的要求范围等各种所必须满足的条件以及相应的工作范围。很多项目管理人员和开发团队的领队往往被这个问题所困惑、无法有效地从大量的、貌似互不相连的各种技术、市场、用户的要求中得出明确的需求总结,从而妨碍了制定完善的项目计划。 其实这个问题并不是软件开发所独特具有的。任何大型和复杂的项目、包括各种高科技和工程开发项目,都会面临这个典型的问题。是否能够妥善处理这个挑战、并制定出相应的合理的开发项目的计划,是衡量一个开发团队的管理水准的衡量之一。 五年前我在从事微软的新一代嵌入式操作系统(Windows XP Embedded) 产品开发的项目管理时也碰到同样的问题和挑战:在众多的各种需求中,怎样确定哪些工作是我这个开发项目必须要包含的?怎样保证最主要的需求分析不被漏掉?怎样在开发之前建立整个团队对软件的质量期望的共识、事先确定软件必须达到的质量要求? 有效的需求和范围管理的运作流程 我们所采用的开发管理方法就是类似于我在《软件开发项目管理》一书中所总结的方法和运作流程来...