【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

质量是可以谈判的吗?

  • 2007-12-03
  • 本文字数:1329 字

    阅读完需:约 4 分钟

如果客户对你说,他们对软件的质量不感兴趣,他们只要求在规定的日期必须完成所有规定的事情——你会怎么做?你会听从客户的话在质量上妥协吗?(顺便一问,什么质量?)

Simon Baker 问道,你是否应该总是做客户希望的事情?

如果客户说他不想要“完美的代码”,只要能完成他想要的功能,质量低劣的代码他也无所谓,你会怎么办?我们的任务是交付客户想要的东西,对吧。那么,你会在质量上抄近道吗?我不会。我会去理解客户的思维,看看是否其实只是短线的想法(“我只想要最便宜的,质量无所谓”),如果他是无知,或者纯粹是糊涂,那我就撒手走人算了。我的良心不允许我在作品的质量上做出妥协。

ScrumDevelopment Yahoo! 讨论组上也发生了一起相关的讨论,议题是“质量”是否不可谈判的。讨论从 Pierre Mengal 的提问开始:

我正面对一个情况,客户不关心质量,因为对他来说,那属于浪费时间。他们立了一个不可动摇的限期,不允许增加资源,不允许缩减项目的目标范围。如果有必要,他们可以在项目完成之后几个月内把整个应用完全重写一遍。这个绝对不是开发费用的问题(如果到了限期没法发布,他们的损失会以百万计)。

Esther Derby 回以一个疑问:

我对“质量是不可谈判的”这句话很很好奇。
质量并不是一个绝对的词,因此 * 必须 * 经过谈判才能达到一个共同认可的特定含义。就我来说,“我不会牺牲协商好的质量水平”这样的说法更有意义。
Jerry Weinberg 说过“质量是对某人的价值。”我们的任务是找出价值所处的位置。
你可以看看 Jerry 的《Quality Software Management》系列。
Also Kathy Iberle 有一篇漂亮的论文《They Don’t Care about Quality》,里面谈了在不同业务背景中的“价值”: http://www.kiberle.com/2003/STAREast2003.pdf

Lance Walton 揪住价值不存在明确定义的暗示不放。

这里有个很明显的问题,“质量”是个缺乏定义的词。比如,假设“发布某物,即使质量很差”指的是每次用户保存工作的时候软件都会崩溃(如果在崩溃前还真的保存好了,那情况又不一样)。或者假设质量很差的意思是每次按键都要花 10 秒钟去处理。这些情况包括在“发布某物,即使质量很差”的可接受范围内吗?

Alistair Cockburn 举了一个详细的例子:

我刚刚访问过 A 公司,他们的软件比竞争对手 B 公司卖得好很多,让 B 都倒闭了。和我交谈的人说,B 的产品比 A 功能更多,速度更快,Bug 更少,但 B 没有建立现场专家支持部门,而 A 建立了。
从他们客户的角度来看,A 产品比 B 产品“质量更高”。因此客户购买 A 产品而不是 B 产品。
仅仅避免 Bug 和编写可维护的代码还不算交付了质量,还得有人买它。购买的决定指出了“什么才算是质量”。
“质量”的因素多不可数,大多数谈判中谈的是各项因素的重要性排列,每项因素需要达到什么程度。如果你生意不好,“没有 Bug 和可维护”可帮不上什么忙。

Ken Schwaber 在《 Agile Quality: A Canary in a Coal Mine 》演讲中讨论了另一种看待质量的方式,他认为代码质量应被视作公司的资产。

那么,当客户说他们不关心质量的时候,我们应该听从吗?我们应该盲目地做客户要求的事,还是说忽略他们,因为我们懂得更多?又或者有没有别的途径?我们应该如何与客户交流,才能建造出最好的软件呢?

查看英文原文: Is Quality Negotiable?

2007-12-03 19:471128
用户头像

发布了 225 篇内容, 共 60.6 次阅读, 收获喜欢 49 次。

关注

评论

发布
暂无评论
发现更多内容

Gradio:快速构建你的webApp

AIWeker

Python 三周年连更 Gradio

热榜!Alibaba最新发布「10亿级并发系统设计文档」Git狂揽9000星

Java你猿哥

数据库 架构 分布式 架构设计 并发系统

Linux:管道命令与文本处理三剑客(grep、sed、awk)

会踢球的程序源

Java Linux

行云管家堡垒机有免费的吗?谁能告诉一下!

行云管家

高新企业 堡垒机 行云管家

BT!GitHub开源阿里Java性能调优百宝书仅3小时,标星竟超过30k

Java你猿哥

Java JVM 性能调优 SSM框架 Java工程师

企业全面数智化转型,国产替代成为安全保障

用友BIP

技术大会 用友iuap 数智化转型 用友BIP 用友技术大会

知你懂你,聪明得简直不像一台车,问界M5智驾版重磅升级鸿蒙3

Geek_2d6073

听说谛听闹退休?感知网络接班啦!

脑极体

感知网络

GitHub上线重量级分布式架构原理设计笔记,开源的东西看着就是爽

Java你猿哥

架构 分布式 分布式架构

GitHub和 Gitee联合编写最新版20w字Java全栈面试手册,简直无敌!

Java你猿哥

Java java面试 SSM框架 Java面经

阿里大神整理的Java核心知识点和面试官常问到的知识点,压压惊

会踢球的程序源

Java 面试 求职 java面试 Java构架

Python本地SQL文件对比工具

YUKI0506

Python 文件对比 对比工具 difflib

站群SEO是什么意思?站群SEO怎么做效果才好?

海拥(haiyong.site)

三周年连更

Zabbix5.0配置企业微信告警

A-刘晨阳

Linux zabbix 三周年连更

Solr和Elasticsearch,搜索框架怎么选?

会踢球的程序源

Java

【堡垒机小知识】堡垒机能记录操作时间、操作数据等等吗?

行云管家

网络安全 堡垒机

硬核!万字神文精解高并发高可用系统实战,分布式系统一致性文档

做梦都在改BUG

Java 高可用 高并发 分布式一致性

ChatGPT无需API开发连接第三方系统,让舆情自动监控

集简云开放平台

数据集成 数据集成平台 Chat

集简云开放平台是什么?

集简云开放平台

简单的视频格式转换器:MacX Video Converter Pro中文版

真大的脸盆

Mac Mac 软件 视频格式转换 格式转换器

最佳云转码,腾讯云MPS夺得MSU编码器大赛21项第一

科技热闻

DLRover:云上自动扩缩容 DeepRec 分布式训练作业案例分享

AI Infra

程序员 AI 互联网 DLRover

chrome调试技巧(一)

知心宝贝

前端 后端 调试 三周年连更

挑战 30 天学完 Python:Day9 条件语句

MegaQi

Python 挑战30天学完Python 三周年连更

女朋友要我讲解@Controller注解的原理,真是难为我了

Java你猿哥

Java spring Spring 配置解析

浪潮海岳低代码平台inBuilder开源社区版正式发布

科技热闻

「云原生」Elasticsearch + Kibana on k8s 讲解与实战操作

会踢球的程序源

Java elasticsearch Kibana

Java中线程的6种状态详解(NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING、TERMINATED)

共饮一杯无

Java 线程 线程状态 三周年连更

阅读完synchronized和ReentrantLock的源码后,竟发现其完全相似

Java你猿哥

并发编程 并发 synchronized SSM框架 ReentrantLock

前端沙箱利用这些特性实现代码的隔离与限制

没有用户名丶

什么是企业数智化的创新加速器?

用友BIP

技术大会 用友iuap 用友BIP 用友技术大会

质量是可以谈判的吗?_研发效能_Amr Elssamadisy_InfoQ精选文章