史蒂夫Yegge的智慧 尽管如此,大多数开发所面临的要求,收集了从非技术性的顾客。有时有的项目管理人员处理与客户和翻译他们的要求,其它的时候不.在任何情况,实际上这种要求将会改变是一个必然性。

大多数什么consititues"良好的编程方法"已经做 发展系统的适应性 因此,他们可以承受的不断变化的需求。原则YAGNI、干燥、松散耦合等。促成这一点。迭代发展进程等敏捷,也试图解决的关切努力以击中一个移动的目标,并且当然具有一系统在测试使得它更加可行做出改变。

尽管如此,它似乎对我们许多不断变化的要求不仅可以 伤害我们的软件, 但也可以 漏我们的动机 并使我们想要刺人。

这个问题是关于如何 管理客户 以使他们能够改变他们的要求的方式,他们的需要,同时阻止任意或轻率的变化。你怎么做到的?

  • 你有项目管理人员隔离开,从客户?
  • 你有正式的改变管理过程?改变管理人员?
  • 多么的困难是它为客户得到改变,当他们真的需要它吗?
  • 相反地,多么容易的是它为一个客户对得到一个改变时,它的"轻率"?
  • 多少细节你得到客户在说明成本的改变?
  • 如何很快你能够得到客户的信息后收到的请求的变化?
  • 什么因素可能破坏过程(例如 下午是谁也不能说没有以客户?)
  • 你的作品?
有帮助吗?

解决方案

如果你是在寻找理想的世界里,客户永远不会改变他的思想或理想的规格 你是在错误的业务.这就是说,最有效的机制,我们发现对管理客户的期望和改变请求到研究所的准确系统的测量。

这是我行我的团队:

1)我们开始与用户的故事。客户是参与编写和发展工作队估计多久每个用户的故事将在一个相对的方式。

2)使用现有的经验,我把这些相对估计数(情景点)以及创建一个粗略的时间计划的重要里程碑,该项目将完成。

3)在这些里程碑,我们2星期的迭代。客户是参与设置批准条件和是否故事已经获得批准。一个简单的烧毁的图表显示客户如何接近我们的会议推出的目标。

4)通常时期间批准的会议的顾客会要求的变化,因为要素并没有变成他如何预料(尽管它遇到了他原先批准的标准)。在这个时候,你产生一个新的故事新的估计。你还可以调整你的里程碑式的日期。这然后把球回顾客的法院:

  • 很多时候,他们实现自己的更改请求是不值得(他们必须获得批准,从他们的老大),我们会杀死的新特征
  • 有时候,重要的是因此,我们将延迟的截止日期得到的功能
  • 最后,总是有选择杀死另一个不太重要的功能,将采取等量的时间。

关键是不要逃避改变的请求,但建立的,每一次改变要求有影响的产品。有没有这样的东西 免费午餐。

其他提示

我的工作indpenedent开发和使与客户联系。这是正常的,大部分时间他们不知道他们真正想要的。所以我们慢慢开始,我得到他们的原型在初期发挥带然后这些变化将gradualy。如果我认为,客户希望"轻率"改变然后我告诉他,这种改变不工作,或者是不需要的。如果是5分钟的工作,然后我甚至可能做到这一点无论如何。

它有助于后添加到一些维护合同条款得到的钱用于这些小的改变,将来以后。更大更改只是按小时收费.

管理顾客是很难的,并且它是什么,很容易可以去错误的。

我发现,尽早你需要 获得信任 的客户。对于我我想你可以这样做:

  • 要求任命一位客户 产品经理 -谁是清晰的思路,足以进行通信的要求,他/她希望看到建立一个牢固的工作关系,与他/她。
  • 真的努力了解他们的业务 -你不需要域的专家,但是你需要知道那里的客户是来自的地方。
  • 要求相关的问题,他们想要什么- 不要假设是什么,他们要求(一)为什么他们真正想要的.
  • 在第一 欢迎所有变化.这不是个客户正在讨厌和善变的,它作为一个机会,更好地理解客户的真正想要的。如果这种费用你的时间/资金,然后你可能需要接受它作为 损失的领导者.
  • 提供初的原型, ,并将作为从客户的反馈,作为切实可行。
  • 给客户 踢屁股的产品.

一旦你做了这个,客户信任你,然后你会在一个位置开始敲回不合理的变化,或要求额外付款/时间的东西,以前被视为超出范围。

当然,你不能建立这种关系与每一个客户,一些 白痴(在这种情况下看看你是否可以有不同的产品经理的任命的),但是你应该总是做尽 你的 可以建立一个有效的工作关系。

你不能指望的顾客知道,他们想要什么在一开始,因此必须是可适应的。但你也需要停止改变对于改变的缘故。

这是内部客户。

我们发现,谈判与客户是一个有效的路要走。他们可以有任何的功能,他们想要如果他们等待它,或者如果他们牺牲了其他一些(尚未执行)的特征。这迫使他们思考的价值的改变他们所要求的关于该系统作为一个整体。

有时候,这个运作良好和一个很好的妥协是达到。其他时候客户引发他们的玩具推婴儿车去然而高他们要得到的功能实现和质量降低。

如果客户支付,这是一个不同的球的游戏。他们需要了解,改变成本,费用增加的产物接近完成。这意味着你必须要做很多前面的分析,关于什么,你将提供和确定规格是达成一致意见。那么你可以衡量发生了什么变化。这可能不是最有效的解决方案,为任一当事方,但它不会让事情变切割并晾干。所以他们不是不满意的,你不做的工作负荷。

在软件工程,改变的只是一个事实。它会发生。对我们来说,一切都是有代价的。我们会做任何改变的客户想要的,但总有一个时间估计成本相关联。我们有没有告诉客户没有-不正常,但有时更改请求到来在一个非常高的成本。我们画的线在潜在的安全威胁等。在这种情况下,我们平静地向他们解释,我们不能容纳的请求。

有多少,我们解释给客户,我们解释一下这里的钱是要分配的,这种多用于发展,这么多的分析等。我们不明确告诉他们为什么一些费用的方式,它的作用。现在我必须承认,这个不同一点与我们的一些客户。他们中的一些得到非常详细的计费到底有多少时间都花在哪里。为获得合同,我们不得不同意,虽然这是非常罕见的。

我们有销售的人,谁也不能说没有时候,这可能会造成问题。我们已经花了很多时间工作,但不幸的是,它仍然作物了。我们打击它的由来说明有多少钱他们花费了我们引用一些没有研究什么,它将采取。透明度是关键在所有水平。每个人都有知道如何将他们的决定影响的底线。

我们做无聊的变化?是的.你有什么要记住的是,当你比尔的每小时大部分时间有5分钟的改变计费在整整一个小时,所以那是相当的有利可图。我们解释这一切之前我们做任何改变的要求,所以他们都意识到这一点,但是它倾向于帮助阻止这样的行为,除非这是很重要的。事实是,我们对所有变化相同。我们不要假设我们知道什么被认为是轻率的,他们无论如何荒唐,我们认为它可能是。我们有一个正式的变化过程中的客户要求的东西我们把它写下来,让他们签署了这就是我们评估和成本的工作的估计。他们同意在这种情况下,他们正式签署一份文件,让我们知道它是好的开始,或者他们撤销该请求。我们尝试努力,但我们让他们知道,这将需要几天时间我们得到的响应他们的请求。

一位同事的地雷给了我最好的建议我曾经听说过关于管理客户关系的船只。这是一个给予和取。让客户快乐,你必须愿意帮助他们时,他们需要的东西,但在同一时间,你必须能够说没有。当处理人们想要你来帮助他们,但他们也想你有一个脊椎和捍卫自己。它成为一个双赢方式。

我会更喜欢一个术语的不断变化的需求,以"变化的要求"。教授M.M.雷曼(http://www.doc.ic.ac.uk/~mml/http://en.wikipedia.org/wiki/Meir_Manny_Lehman)已经做了相当大的贡献入研究软件的演变;他的作品还表明,不是所有类型的要求演变。有人可能认为自己是幸运的,如果他们发生工作,这些系统之一,其中要求保持相同(即数学图书馆等)。

其余的我们的经验表明,开发商愿意尽可能多的信息要求前为可能,而客户或最终用户的价值能够指定或调整要求尽可能晚到发展的过程。前者需要的详细信息以帮助规划和设计的解决方案,后者可以获得战略优势,通过不断变化的要求晚了,因为它给客户的一些回旋余地,以应对不断变化的环境或获得的信息作为结果的早期阶段/迭代的项目。一个贸易之间的能力,有一个详细的计划和改变的事情在很大程度上决定了发展过程本身(瀑布、敏捷、螺旋等)。

一些实用的建议管理的演变的要求:

  • 建立在一些房间进入最初的计划考虑到不断变化的需求,多个检查点或迭代。

  • 把挥发性要求纳入项目的开始这样一种原型或可行性研究很可能是澄清它们或计划变化的项目。

  • 监测的要求仍然是相关的。

  • 有了迄今为止,优先名单的前要求得心应手。没有别的帮助,以保持变化控制作为一个良好的知名度,向所有利益相关者的当前"必备",包括他们的相对优先顺序和费用。

  • 保持管理客户的期望上多久的事情要采取;这也有助于保持重点。

  • 介绍个正式的进程对于改变或增加要求,如果你需要的。该过程的说明需要指定角色的这些涉及频率的评论,等等。它可以成为良好保护对一些政治和大多数机会,但是不必要的要求。

  • 建立在一些时间进行重构,甚至对于第一个版本。你很有可能把所有的或部分的解决方案结果的更多的知识增益在发展。

客户来为你做的东西,因为他们既没有时间来这样做,或者他们不知道该怎么做 (并且要付出你为他们做了).如果你有不断变化的要求,这是因为后者。换句话说,他们支付你的细节!他们知道什么他们喜欢和不喜欢但他们不会知道它是如何工作的。

认识到这一点,并无论什么解决方案需要落在的地方。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top