如何处理客户提出的“您能否再添加几个字段”类型的请求?


12

通常,我们只需要一个客户想要的字段功能请求。这充其量只会使应用程序的代码混乱。通常,当我们在添加字段几个月后查看他们的数据库时,我们可以看到他们实际上甚至没有使用额外的字段。另外,它是一个非常老的应用程序,因此添加单个字段需要更改多个代码,更改报告,并确保它不会影响其他不需要查看该字段的客户。

  • 我们如何确保客户实际需要这些功能请求?

  • 我们如何礼貌地说“您真的不需要那个”?

目前,我们开始对某些功能请求收取费用。(以前,功能请求通常是免费的)我们还能做点什么?


随着很多牢骚和我低声咒骂>的<毕竟,他们支付我....
雷切尔

Answers:


16

他们是否为其他功能付费?如果是这样,那么是否使用它们真的不关您的事。给他们他们所支付的。但是,如果不是这种情况,则取决于您的领导层来决定他们是否愿意继续增加功能而没有额外的收入。


2
好吧,他们付钱了,但我们真的很想专注于最终将要使用的较大功能请求(这将来可能会吸引我们更多的客户),而不是大量琐碎的小请求,它们只会使代码混乱
Earlz 2011年

8
@Earlz-“我们真的很想专注于...”-我敢肯定,这不是客户关系的工作方式。这些小的要求(可能会给客户带来巨大的价值)是您开始从事较大工作的价格。他们需要一个能够对自己的需求做出回应的供应商,而不是由谁来挑选。解决该问题的方法是对它们进行公平定价,但要指出的是,将它们捆绑到较大的发行版中具有成本效益(减少回归测试等),并尝试使其更具吸引力,以这种方式进行处理,但是您不能挑选。
乔恩·霍普金斯

2
传统的做法是,如果您可以通过减少5%的客户来减少50%的成本,那是很好的交易。这些自定义领域真的是汗水多得很少的报酬吗?
9000

5
对于开发人员而言,软件开发的趋势很差,因为它既不酷也不有趣,他们不想做客户想要的事情。我们的开发人员倾向于将我们自己的幸福摆在几乎所有人的眼前。但是,这与我们的乐趣和享受无关。关于客户。客户是付款的人,最好让他们满意。如果您要编写可定制的软件,这是工作的一部分。
约翰·卡夫

3
@Wayne M感谢您展示我所指的态度。客户可能不了解技术,但他们通常不是白痴。通常是开发人员不了解业务需求。此外,如果添加功能损害了应用程序的完整性,则表明应用程序设计不佳。
约翰·卡夫

3

我们也有类似的情况。我们处理方式是建立基于信任的关系,这使我们可以自由地说“您不需要此”。这需要时间,宽容,您必须准备好多说话,并准备午餐和其他无聊的工作。从长远来看,这些无聊的会议将为您带来回报,您可以集中精力创建真正重要的功能。

交谈还将使您了解他们的要求是否真的那么重要。


3

我认为您无法进入“您真的需要吗?” 与客户争论。我个人想问:“这将如何使您的公司赚更多钱?” 但事实是,有些经理出于某种原因想要跟踪它,他们习惯了自己的方式。如果您不想这样做,请拒绝或收取大量金钱以阻止该请求。

开始考虑使您的应用程序更轻松地处理大量客户字段的方法。

  1. 允许客户设置报告和表单中的标签以利用现有字段。
  2. 将通用字段(String12)添加到现有或其他自定义字段表。
  3. 有一个用户定义的现场系统,所有这些都由数据输入来处理,而不必在表中创建新列(我不记得这叫做帮助)。

您可能会发现现有客户的系统规模已无法满足需求。行业可能正在发生变化,因此出现了新的要求。

抱歉,但是如果您不能纯粹出于技术原因而不是从利润上不能向客户提供他们想要的东西,则需要加快步伐。新来者进入更多领域的市场并不难,所以不要让这种情况发生。


3

从窗口的另一侧看了一会儿,在我的上一份工作中,我接触了一个ERP系统,该系统允许最终用户将“自定义”列添加到任何实体/表中。从我与之的简短交互中,看起来他们好像是通过一对一映射将列动态添加到第二个表中。例如:

具有静态列的WIDGET表:

  • WIDGET_ID
  • WIDGET_NAME
  • WIDGET_COST
  • 等等

WIDGETCUSTOM表具有用户可定义的列:

  • WIDGET_ID
  • WIDGET_WEIGHT
  • DID_BOB_WORK_ON_WIDGET
  • 等等

WIDGET_ID列可以将它们绑在一起。当您编辑窗口小部件时,它会自动显示您的其他字段,您可以将它们包括在动态报告中,甚至可以通过它们进行搜索。这是相当有效的,因为数据库仍可以跟踪它们并在必要时为这些列建立索引等。

从编程的角度来看,我知道这将如何使其保持理智。每个客户都可以拥有自己的自定义列,但是这些自定义列不会干扰您的核心逻辑。


该应用程序过于复杂,无法在不进行大修的情况下添加此类功能。因此,此解决方案已经淘汰(但计划在有望在一年内进行的主要版本更新中)
Earlz 2011年

1
如果您可以在一年内解决这个问题,那有什么大不了的?
JeffO

@Jeff一年,假设我们不会在此同时被这些功能请求所
困扰

1

功能“请求”就是请求。如果他们提出了要求,那么您需要确定公司用它来“整理”代码库的价值是多少。如果这成为一个地方性的问题,那么您可以采取措施,但是如果他们愿意支付您所要的价格或接近它的价格,而且这只是这里和那里的几个功能,我说这是省钱的。

更进一步,如果这是您的产品中经常遇到的问题,并且有多个客户正在寻找此类定制,那么也许该是时候重新考虑应用程序的这些部分,并使其灵活地以使客户有权执行此操作的时候了本身,例如临时报告,灵活的数据收集等。尝试将这些烦恼变成卖点。“我们的库存数据模型对您来说还不够好?请查看我们的自定义选项!您可以自己做!”


2
记住,每一个问题的背后都有机会提出解决方案,然后将其出售给某人;)
MattC 2011年

0

您应该确切地说明要在所述功能中执行的操作,并花费估计的时间来构建它。如果客户想要额外的字段,请为此付费。我告诉我的客户,如果您要在构建功能之后添加功能,那很好,但是在某些情况下使用它们会花费更多。

我很难理解您为什么关心他们是否使用它。很简单,您可以建立他们想要的东西,然后为此付费。

代码基础混乱?如果在使用新功能时需要重构代码,请向其收费。


0

创建您考虑添加的几个功能的列表,包括添加“仅几个额外的字段”。向您的客户显示该列表,并要求他们提供有关他们首先想要的客户的反馈。说明您的资源有限,并且无法一次完成所有操作。使用反馈来决定应用程序的发展方向。

如果客户坚持要求一些额外的领域真的是重要,你还是决定不加入他们,希望客户仍然可以看到你正在实现,而不是功能的好处。


0

听起来您可能会从某种拉动系统中受益。让用户选择下一步要实现的功能,但限制在任何给定时间可以开发的数量。看板板对此非常了不起。它可以赋予用户优先权过程的所有权(也减轻了您的负担和压力)。相信我,如果用户被迫决定将下一个功能投入开发,同时又知道其他请求将被搁置,那么他们将投入更多的钱来真正确定他们需要的东西。


看板方法仅在您可以访问发生问题的Gemba时才有效。在物理空间中,与正在工作的人交谈,看着他们向您展示他们的工作方式。用眼睛看,用手指触摸。然后,直到那时,尝试找出如何改进它。并询问他们如何改进它。
Christopher Mahan

@Christopher-采取了观点,但可以肯定地可以对系统进行一定程度的修改。也许忘了看板,但尝试保留拉动系统的想法。不管它具体如何工作,用户都必须有某种方法来确定任务的优先级,并选择在持续开发的环境中下一步要做的事情。开发人员无法真正知道下一步需要完成哪些功能。
Morgan Herlocker 2011年

1
Ironcode,你是对的。我在美国银行工作,我们的团队让业务部门通过bugzilla错误优先级对功能请求进行优先级排序。他们提交错误,然后对错误进行优先级排序。他们可以随时更改优先级,我们会进行调整。是的,有时会产生转换成本,但是我们发现它对企业更有效。请注意,这对于原始海报可能不起作用,因为管理层可能针对其客户制定了目标。(顺便说一句,这种管理方法似乎被误导了)
Christopher Mahan

0

我认为您应该要求您的客户让您中的一个或多个人度过“在办公室里度过一天”,看看他们如何真正使用该软件...等待...雇用我每小时250美元,我会找到答案的。另外,请不要请镀金。使它工作。大多数企业都不会在意效果良好时看起来很难看。


我们已经做到了。这就是为什么我们知道何时不使用功能请求的原因。
Earlz 2011年

嗯,那么,客户公司中发生了政治斗争。你完了。或者,您也可以将牛排扒和剥。
Christopher Mahan

0

跟踪请求。正如您所设计/开发特点,挑选优先要求极少数在该版本中包含。


0

为请求建立标准的协商系统。也许是基于bug报告或功能请求系统的东西,例如fogbugz。允许您的客户提出请求,并根据以下内容确定优先级:

  • 功能的技术可行性/成本
  • 功能要求“付费”吗?如果它在合同中,并且/或者他们已经付款,则将其放入
  • 该功能“有意义”吗?这有点技巧,但是通常来说,如果有足够的客户要求某项功能,则可以免费实施。这是一个机会,可以使您的产品变得更好,并使销售给下一个客户更容易
  • 您是否有未使用的,有偿的可用周期?如果您在合同中包括一组每月的维护/支持小时数(即使数量很少,我也强烈建议您这样做),并且它们没有被使用,请着手进行此类更改

0

如果客户拥有该应用程序的全部所有权,请执行他们要求的操作。让他们吹钱;是他们的。

但是,如果您不这样做,那么您想针对这些辅助字段寻求解决方案,其中涉及将其存储在核心数据模型之外。然后,您可以使用数据库视图之类的功能来合并该特定客户的额外字段。(有几种方法可以进行辅助存储,这取决于要存储的数据的性质;最简单的方法是具有与主表中某些PK相同的主键的表,但是使用时效率低下字段非常稀疏。只有当他们想要字段的功能需要索引等功能时,这才是真正的问题。)

您也可以推迟客户的要求,说您在此阶段没有足够的资源来实施他们。如果到那时您指出路线图(您的最佳估计),才有可能廉价地实现他们想要的东西,那将真的有帮助。而且,您应该优先考虑使应用程序进入可以廉价支持功能的状态,因为该元功能已成为您主应用程序的核心销售功能。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.