由于自己现在的工作是做软件需求分析,所以前几天买了几本关于需求分析方面的书籍,昨晚阅读了几页,在这里按照自己的理解先总结记录下。
  先弄清两个概念,需求开发和需求管理。
  需求开发:需求分析,细化,形成需求文档的一个过程。
  需求管理:对需求计划,需求变更等需求管理工作。
  需求开发
  我们现在在做一个wms的需求分析工作。我们拿到客户的需求是这样的:提高工人工作效率,能够追踪商品的批次号。当拿到这个需求之后,我们会进入到一个需求开发的过程。
  首先,我们要进行需求分析,跟客户进行交流,交流仓库的现状,围绕客户需求进行思考,思考我们应该提供什么的功能来满足客户需求。
  然后我们会整理一个大概的功能列表,给到客户,让客户来确认。当然这样的功能列表肯定是不方便跟客户意识达成一致的,所以我们要准备一些功能说明文档,示意图,甚至原型,来确保我们跟客户的理解是达成一致的。
  整个需求开发过程,我们需要注意以下几点:
  一、需求分析人员跟客户的理解一致,这点是非常重要的。如上述所说,可以通过一些辅助文档、原型之类的,来达到这个目的。
  二、对于功能的设计,都要围绕客户需求来完成。整个推敲分析过程,都不要忘记回过头来看看客户的真正需求,不要被带偏了。
  三、要收集其他涉众的需求。客户需求还是在一个比较高的层次上,或许只是个战略目标,这对需求分析人员来说很难开展工作。这有用户需求了,用户是终使用这个系统的人,他们有什么需求是很重要的。比如他们希望系统能够给工人分配工作,系统能够建议自己如何工作。用户需求往往是有利于需求分析人员进行功能设计。
  四、需求一定要形成文档,记录下来。不能说在聊天工具上确认了一下给到开发人员,必须形成文档给到相关人员进行确认。
  五、需求范围和约束非常重要。在需求反复讨论推敲的过程中,不要扩大或减少了需求范围,要考虑到系统约束。如果真的要改变需求范围,这得交给需求管理了。
  需求管理
  一、对于需求开发过程要准备什么文档,做哪些分析工作,有个什么样的过程,这些都是根据行业标准,经验总结定义出来的。需求管理者是需要检查需求开发人员是否遵守了这些定义的。
  二、拿到需求之后,需求的计划是什么,需求目前的状态是什么,这些都是属于需求管理的范围。
  三、如果客户希望需求变更,是否允许此需求变更,分析需求变更对范围、资源、进度等的影响。