????????在日常进行功能点估算时,我们经常遇到难以量化的需求,如用户体验,界面设计等。这些需求如果估算处理不当,往往会造成估算时间长、估算不准确等问题。这些问题往往对项目管理和决策以及项目地顺利开展产生较大影响。
????????那么针对这类需求我们该如何估算?一般从以下6方面进行:
????????1、定义和分解需求、功能点
????????我们需将难以量化的需求进行明确的定义和分解,将需求分解为更小、更具体的子需求,以便更好地理解和估算需求。
????????这就需要明确产品的功能点,这通常涉及到对产品的每个功能进行详细的描述和分类。例如,对于一个电商平台,可能的功能点包括商品浏览、购物车、下单支付、订单管理、个人中心等。
????????2、评估复杂度和计算功能点数
????????需要针对每个功能点,尤其是难以量化需求的功能点,评估其技术复杂度,即对功能的实现难度、数据处理复杂度、安全性要求等因素进行考量。因为对于一个需要处理大量并发请求的功能,其复杂度可能会高于一个只需要简单数据存储的功能。
????????根据已定义的功能点和复杂度,计算每个功能点的程度差异数值,进而获得总的功能点数。我们可以设定一个函数,将功能点的复杂度作为参数,返回一个对应的功能点数值,然后将所有功能点的数值相加,就得到了总的功能点数量。
????????如CoCode软件成本造价工具,就是通过调整功能点值(复杂度、修改类型、复用程度)、设置调整因子(软件估算时机、软件因素、开发因素)和调整非人力成本,多角度多层级地调整影响因子,从而能够更精准地自动估算项目规模、工作量和产品报价。
????????3、类比估算
????????类比估算法是一种估算软件项目工作量的方法,它是从用户视角出发,通过量化系统功能来度量软件的规模。
????????即通过将待估算项目的部分属性与高度类似的一个或几个已完成项目的数据进行比对,并进行适当调整后估算难以量化的需求。如果有类似的功能已经实现过,可以根据实现过程和工作量来估算。
????????类比估算法的优点是操作成本低,参考值更多地参考实际操作的数值。然而,类比估算法的缺点是难以通过流程来标准化,存在偏差。
????????4、专家评估
????????我们可以请相关领域的专家对难以量化的需求进行评估,他们可以根据经验和知识来估算功能点。
????????专家一般会对需求进行分类和拆解,根据其经验和知识,对每个功能点进行估算,以确定工作量。其在进行功能点估算时,除了考虑功能点的数量外,还需要考虑到功能点的复杂性、重要性等因素,以确保估算的准确性。但在具体的执行可能会因项目的具体情况和专家的经验有所不同。
????????5、原型验证
????????我们可以通过创建原型或模型来验证难以量化的需求,然后根据原型的复杂程度和实现难度来估算功能点。
????????原型验证是一种常见的用户测试方法,可以帮助我们快速验证已有概念、假设是否有效,以最小的成本验证真实需求。而功能点估算主要依赖于对需求的理解和分析,因此我们在进行功能点估算时,可以通过原型验证,帮助我们更好地理解需求和验证设计,从而有助于更精准进行项目估算。
????????6、考虑用户体验和用户测试
????????在进行功能点估算时,需要充分考虑用户体验和用户测试的结果,因为它们可以帮助我们更好地理解用户的需求和期望,从而提高产品的质量和用户满意度,进而有助于功能点估算的准确性。
????????对于一个需要用户长时间等待的功能,其复杂度可能会高于一个只需要用户短时间操作的功能,尽管后者的技术实现可能更为复杂。因此需重视用户体验,另外还需要进行用户测试,以验证产品的可用性和用户满意度,并根据反馈进行优化。
????????在我们进行功能点估算时,还需根据产品特性和项目需求进行适当调整。同时,功能点估算并非一次性活动,而是需要随着产品的迭代和改进持续性跟踪和更新,通过迭代和反馈来逐步细化需求和估算功能点。