什么是需求呢?需求是产品必须完成的事情以及必须具备的品质。需求存在的原因要么是该类型的产品要求一定的功能需求和品质,要么是客户希望需求成为提交的产品的一部分。需求又分为功能性需求和非功能性需求,功能性需求是产品必须完成的那些事,即为了向它提供有用的功能,产品必须执行的功能,功能性需求源于产品存在的最基本理由。这类需求指的是如果产品要在给定的用户业务背景下有用,就必须要完成的事情。非功能性需求是产品必须具备的属性或性质,在某些情况下,非功能性需求对于产品的成功是至关重要的,有时它们作为需求的原因是为了增强产品。非功能性需求一般跟在产品功能的后面,也就是说,一旦我们知道了产品要做的事情,就可以确定它的行为方式,它需要具备什么品质以及它应该多大和多快。
需求过程是没有终点的,当产品已经提交,用户开始使用了,演进过程就开始了。当人们使用产品时,他们发现了新的用途,希望产品得到扩展。这就提出了新的需求,从而又进入了同样的需求过程。正因为产品自身有一个演变过程,你可能会选择先构造一个包含较少功能的早期版本,然后通过计划一系列的发行版本来增加它的功能,这样产品就演进了。需求过程的这种演进的本质在我们设计该过程时是考虑在内的。
同时也请注意围绕该过程的人。这些人为该过程提供信息,或从过程中接收信息。这些人是一部分风险承担者。风险承担者是指那些在产品中拥有既得利益的人。他们参与需求过程,同时在该过程范围之外还有别的任务。例如。有些风险承担着作为用户参与到网罗需求的过程中,向你提出需求。另一个风险承担者是你的客户,他告诉你产品的业务目标并为开发承担费用。
需求过程不仅仅考虑你从头开发的新产品。在今天,绝大多数产品的开发目标是增强已有的产品,或对已有产品和产品系列做一次主要革新。今天很多的开发工作涉及到商业上架销售产品或其他类型的组件。不论你的开发方式如何,对最终产物的需求总是需要的。