对需求及需求管理的分析
需求管理是项目团队工作的起点,很多研发团队开发过程混乱的源头都在于需求管理没有做好,项目需求管理是从需求采集开始,贯彻于整个项目生命周期,力图实现最终产品同需求的最佳结合。但是需求管理却常常被人们误解为仅仅是需求的采集和分析,事实上,需求管理的内容远不止于此,它还包括需求的组织,跟踪,审查,确认,变更和验证,
需求管理的难点
- 需求不总是显而易见的,而且它可以来自各个方面,它也并不总是能够容易用文字明白无误地表达
- 存在不同种类的需求,其要求各不相同
- 需求之间相互关联,而且需求也和软件工程中其他可交付工件相 关
- 需求会变更
- 随着项目的演进,需求的跟踪变得困难
需求管理系统的关注点
考察一个需求管理工具软件,可以从以下几方面出发:
- 需求基本信息是否完备
- 需求的层次组织,即需求本身是如何组织在一起的
- 需求的评审及权限管理
- 需求和版本,测试是如何关联的
- 需求变更的支持
对需求属性的理解
-
层次化
软件需求包括3个不同的层次――业务需求、用户需求和功能需求,此外还包括一些非功能需求
-
业务需求
表示组织或客户高层次的目标,业务需求描述了组织为什么要开发一个系统,即组织希望达到的目标
-
用户需求
描述的是用户的目标,或用户要求系统必须能完成的任务
-
功能需求
规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求
-
系统需求
用于描述包含有多个子系统的产品(即系统)的顶级需求。
-
-
过程
需求的开发是一个不断反复的过程,主要是企业向开发商提交初步的需求,开发商针对已提出的需求编写需求规约并交付企业,企业经过评审后提出意见,开发商对于需求规约进行一次次的修改,往复提交,直到双方达成一致
-
跟踪与状态
需求跟踪是指跟踪一个需求使用期限的全过程,需求跟踪包括编制每个需求同系统元素之间的联系文档,这些元素包括其他类型的需求,体系结构,其他设计部件,源代码模块,测试,帮助文件等。需求跟踪为我们提供了由需求到产品实现整个过程范围的明确查阅的能力。在跟踪的过程中最重要的一个属性便是需求的状态,这个用来标识需求当前情况的一个属性,可以帮助我们更好了解需求变更的过程以及当前情况
-
角色
角色即是需求的生命周期中项目干系人的不同身份,可以细分位客户,最终用户以及间接用户