开发人员应如何拒绝不可能的要求?[关闭]


74

这是我面临的问题:


来自项目经理的报价:

嘿Spark,我正在为您分配开发可用于许多不同iOS应用程序的框架的任务。要求如下:

  • 它应该能够检测用于操纵UI的拇指或手指的粗细。
  • 有了这些信息,UI的所有元素都应该自动排列和调整大小。
  • 对于较大的拇指,应将元素排列在靠近屏幕中心的位置。
  • 对于较小的拇指,应将元素布置在屏幕的角落附近。
  • 对于较大的拇指,所有字体都应较小。(在这种情况下,我们假设是成年人。)
  • 对于较小的拇指,所有字体都应较大。(在这种情况下,我们假设年龄较小。)

摘要:

该框架对于以编程方式创建用户友好的用户界面是必需的。框架的开发方式应使我们可以根据需要用于许多项目,因此它也必须对开发人员非常友好。


我是承担此任务的开发人员,所以我的问题如下:

  • 我怎么能解释这些要求有点荒谬?
  • 我该如何解释,集中精力开发实际项目会更好?
  • 我怎么能解释,即使这是可能的,我也不建议开发这样的东西?
  • 我如何礼貌,温和,礼貌地对这个项目说不?
  • 我如何解释,即使对于具有3年经验的开发人员,这也可能无法实现?

7
并非所有这些要求“愚蠢”,您都会获得很多布朗尼积分,并避免最糟糕的“否”。说明iOS设备不支持这种功能。
Ramhound

26
How do I say politely, gently & respectfully NO to this? 为了给您的老板一些控制权,我应该给您另一条建议,您应该始终让他们得出自己的结论。如果他们命令您,请不要拒绝,请解释事实并讨论问题。尝试让他们意识到他们的请求多么愚蠢,因为他们可能不知道详细信息。他们可能会认为这是一个愚蠢的主意,给您一个不同的任务,您再也不必拒绝。我从不说“不”,我一直都在愚蠢的要求,这是从来没有发生过的。
maple_shaft

151
我认为您抱怨的部分要求是他们称您为Sugar。然后我看到了您的用户名:)
Goran Jovic

6
切记“观察到的”手指大小会随着他们握住设备的方式而改变的事实。并借给人们吗?移动按钮是可怕的,而不仅仅是从客户的角度来看-您应该如何为此提供合理的支持(按钮不在标准化位置)?以及如何定义“较大” /“较小”的拇指以及与年龄的关系?女人往往比男人小(手少)-您的应用需要知道性别吗?随着年龄的增长,光学问题趋于恶化,而不是恶化。
Clockwork-Muse

13
让我们尝试检测手指的皱纹比例,以帮助猜测年龄。然后,当您的大手指具有较高的皱纹比例时,您便有了一个需要较大字体的老人。而且,当您的小手指的皱纹比例高时,您刚洗完澡就会生一个孩子,并且会发一个错误,告诉他们这是上床时间,而不是iPhone时间。
music2myear11年

Answers:


102

如果由于设备不支持并且无法支持所需的功能而获得了一套物理上无法实现的需求,则需要向创建需求的人员进行解释。

您应该尊重并解释为什么无法实现这些要求(即触摸屏无法区分拇指,手指或手写笔。它没有足够的分辨率来检测手指的宽度。)-保持事实,指向现有文档(如果有)。

不要陷入任何形式的情感争论,保持冷静和专业。对任何人说他们的要求很愚蠢从来都不是成功的策略。

看看您是否可以了解该功能的实际目标-为什么将其视为一项要求。这可能会导致您找到另一种更好的功能来解决需求。(感谢@spoike)

@ DarkStar33在评论中建议进行研究,并提供一个实际的估计,说明该项目将耗资多少以及将花费多长时间,并假设结果将是太昂贵和冗长而值得。配备数字和支持它们的数据无疑可以帮助您解决问题,尽管我仍然会研究业务目标,以查看是否可以(甚至部分地)以另一种方式实现它们。


31
+1保持事实,也让项目负责人说明此功能具有的实际业务目标,以便可以使用另一个更好的功能和解决方案来挽救它。
Spoike

8
@Spoike "have the project lead explain the actual business goals"是个好主意,即使他们不知道如何要求,也要给他们他们想要的东西。
StuperUser 2011年

2
在这种情况下,假设目标是使视障人士可以访问该应用程序,则可以通过其他方式更轻松地解决该问题。例如,让用户在他/她首次启动应用程序时(稍后再通过应用程序的首选项)选择是否要使用更大/或更小的文本。用手指的大小来确定年龄和视力障碍相当困难,甚至在UX方面也可能会遇到问题(例如,老人和小人与年轻人和大人)。
Spoike 2011年

2
@汤姆我不认为这是可能的......我的奶奶在时代长大,打电视是修复一个有效的方式..
Izkata

5
作为产品经理,我可以断言:1)保持事实性很重要,但2)提出关于他们真正想做什么的问题将有很长的路要走。如果他们相信您了解他们的需求,那么他们将对您要告诉他们的一切更加开放。
Taj Moore

30

这些要求不是愚蠢,愚蠢或荒谬的。对于触摸屏用户来说,这实际上是一个非常重要的问题,手指较大的人很难确定目标,这通常是小手指无法理解的。

但是,如果您发现由于设备的传感器无法测量手​​指大小而无法实现此要求,则只需简单地编写以下内容:不幸的是,当前可用的设备不支持此类功能


我同意客户的需求永远不会愚蠢,我们不是在争论这一点。我们认为,提出需求,项目计划并将资源专用于尚未原型化的项目是愚蠢的。
maple_shaft

11
好吧,对不起lechlukasz,但是这次我认为他们实际上是愚蠢至极。即使平台暴露了触摸屏上按下的椭圆形,从而可以计算质心,基于手指厚度的动态UI的想法还是有点“异国情调”。作为用户,我不想仅限于每次会话只能使用一个手指,而是希望一次可以用手指,电容笔甚至其他部分来按屏幕身体,如果我感觉如此XD。
史密斯先生

@maple_shaft-似乎此功能列表仅足以创建原型。
JeffO

1
我同意这实际上将是一个有用的框架,并且,如果没有用的话,那就非常酷了-在苹果世界中可能更重要。您只需要一个“校准手指大小”小部件,其余的就应该放到位。
James Anderson

1
我认为您可以使用当前技术来做到这一点。您需要一个特定的应用程序来校准手指的大小并静态存储它,而不是设想的完全动态的测量,否则它是可行的。Windows多年来已经根据屏幕大小定制了其窗口和图标,因此这一方面众所周知。
James Anderson

16

我将在这里扮演“魔鬼的代言人”,并说我认为测量一个人的拇指大小实际上在技术上是可行的。iPhone是多点触控设备。为了进行校准,您可以指示用户将拇指或两根手指并排放在屏幕上,并测量这些触摸之间的距离。

当然,这需要进行测试和实验才能了解我的直觉的可行性。也许必须在屏幕上拖动拇指才能获得更好的阅读效果。

也就是说,存在严重的可用性和实施​​问题。

  • 如果共享设备怎么办?何时校准?
  • 你怎么能动态地确定的UI元素的位置随意跨越与框架构建的所有应用程序?显然,每个应用程序都有不同的UI和不同的布局。
  • 一项对当前iOS应用程序的简单调查显示,设计良好的应用程序会使用所有可用的水平空间,并且已经使用了空间元素,因此重要的按钮应尽可能大并放在边缘附近。显然,设备的整个宽度用于列表和布局。
  • 即使有可能,成本/收益分析是什么?与标准的UI控件相比,从这种系统中可以获得多少收益?像许多已经使用的应用程序一样,具有简单的字体大小切换控件会不会更容易?

12

您要做的是认真对待它,然后返回一个估计要花费多长时间的估计,并确保估计值非常高且非常详细,这样他们就不会对较高的数字提出异议。一旦您证明了这样做并不经济,他们将让您独自一人。请确保指出硬件目前不支持特定任务,并且可能无法执行。别忘了为任何类型的专家增加成本,您可能需要数量更多的人来完成这个规模的项目。


2
是的,这是正确的方法。永远不要说“不”。只需分析问题并提出可行的解决方案以及时间估计即可。那么,改变iO来动态计算手指宽度的时间估计是多少?大约10个OS开发人员可能需要2年的时间。有你的估计!:)
Stephen Gross

在这种情况下,您必须与Apple达成协议,这意味着将其提及法律以及软件开发范围之外的所有事物。在这种情况下,我想说的是:“鉴于我们无法控制的硬件限制,这是不可能的。我们将需要与Apple进行谈判。”
deworde

1
@deworde-我讨厌20年前的“不可能”这个词,人们认为一个伟大的事情是“不可能”的,怎么说“目前使用提供的硬件是不可能的”。
Ramhound

@Ramhound他们是您的业务规划师,而不是您的孩子。不要为他们加糖,以保护他们的希望和梦想,使需求脱离SPEC
deworde 2011年

1
再加上2年的时间,100名硬件工程师和5000万美元的研发实验室发明了可以出售给Apple的硬件,据您估计,是可以做到的。
2011年

11

苹果公司的人们已经深刻地想到了所有这些问题,他们并没有根据拇指/手指的大小来设计可调整大小的界面。

作为用户,我讨厌手指移动目标。


2
当要求我为设计不良的Access数据库编写通用元查询时,我使用了此参数。(IE一个系统,任何用户可以随意查询什么,而不必使用查询生成器),我说:“如果这是可能的,微软会做它,他们会到处做广告吧。
克里斯Cudmore

@chris:这就是我在任何时候想要有人做的全面报告向导的意思。如果可能的话,Access可能早在90年代就已将其恢复
Neil N

4
-1,“因为苹果没有这样做”不是一个不尝试新事物的好理由。这可能是一个非常愚蠢的想法和/或在物理上是不可能的。或不。但是我不知道如果他的老板们愿意花费资源的话,尝试这样做会有什么危害。
GrandmasterB

2
@GrandmasterB-我的猜测是苹果做到了,然后拒绝了。无论如何,一点常识告诉我们,从可用性的角度来看,这远非舒适。我不需要有这样想法的老板。
mouviciel 2011年

10

如果您担心因为无法满足需求而麻烦,那么最好的选择就是立即告诉他们这是不可能的。您让他们在不可能完成的项目上制定业务计划的时间越长,他们越有可能将失败归咎于您。

首先,尽量不要担心不是您的错的事情,我们所有人都有足够的担心我们确实有控制能力。如果有人要您对此类项目失败负责,那对您是不公正的。你相信业力吗?


是的,我确实相信KARMA吗?:)
Sagar R. Kothari

1
@糖我也是!如果他们不听你的话,他们就会失败。
maple_shaft

不要说不可能,就是说操作系统不提供此信息。由于在iOS应用程序中,您只能使用公共方法,因此仅限于操作系统正式支持的内容。如果可能的话,他们会将其提供给框架,因此用户甚至不会质疑这一要求。
Ramhound

8

转移不合理请求的一种方法是帮助客户了解他们要解决的问题的性质。通过俗称“ 弹出为什么堆栈 ” 的计划采访技术,您可以继续递归地询问“为什么”(以礼貌,智能的方式):

巴雷特称之为弹出“为什么”堆栈的一种重要工具,既可以促进沟通交流,又可以“追逐”特定问题。这只是在继续问“为什么要那样做”这个问题。关于项目要求。他举例说明了该技术可以发掘的东西:“我曾经与一位客户合作,要求在流程的特定阶段打印出数据,所以我问为什么。” “答案是,部门收到了键入所需的数据。他们从未想到过可以将数据自动传输到他们的应用程序中。”

目标是获得该功能的核心业务价值:

  • 保护收入
  • 增加收入
  • 管理费用
  • 增加品牌价值
  • 使产品脱颖而出
  • 为您的客户提供更多价值

(来自黄瓜 Wiki的项目)

如果该功能不适合这些类别之一,则可以帮助客户了解有更多重要的事情要关注,或者通过这种思考过程,您可以向他们建议如何解决他们的问题。重新尝试以更有意义的方式解决。通常,真正的问题是比他们要求您解决的问题更高的抽象层次。

要使用扫描拇指大小的示例:

客户:我们要检测用于操纵UI的拇指或手指的粗细。

开发人员:您为什么要这样做?

客户:因为当我尝试点击这些小按钮时,我经常碰错东西,而我们的软件却被很多像我这样大手大的建筑工人所使用。如果他们可以根据手指的大小来校准UI,则将使其更易于使用。

开发人员:易用性对客户肯定是有价值的,但是为什么他们要校准UI?如果已知使用此工具的人很有帮助,为什么不针对该用例调整设计?

客户:我从来没有想过这种方式,我想更干净的设计也同样适合手小的人!


4
+1对于弹出为什么堆栈并引用:Often the real problem lies at a higher level of abstraction than the problem they've requested you to fix.
Spoike

7

免责声明-我不知道您的请求是否可行,如果可能,那么您需要确定将花费多长时间并将该反馈提供给您的经理。但是,我在假设不可行的情况下(至少使用标准框架)编写了这个答案,并且我将答案扩展到更实际的情况,即您确实不能或不应该做某事。

拒绝吧。

此主题中有很多“永不言败”的答案,我认为这是一种柔和而顺从的态度。这样考虑吧-我是该团队的技术专家,而我的其他团队成员正在尝试做一些我认为不可行,过于复杂甚至可能无法实现的事情。我的责任是拒绝。

我当然可以并且应该轻声拒绝。我可以在“拒绝” 之前提出“调查是否可能” 同时“强烈反对” 。但是我最终会说不,因为那是我的工作。

有很多这样的类比

  • 我的会计师,我希望您放下我的感恩节晚餐作为减税措施
  • 厨师先生,我希望我的鸡肉过夜放在柜台上,然后生吃。
  • 我的律师,我要起诉我的孩子不收拾他们的卧室
  • 机修工先生,请在我的电动车上安装涡轮增压器

您可以要求所有这些人执行他们认为愚蠢,浪费,危险或错误的任务。您会希望他们所有人都建议不要采取这些行动,并最终拒绝(至少我希望如此)。如果这些专业人员中的任何一个回答“嗯,我想我们可以做到”,而没有直截了当地说“这是一个坏主意”,那么坦率地说,我还是不想雇用他们。

您的同事将珍视并尊重您的诚实,如果您提供有用的反馈而不是坚持不做自己知道的事情,那么您将为每个人节省很多时间和金钱。


2
注意:我正在解决“开发人员应如何拒绝不可能的要求”这一问题。
Kirk Broadhurst

给您更多的力量。
ThomasX 2011年

2

告诉您的客户您不能实现目标平台所不允许的功能应该不难。但是退后一步,问问自己,这些相当荒谬的要求背后的逻辑是什么?从我的阅读中,他们非常关心用户友好性。然后问他们,再深入一点,直到他们对您说同样的话:“我们想要一个用户友好的界面”。然后引导他们了解可行和不可行。告诉他们,如果他们想要简单的用户界面,则可以使用简单(且更便宜的方式),例如让用户设置字体/图标大小(我认为我可以在IoS上使用)。也许您可以让用户通过设置选项卡来控制应用程序的字体大小/图标大小和排列方式?这比尝试用拇指大小猜测一个人的年龄要容易(而且更准确!)!经理想要的最后一件事是不必要的、,肿的,难以维护的代码,可以实现与操作系统已经提供的相同的功能。告诉您的客户,用户宁愿控制应用程序,也不希望应用程序以可能激怒他们的方式控制他们。


1

我的回答是,我将开始研究其中一些未尝试的技术,并让他们知道是否有可能。基于这些发现,可以启动潜在的开发计划。

我认为您无法从别人那里分辨一个人的拇指,但是您也许能够从手指上获得足够的尺寸,以知道他们何时使用拇指。真正的问题是由于拇指的角度,它可能无法触摸屏幕上的其他空间。没有人会用拇指使用手机并将其平放在屏幕上,就像您正在打印拇指一样。

离开公司 弄清楚该怎么做。卖出比现在更多的钱。


1

当涉及到需求时,我通常是这样做的:我尝试估计实现特定需求需要多长时间。

如果可能无法达到要求,请询问几天或任何时间以找出是否可能。在您的情况下,问题是:“是否可以确定用户手指的粗细?”

实际上,这个问题甚至更加复杂:“是否有可能确定第一次触摸后不到200毫秒的用户手指厚度,以便立即进行交互?” (首先替换为2nd或...;然后将200 ms 替换为300 ms或其他...)

甚至回答这个问题都需要一个月的时间。也许即使这在某种程度上是可行的,它也需要一种超级复杂的算法,该算法仅在80%的情况下有效。

你知道我要去哪里吗?

人们经常对可能性做出错误的假设,因为他们对相关领域的专业知识和经验不足。因此,您不能凭直觉争论,但您需要事实。

如果其他利益相关者意识到此功能将花费2年的时间,并要求iPhone 10在2014年之前上市,则会很快降低他们的要求。


1

这听起来很复杂,但并非完全没有可能。触摸屏无法区分拇指,中指或手写笔的问题;在初始化(会话启动等)时,要求用户先放置拇指,然后用中指等,通过几次移动等操作来校准尺寸(进行一些统计平均)。


0

在认为无法解决之前,我会考虑尝试以另一种方式解决根本问题。

例如,如果用户经常尝试单击一个小按钮却错过了,则可以观察该按钮周围的区域,然后使用该区域重新校准所有其他单击。

提出这样一个创造性的解决方案,可能不仅仅是他们要求您神奇地弄清楚手指的宽度(您可以告知他们手指不在API中)而已。

可能仍然很困难-在按钮周围放置一个区域以检测未命中-因此估计更多时间。


0

不要直截了当地说不,因为那会伤害他的感情。只需说明一下,由于技术限制,它每次有60%的时间都可以工作。

并且,一旦他意识到了这项工作的不切实际性和成本性,就建议在他的预算范围内提出一种更实际的方法,例如设置可以更改文本大小的设置。俄国人将一支铅笔带入太空。

尝试让他陈述问题和要求,而不是陈述未来项目的解决方案和设计。


-1

我想做的是从团队角度解决问题。在这种情况下,我和项目经理需要提出解决方案。我也想表明我胸怀开阔。如果我听到我认为是听不到的声音,那么我和项目经理之间可能会有误解。也许我们还没到那个那一刻。

一旦我们决定大步向前并进行公开对话,我发现将问题视为经济问题是最容易的。在技​​术上,只要资源无限,几乎任何事情都是可能的。多次讨论要做的事情是尊重“拒绝”的最简单方法。这就是消除任何可能的误解的方法。虽然,老实说,我们不是很拒绝。而且,反正不说的目的是什么。如果这项工作不值得做,那么我们是否愿意就不要紧了。

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.