在从头开始构建软件时,有必要进行详细的需求评估,并了解客户/涉众真正需要什么。
在采访最终用户、组织研讨会或直接参与软件产品编写的业务过程时,有许多非常重要的需求,它们都是“必须拥有”的需求。
在同一过程中,客户端给出了一些与软件相关的功能,但它们似乎并不能解决任何问题,因此可以说“很好地拥有”功能,例如有可能改变界面颜色,或者能够管理软件可以不受干扰地处理的一些过程。
应该有一些模式来管理这种需求。如何区分这两种特征?如何估计一个额外的特性是否会增加软件的价值,或者仅仅是扩大了项目的范围?
此外,如何让客户相信“好的拥有”功能是有用的,但并不是真正必要的。
发布于 2014-02-15 17:29:40
他们是客户。他们可以决定他们想要什么和不想要什么。让他们告诉你他们不需要什么的方法是把时间和美元的估计附加到不必要的特性上。他们很快就会意识到哪些功能对他们来说真的很重要。
在与客户签订涉及资金的合同之前,您需要知道具体的工作范围以及客户将为此支付多少费用。一旦签订了合同,就很难得到客户将要支付的金额的更改,所以您要么必须在合同中构建允许他们为价格添加功能的东西,要么限制范围,使他们在价格商定后无法添加功能。
如果你不知道工作的范围,你发现它的方法是收集客户需求,然后开发一个软件设计规范(或者你称之为“需求分析”),这样你就可以规划出满足每个需求所需的时间。每小时向他们收取准备需求分析的费用。在商定价格之前,必须这样做。
构造您的需求,以便每个需求必须通过客户指定的验收测试。如果它通过了测试,那么您将声明该需求已完成。这阻止了他们回来说:“我知道这就是我想要的,但我真正想要的是这个。”
https://softwareengineering.stackexchange.com/questions/229095
复制相似问题