了解客户对他的要求的含义是软件开发人员的责任吗?


12

是/否的问题,为什么?

了解客户对他/她的要求意味着什么的软件开发人员的责任,或者是向开发人员正确解释其要求的客户的责任?

当前的工作状况是“客户已经向我们解释了他的要求。了解请求而不是提出更多问题是您的责任”。

虽然英语不是我的强项,但所有请求都是用晦涩的英语书写的,单词的位置错误且句子难以理解,有些请求则以我以前对系统的理解为前提。

我是系统的第3位或第4位开发人员(最后一位开发人员辞职了),这可能是客户期望开发人员方面有所了解的原因。

在UI和源代码级别上,系统本身都非常混乱。在我看来,这就像猴子编码-编码并希望您正确地处理请求,而实际上并没有理解请求。

我实际上正在考虑辞职,但还没有,因为我不确定谁是对的,谁是错的。


1
在那里...... T_T
松戈

6
探戈需要两个人
gna

16
如果我是客户,而我发现开发人员不理解我的要求并且被告知不要要求澄清,那么我将不会感到高兴。您至少可以弄清楚“不问更多问题”的起源吗?
基思·汤普森

14
@JohnNevermore:我认为这会使团队负责人提出问题。在您之前出现开发人员不在您的影响范围之内,并且您需要了解问题并不会改变。如果他拒绝回答,请运行。
keppla

4
掩盖您的屁股,如果有人告诉您不要问问题,请给他们发送电子邮件,如果有人回来找您,请保存下来供以后使用。然后编码到给出的时间。您的责任是遵守命令或被解雇的风险。
菲尔·汉嫩

Answers:


41

如果您的工作是理解,那是您提出问题直到您做的工作。

您要求的人可能不是客户(我经常与中介打过交道,并且与客户保持联系),因此,禁止您与客户交谈的人应该自己回答问题或将您推荐给可以的人。

但是,最终必须进行某种沟通。如果他们否认(并且提供一些您不理解的文件实际上是在拒绝交流),则您应该像前任那样做:迅速逃跑。


22
顺便说一句:每次我看到这种行为时,都是因为让客户确信该功能已经实现,并且如果有人对如何执行此功能疑问,它将暴露他们的谎言。
keppla 2012年

在这种情况下,老板通常只是希望他们能像上述实施那样通过一些事情来证明自己是最重要的。然后客户说“好,但是我们可以代替它”,然后便可以进行对话。仍然是一个非常糟糕的情况。
KeithS 2012年

@KeithS:是的,这将是没有人放松脸的好方法。但是,在某些特殊情况下,老板设法同意提供逻辑上不可能的东西,并吹嘘成功的测试... :)公平,stackoverflow论坛上的一些笑话提出了一个解决程序的请求,该程序可以解决项目招标网站。答案是惊人的,显然有人已经解决了这个问题:)
keppla 2012年

第一句话说明了一切。如果要去某个地方,确定到达目的地的最重要因素是知道目的地是什么。同样,确定软件项目成功的最重要因素是知道成功的实现是什么。对后者的质疑和对前者的质疑一样荒唐。
JimmyJames 2013年

6

当您的客户和上级给您留下乱七八糟的论文时,您唯一能做的就是从已有的东西中获得尽可能多的感悟,并开始用简明的英语写场景,以试图构造关于如何做到的知识。系统应该表现良好。

给定/何时/那么场景可以使您详细了解需要发生的事情,并且由于它们是用简单的英语编写的并且结构合理,因此您可以使用它们与上级和客户进行交流:“听,我已经到了这一点,我不知道系统在这里应该做什么。”

如果您在要求进一步澄清时只是回避,即使您已付出努力来记录所做的所有事情并且不了解,那么以前的开发人员之所以失败,并不是因为他们不知道如何传达规范,而是因为这样做是不可能的。


6

我认为(客户和开发人员)都必须对问题及其解决方案有相同的理解。

如果您不理解请求,则无法创建解决方案。

因此,您必须阅读规格。如果规范不够清晰(或没有书面规范),则应该有人可以给出答案。

我所在的团队只有一个可以回答业务问题的人员。该企业所有者是我所工作的了解客户业务的开发公司的成员或客户团队的成员。


3

在您的特定情况下,项目经理似乎担心,如果多次(对开发商而言,这是必要的,因为开发人员流动)多次询问相同的问题,会使客户烦恼,并且这将对他和他的公司造成不良影响。

当然,如果您不问这些问题,则将花费更长的时间来完成/修改系统,结果可能不是客户想要的,这将导致更多的延迟,并且对项目经理和他的经理的反映也很差。公司,至少在客户眼中。

项目经理可能选择不让您问问题的原因有几个:

  1. 他并不真正了解负面后果,或者否认这些负面后果。
  2. 他知道替代方案,但他知道客户比烦人的问题更容易接受延误和质量差的问题。
  3. 他正在玩政治游戏:也许他知道他即将离开该项目,并希望在此之前将问题隐藏起来,或者他计划因缺乏沟通而导致的问题归咎于您。

IMO原因2不太可能。为了消除原因1,请尝试向他解释替代方案,并请他在替代方案中做出明确选择-建议向客户解释问题,以减少烦恼。为了消除原因3,请以书面形式进行操作,以便可以证明自己尽早意识到了潜在的问题,并尝试对其进行了解决。但是老实说,如果您怀疑这是必要的,那么您应该尽快到达那里。


2

我认为,服务提供商始终有责任确保他们了解客户的意图。

作为我们领域的专家,完成简报不仅是我们的工作,而且还有助于在使用我们的服务的过程中帮助指导客户,这包括向他们介绍我们提供的可能性以及我们现在所做的事情。

我相信以客户为中心的方法绝对是做事的方式,这是一种久经考验的商业模式。


2

客户和开发人员需要共同努力,以加深他们对系统的理解。

软件公司需要与客户就各方的要求达成协议,这是合同的基本方面。如果没有“见面会”,那么从真正意义上讲,就没有契约。

假设您是一个有能力的程序员,如果规范不明确,那么仅仅被告知“了解请求,而不是提出更多问题是您的责任”,这是很愚蠢的。


2

这是基于对原始问题的评论中的一些新信息。

声明

客户已经向我们解释了他想要的。您有责任了解请求,而不是提出更多问题

来自项目负责人;陈述的理由是

因为我不是系统上的第一个开发人员,所以我们不应该用更多的问题来打扰客户的代表,而是尝试并在必要时花更多的时间来解释问题

因此,明确告诉您要避免的事情是打扰客户

要求您“花更多的时间来解释问题”不一定没有道理。您应该做出合理的努力,或者甚至是稍微不合理的努力,以根据客户的实际需求来确定需求。如果没有别的,那是一项宝贵的技能。

如果失败(出于各种原因,听起来好像已经失败了),请向项目负责人寻求帮助。尝试在问题中尽可能具体,以表明您已完成作业。例如,而不是

这些人想要什么?”

问类似的东西,

在需求文档的第17段中,声明foobar必须使毛毛变得毛躁;这三个毛病指的是哪一个?”

或者,如果这些要求的确写得很糟,以致您无法解读它们,请告诉他。

我要说,确保正确理解需求是项目负责人的最终责任(成功完成项目当然符合他的最大利益)。但是作为团队成员,您应该承担部分责任。如果您证明自己已经做出了自己的努力,而项目负责人拒绝帮助您,那么他将完全由您负责。如果到那点,请确保他知道。


+1,将其推送到项目负责人。确保每个人都有所需的资源是项目负责人核心责任-这包括拥有必要的信息。
sleske'5

1

在一个理想的世界中,某处应该有功能和规格的列表,这些要写在将您的公司和客户联系起来的合同上。

为了回答您的问题,开发人员应确实了解客户的需求,并提供书面文件,以使双方都同意同一愿景。

当然,这不是一个完美的世界,通常没有规范,如果您没有任何书面规范,那么这将很难。您公司中是否还有其他人与客户建立关系,可以帮助您了解客户的需求?

如果没有,在您的位置上,我会尝试从以前的开发人员那里获取信息,前提是他们当然理解任务。


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.