软件开发:客户需求不明确,功能不明朗,怎么办?
发布时间:2024-05-17 01:00

敏捷开发通常专注于客户的需求,而这些需求本质上只是业务功能。如果你的产品是关于被许多人认为“不令人兴奋”的功能(例如质量、风险控制或基于新法规的功能),你可能会得出结论,敏捷不适合你。

在本文中,我们将提供为什么在没有特定客户的情况下,敏捷的工作方式仍然可以产生良好的结果。

什么是“不令人兴奋的功能”

“不令人兴奋的功能”通常是一种“非功能性需求”产品,例如几乎没有人知道的后端功能,甚至没有明确而具体的使用者,但它是政府或监管机构所要求的。换句话说,由于某种原因,它是必不可少的,但它的价值不容易被许多用户识别,至少乍一看不是。

方案示例

想象一下,你正在为一家银行开发一个交易应用程序,有一个新的法规刚出台,你必须在即将到来的截止日期之前让程序符合它的规定。

除了描述新法规的一堆文档外,还没有人使用过它,因此也没有直接的客户反馈,而且也没有办法从监管部门获得反馈。似乎这还不够挑战,你系统的用户对业务功能更感兴趣。对他们来说,监管功能是“非功能性需求”之一,而不是他们愿意直接支付或花时间做的事情。然而,不遵守新规定意味着该银行可能会失去经营此类业务的许可证,因此必须遵守。

该法规描述了需要实现的目标,但未描述技术解决方案应是什么样子。因此,需要创造力才能最有效地将新法规嵌入到你现有的解决方案中。此外,新法规还不是最终版本,因为立法者在定义新规则的同时仍有可能根据现实情况不断调整。因此,在截止日期前不但要快速做出符合需要的系统,而且这个系统还要随时能够根据立法者的修订而更改……

这是个典型案例,现实中的“非功能性”需求往往出现在安全性领域或技术基础设施的法规,如电信或能源行业。

挑战:不明确的客户

这类“非功能性”需求,不仅缺乏客户反馈和互动的情况,而且没有人有动力投资这些功能,因为没有明显的直接客户利益,或者,换句话说,开发这些功能不会提供积极的商业价值,但如果不做,就会提供负面的商业价值。

如何在这样一个看不到特定客户的环境中保持敏捷性的活力?或者敏捷可能不是最适合这种情况的方法?

“非功能性”需求通常基于社会的期望或需求,没有任何特定的客户来指定需求,那么也很难理解所需的交付价值是什么,或者如何为客户创造优势。社会由机构代表,这使得“客户”协作非常正式、间接、不生动,不明确。缺乏可访问的客户给个人、团队和企业带来各种挑战:

个人和团队

首先从个人的角度来看这种情况,你可能会面临这样的挑战,即创造的价值不被欣赏,因为它不可见。从团队的角度来看,没有合适的客户/用户可以与之交谈。这使得需求定义模糊,又很难获得反馈,很难理解要构建什么,也很难保持动力和团队凝聚力。

企业视角

从公司的角度来看,创建和保持业务可能也很困难,因为如前所述,人们不会为不令人兴奋的功能支付(额外)费用,但不做又不行。因此,公司必须从长远的角度出发,不能指望马上获得回报。

因此,“非功能性”需求,通常被视为非增值性需求。在这种情况下,企业会试图尽可能方便地摆脱这种情况,同时只做需求明确的事情。

总之,团队和个人可能会因缺少客户反馈而面临激励问题。而企业在努力满足客户、承担社会责任的同时,也面临着投资回报不足的问题。 

主动聚焦消除客户的模糊性

个人和团队

首先,为什么个人和团队想要与客户互动有三个主要原因:

▎我们想知道(表达或未表达)的需求是什么。

▎我们希望获得有关我们是否成功满足这些需求的反馈。

▎我们从上述两点中得出我们的目标和附加值,从而获得我们的动力。

第一点很清楚,通常在许多“非需求性”功能的说明文件或法规中有描述。

因此,关键是第二条,即如何获得反馈。如果没有明确的客户或使用者,你仍然可以这样做——要么与代表社会/客户的机构合作,要么至少是你自己可以主动出击。

例如,反馈不仅来自客户,还来自技术、测试、协作或集成,这种反馈还有助于降低开发错误功能的风险。因此,即使没有直接接触客户,主动寻求和搜集反馈以降低风险也是至关重要的。

对于某些人来说,没有可访问客户的敏捷开发被认为没有足够的动力。对另一些人则可能恰好相反。人们会受到不同事物的激励。有些人天生热爱献身于更抽象的事业,并不排斥与机构合作。因此,让团队中的这些类型的人参与进来(当然包括领导者)。

此外,你可以通过强调社会事业的重要性和目的来增加动力。热情地口头表达,沟通和促进这一目标。

企业视角

让我们重申一下为什么企业需要客户互动:

为了生存,投资回报率(ROI)对公司来说很重要。而公司的存在,是建立在满足客户需求的能力之上的。因此,投资回报率是满足客户的结果,而不是其自身的目的。从这个角度来看,实施那些“非需求性”功能,例如通用数据保护条例(GDPR)合规性,变得至关重要,因为不这样做可能会危及整个业务。

在GDPR示例中,客户是模糊的,但你为整个社会而不是特定客户创造了价值。因此,挑战在于,你不像通常那样在企业对客户或企业对企业的环境中工作,而是在“企业对社会”的环境中工作。那么,在没有任何直接的反馈的前提下,你怎么知道你正在开发正确的东西呢?你仍然需要了解社会中围绕这个问题的一切信息,因为这将使你能够理解它的真正价值(或者,更确切地说,完善你对它的价值的理解)。你现在的价值创造选择如下:

基于“生存”内化其价值。如:此功能能够减轻每个人的风险,提高安全保障或社会附加值。如果不实现此功能,则会出现威胁;企业甚至可能失去其经营许可证。

自觉创建功能价值和商业模式。仅仅因为没有人看到,就忽视功能的价值是不专业的借口。不要仅仅因为似乎没有积极的商业模式就跳过创建可靠的功能价值。相反,使用这个价值主张来制定营销策略和内部动机。

帮助管理者从不同的角度看待“非需求性”功能。向他们展示这些功能具有自己的营销能力。营销力量在于声誉、品牌价值和道德商业行为。

在内部使用你的营销策略,让人们可以对自己的工作如何为社会做出贡献而感到自豪。

创建不同的角色,使“客户”不那么模糊。对于将要开发解决方案的工程师来说这样会更加真实。启用创建角色后,确保与团队中各个组通信,以弥补具体客户端不可用的情况。

最后是商业态度——成为客户值得信赖的合作伙伴。分享客户的价值观,并且表明你正在为社会做善事。例如,品牌管理是努力向市场和客户辐射这种“内在”态度。因此,与其犹豫不决地遵守监管,开发“非需求性”功能,不如通过强调更高的(潜在的道德)价值观和通过实现这些不令人兴奋的功能所获得的更大利益来拥抱它们。这使你的公司对客户更具吸引力,并最终带来更好的投资回报率。这种长期的投资回报率对整个企业都有影响,而不仅仅是对你正在开发的特定产品产生影响。

对“不确定”,敏捷更适用

创造价值是成功企业的基础。当客户角色模糊时,例如,当客户是整个社会时,首先,当你在不确定的环境中创造价值时,更需要敏捷的方法。其次,一个挑战是动机,另一个挑战是如何获得反馈。事实上,敏捷方法可以同时解决这两个问题:通过使用小增量来提供反馈,并通过让那些热衷于为社会服务的人参与进来以激励团队。

同时,你需要改变你的态度并重新构建你的想法:与其拒绝那些不令人兴奋的功能,不如把它们当作一个为社会服务的机会,从而提高你的(社会声誉)投资回报率。

服务热线
在线咨询