补丁对客户不利吗?[关闭]


14

在办公室,我们只是度过了漫长的一段时间,在那儿我们太频繁地发布补丁了。在此期间快要结束时,我们平均每周要进行大约三个补丁。

除了这对于开发人员来说非常不利之外,我想知道客户对此会有什么想法。我自己问了一个问题,得出的结论是,我不知道经常更新的软件。但是,对于最接近的情况,我并不在乎,因为补丁很快就可以应用。

收到这些补丁的客户彼此之间有很大不同。有些人确实在等待其他人并不真正关心的补丁,但是他们都得到了相同的补丁。更新客户软件的时间少于30秒,因此我认为与时间无关的任何问题。他们确实需要注销。

因此,我的问题更加详细:获取更新是否经常向接收方发出“负面”消息?

当然,我可以问顾客,但是我不在那个位置,也不想“唤醒熟睡的狗”。

PS:如果有什么我可以改善的问题,请发表评论。


@downvoter,在乎解释吗?
Mixxiphoid 2014年

6
如果您担心客户的看法,也许将他们描述为“更新”而不是“补丁”?:)
克里斯·泰勒

虽然这不是直接的答案,但是如果您可以使补丁程序部署尽可能地不受干扰且自动进行(例如,在后台下载更新,在空闲时运行更新服务以应用),那么您可以通过以下方式缓解最终用户的焦虑:使更新显而易见。例如:在过去一个月左右的时间内,您收到了多少次Google Chrome更新?(答案:很多)他们每天可以发布5个Chrome补丁,而没人会惊叹。Windows自动更新(启用时)是另一个示例。
杰森·C

“更新客户软件的时间少于30秒,因此我认为与时间无关的任何问题。但是确实需要注销。” 客户自己测试补丁怎么办?我不知道您使用的是哪种软件,但是如果对于任何人来说,关键任务都近在咫尺,他们将需要在生产环境中进行测试之前先对其进行测试。虽然补丁的安装可能是快速而简单的,但是对于客户而言,该测试将花费大量时间和精力。
CVn 2014年

@MichaelKjörling问题在于,在此期间,任务关键功能失败了,因此,首先更新生产环境还是测试环境并不重要。它只需要尽快工作。
Mixxiphoid 2014年

Answers:


24

与计算中的许多事情一样,这取决于。如果这些补丁是对客户对新功能或改进要求的回应,那么您的公司将被视为具有响应能力。另一方面,如果您的补丁是对错误报告的回应,则您的公司将被视为无能。

在此处输入图片说明

不管别人怎么说,到目前为止,对客户进行软件测试是检测错误的最昂贵的方法。这是一种虚假的经济;您认为自己获得的免费劳动力远远被客户服务工作量,打破软件开发生命周期以及失去客户信心所抵消。


3
也许这应该是一个不同的问题,但是无论如何:我们知道我们正在通过客户进行测试,但是当时无法停止,我们陷入了一个循环。我们该怎么做才能走出去?
Mixxiphoid 2014年

3
罗伯特,我以前看过很多次了。当软件开发遵循纯瀑布模型时,这可能是正确的,但是由于可以以较小的周期开发部署软件,因此它的错误越来越多。准确地说-对于少量错误和软件,这种趋势仍然是正确的,对于许多错误,这肯定是错误的。
布朗

2
@DocBrown:图形仍然正确。较短的开发周期意味着较少的每周期成本,这与图表一致。但这仍然不意味着您应该对客户进行软件Alpha测试,除非明确了解并同意这是该过程的一部分。
罗伯特·哈维

好了,缺陷的成本会降低,并能早日发现修复错误。而且,越早将软件发布出去,发现漏洞的机会就会大大增加。当然,这并不意味着应该将未经测试的软件投入生产。我建议,例如,这篇文章agileelements.wordpress.com/2008/04/22/cost-of-software-defects
Doc Brown

1
即使原理或曲线的形状只是个野蛮的猜测,只要稍微自我反省即可看到原理本身是合理的。在编程方面,我们甚至有一个名字:快速失败。
罗伯特·哈维

10

我觉得在附近发布几个补丁对公司影响不大。总是让我觉得他们没有经过足够的前期测试,开发人员没有能力或者管理层不知道自己在做什么。

话虽这么说,令牌的另一面是释放彼此接近的多个补丁程序,这表明该公司正在对其产品采取积极的方法,并正在继续为消费者改进其产品。

我更倾向于认为前者是大多数人从消费者的角度看待它的方式,但是直接与他们交谈(显然)将是最佳选择,但同时也会在客户群中引发他们可能会遇到的问题。最初并没有意识到。


因此,最重要的是,我们是否应该尝试仅修补那些真正需要它的客户,而其他客户稍后在“批量”中改善我们的形象?
Mixxiphoid 2014年

5
为单个客户打补丁听起来可能很麻烦,尤其是在有大量客户群的情况下。定期发布补丁程序(每月,每两个月等)并将补丁程序推销给客户,可能是一种引起人们对产品“下一步发展”的兴趣并解决问题的好方法正在被淘汰。当然,正确的文档和通知对于与补丁说明与最终用户进行通信至关重要。
2014年

这确实为我澄清了很多。似乎我们应该花些力气使用补丁来改善我们的形象。直到现在,我都坚信这是不可能的。总是将补丁视为必不可少的邪恶。
Mixxiphoid 2014年

也取决于发布周期中的时间。如果补丁在发行后的头几天紧密结合在一起,那给人的印象与几个月后它们仍然紧密结合时的印象不同。
jwenting 2014年

7

越来越多的公司效仿Chrome的步伐,并且越来越频繁地发布客户。

实施短发布周期的先决条件是轻松进行升级-例如,在chrome中,升级无需用户干预即可完成应用程序启动,如果用户始终保持其应用程序运行,则他会收到一个次要标志建议他在方便的时候重新启动应用程序,然后应用程序将努力使他在重新启动后返回到以前的状态。

这种方法使客户感到高兴,因为他不需要知道每个更新,并且由于功能发布频繁出现,因此错误修复版本也会受到欢迎。

另一方面,如果补丁是在显眼的show-stopper错误之后出现的,并且又是成簇出现的,因为较早的补丁无法修复该错误或创建了一个更大的bug,请放心,您的客户会闻到它的味道。这肯定会不好地反映供应商的专业声誉,并降低供应商的感知软件标准。连续交付在很大程度上取决于有效的单元测试和集成测试,以确保其成功。

关于不与客户交谈以“让睡狗撒谎”的问题,我认为这是错误的策略-客户不是盲人,也不是傻子。我相信与客户的良好沟通只能使他们放心,他们是您的首要任务,并且您会接受他们的批评。如果您几次发布了错误的发行版,而您没有听到他们的抱怨-您一定要担心-这不是他们没有注意到,而是更有可能的是他们只是忙于为您寻找替代品...


2
+1,作为软件的常客,我希望这些家伙经常更新并以良好的方式进行部署。停滞的产品在这里是真正的危险信号-至少这意味着供应商没有在产品上进行投资。或投资vNEXT,让他们再次为您付款。
Wyatt Barnett

从您的最后一段中我了解到,我们在与客户的沟通中应始终诚实和透明。有没有情况我们不应该(还)通知客户某些事情?
Mixxiphoid 2014年

1
当然,对客户诚实并不意味着在召集紧急会议以减轻刚发生的灾难时保持联系畅通。评估情况之后,应该传达信息,制定解决方案,并且可以诚实地说一切都在控制之下。您可能会发现自己在修饰真理,但是彻头彻尾的谎言会在以后困扰您……
Uri Agassi 2014年

2

专门针对已发现问题的客户的补丁显然需要尽快退出。

我曾在大型公司看到过软件,然后采取了这样的方法,即其他客户将以固定的预定时间间隔将这些补丁作为Service Pack获得。通常,由于修补程序需要花费一些精力在客户环境中进行安装和测试,但是在您的情况下,它只能用于减轻您所关注的效果可能带来的影响。

我还看到有人提倡在存储库或网站上放置补丁,以便客户可以下载并安装他们想要的补丁。这会在知道客户拥有哪些补丁时产生问题,因此当他们遇到问题时打电话时,您必须确切地确定他们正在运行的代码,但要谨慎对待。然后,当发行捆绑了许多补丁的软件包时,您可以强迫人们升级到其中一个更大的软件包。

安全补丁例外。众所周知,总部位于华盛顿的一家大型软件公司在发布关键的安全补丁之前要等待一个月的第三个星期四,而有关该黑客的信息已经泄漏出去,并迫使他们尽早陷入更大的尴尬之中。

Google chrome通过非常频繁地自动更新来解决该问题,它们也需要您重新启动程序(重新启动chrome,或者注销)。他们现在已经对浏览器进行了常规操作,人们甚至不再考虑它。但并非所有人都能成为Google。

SaaS应用程序通过在后台进行更新来解决整个问题。

但是,最重要的是,除非您非常频繁地进行持续集成或使用用户要求的新功能进行更新,否则我认为我们仍然处在人们希望您在发布之前进行大量测试的时代。如果您不愿与您的客户见面并谈论错误修复的频率,您可能没有进行足够的测试。在发布代码之前,您是否已承担了多少风险?只要知道是什么,就有理由发布非常早的错误代码,但是我认为您需要对已知质量有很好的了解,这意味着了解并控制自己的时间来了解质量。


+1是关键点-只要用户/客户在部署方面没有任何额外的努力,您就能越快地修复(和部署)错误,就越好。当客户必须手动部署或更新只会中断其工作流程时,找到正确的部署频率很重要。像Facebook这样的网站每天都会部署多个补丁,大多数人甚至不会注意到。
布朗

所以我想我们很幸运。我们的更新仅花费了我们1到2个小时的时间(除了压力和编码等所有工作)。客户花费1分钟才能恢复工作。我将研究“服务包”方法,对于那些不需要直接使用补丁的人来说,这确实可以派上用场。
Mixxiphoid 2014年

在Facebook上找到了此参考资料:blogs.wsj.com/cio/2013/04/17/…,因此每天似乎有两个版本,而不是多个版本。我想仍然令人印象深刻。
布朗

我每隔17秒就“听到”亚马逊推送代码。但我将其添加到评论中是因为我不记得是谁告诉了我,而Google也没有显示它。:-)
Encaitar 2014年

@Encaitar:是的,Amazon的体系结构具有数百个交互服务。因此,如果他们极频繁地推动某件事,我并不感到惊讶,但我非常怀疑每次推动都会直接影响多个组件。您作为单个网站看到的不一定具有完整版本。这更像是说城市道路网络每17秒更新一次,因为您的工作人员每天总共要涂漆5千行:-)
史蒂夫·杰索普
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.