拙作“敏捷的迷思与真实”于《程序员》杂志2005年第7期发表之后,深蒙读者不弃,提出中肯意见良多。今择其上者,略作解答。为避免
这位读者的批评意见被有意无意篡改或删除,
特此存照,以供对照参考。
拙作原文:“XP 很可能是最为严格的一种 ... 有很多种方法提出“迭代”的理念,但从来没有一种方法
把迭代的周期精确到一天 ... 很多方法要求定期 ... 提交源代码,但从来没有一种方法把 checkin/check out 的频率
规定到每半小时。”
读者问:
这基本上属于胡扯。说 XP “把迭代的周期精确到一天”,确是闻所未闻。 通常我们知道 XP 等敏捷迭代方法(如 UP、Scrum 等)推荐的迭代周期为 1-6 周之间,最小迭代的长度起码为 1 周(5 个工作日), 迭代的计量通常也以周(weeks)为单位。 1 天的迭代究竟能做些什么,这大概需要比较高的智商才能理解。举个日常的例子:当我们说“短跑的成绩精确到百分之一秒”,我们并不是指刘翔只用0.01秒就跑完110米,而是说我们可以在0.01秒的精度上度量他的成绩。这位读者指出“
XP 等敏捷迭代方法(如 UP、Scrum 等)推荐的迭代周期为 1-6 周之间”,that's exactly true。那么,对于一个整体长度仅为1周或2周的迭代,用“1天”作为计量单位不是很合理的吗?实际上,我在ThoughtWorks University了解到,某些office的某些项目正在以“quarter a day”为单位来度量迭代。
这位读者同时又说“
迭代的计量通常也以周(weeks)为单位”,这就让我有些费解:用“1周“为单位度量长度为1周的迭代,那么度量的结果不是就只有0或者100%了吗?这样的度量有何意义,还有待该读者赐教。
读者问:
至于说什么 XP 把检入的频率规定为每半小时,我看也是瞎扯。大体与前一问题类似。另一个值得一体的重点是:软件开发通常以团队(而非单人)的形式进行,持续集成发生在配置管理的中央服务器(而非各个开发者的本地机器)上。读者可以想象如下情形:一支XP团队由8个pair组成,每个pair每半天check-in一次代码,请问针对持续集成服务器而言check-in的频率是多少?
拙作原文:但有趣的是,很多冠冕堂皇的软件工程方法在涉及到单元测试、集成这类 纯粹工程化的问题时却大而化之语焉不详,导致
很多甚至通过了 CMM 5 级的软件企业却连基本的配置管理、集成策略都不具备 ,这不得不说是对“工程”二字的巨大反讽。
读者问:
我们的透明大作家 ,你能不能告诉大家“很多甚至通过了 CMM 5 级的软件企业却连基本的配置管理、集成策略都不具备”具体是指国内外的哪些软件企业?……如果你不敢公开或者拿不出有效的证据,那我们只好认为你透明大作家又在瞎掰了。我相信每位曾经撰写过有一定真实价值的科技论文的理工科学生都知道,出于各种各样的原因,写作者对消息来源有义务保密,对读者有权利保密。因此,对于该读者的合理请求,我的答复是:如果有人将我告上法庭,我会考虑提供消息来源;对于没有司法效力的请求,我只能抱歉恕难从命了。
最后,是我对读者的致歉:由于《程序员》杂志面向专业软件开发者社群,我在行文之前已经假设读者具备一些基本的知识基础,譬如知道“迭代周期”与“度量迭代周期的精度”之间的区别,譬如知道科技论文写作中基本的保密原则。但事实证明,我的这种假设很可能是不恰当的,因此我的文章也很可能对部分读者造成不必要的误导。然而有鉴于《程序员》给我的版面实在有限,因此我暂时还没有找到解决这个困难的办法,因此只好向上述读者诚挚道歉了。
分享到:
相关推荐
银行业:一文读懂LPR全部故事,LPR改革22问-20190828-光大证券-12页.pdf
sora【原来SORA概念这样解读就能轻松看懂,一文轻松拆解简介】 内容概要: 本文为初学者提供了一个全面的学习指南,通过通俗易懂的语言,介绍了SORA这个新概念。文章详细解释了SORA的作用、特点以及如何使用SORA,...
本报告将通过六个关键问题,深入解析MCN机构与直播带货之间的关系及其运作机制。 1. **MCN是什么?** MCN,即多频道网络,起源于YouTube,它通过签约、孵化、管理众多内容创作者,形成矩阵式的频道网络,为创作者...
MCN的本质是聚合多个内容创作者的流量,基于流量变现,并在产业链中扮演着链接创作者、平台与广告主等多边关系的角色。MCN通常会与内容创作者签订合约,管理他们的内容,并通过广告、植入式营销等方式获得收益。 ...
一文带你深入了解数据流图及其作用一文带你深入了解数据流图及其作用一文带你深入了解数据流图及其作用一文带你深入了解数据流图及其作用一文带你深入了解数据流图及其作用一文带你深入了解数据流图及其作用一文带你...
仓颉编程语言:一文读懂,什么是仓颉编程语言? 仓颉编程语言:一文读懂,什么是仓颉编程语言? 仓颉编程语言:一文读懂,什么是仓颉编程语言? 仓颉编程语言:一文读懂,什么是仓颉编程语言? 仓颉编程语言:一文读...
在《一个项目团队的敏捷之旅》一文中,作者莫映分享了一个真实项目团队如何从传统开发模式转向敏捷,最终实现项目成功的故事。这个旅程不仅揭示了敏捷方法论的实际应用,也展示了团队面对挑战时的成长与进化。 ####...
汽车零部件行业专题报告:一文看完EDR
一文读懂5G无线通信与4G的典型区别一文读懂5G无线通信与4G的典型区别一文读懂5G无线通信与4G的典型区别一文读懂5G无线通信与4G的典型区别一文读懂5G无线通信与4G的典型区别一文读懂5G无线通信与4G的典型区别一文读懂...
综上所述,MCN行业在内容创作、变现模式以及直播带货等新兴领域展现出强大的生命力,而相关企业和平台则面临着巨大的机遇与挑战。随着市场成熟,优质的MCN机构将有望继续保持竞争优势,持续获取市场份额。
模拟退火算法一文搞懂模拟退火算法(Simulated Annealing,SA)一文搞懂模拟退火算法(Simulated Annealing,SA)一文搞懂模拟退火算法(Simulated Annealing,SA)一文搞懂模拟退火算法(Simulated Annealing,SA)...
在本文中,我们将深入探讨《从小白到大神,一文掌握 Python 密集知识点》这份资料所涵盖的丰富Python编程知识。Python是一种高级、通用的编程语言,以其易读性、简洁的语法和强大的库支持而备受青睐。无论你是初学者...
了解Transformer的工作原理、它如何与语言建模、序列到序列建模相关,以及它如何支持Google的BERT模型。现在,我喜欢做一名数据科学家,从事自然语言处理(NaturalLanguageProcessing,NLP)方面的工作。这些突破和...
编程知识+技术开发+Springboot入门知识,一文掌握Springboot体系;编程知识+技术开发+Springboot入门知识,一文掌握Springboot体系;编程知识+技术开发+Springboot入门知识,一文掌握Springboot体系;编程知识+技术...
一文读懂领域迁移与领域适应的常见方法,附文档链接: https://mp.weixin.qq.com/s/TJjgyL4dR2cMfbk8DUmbfw。在使用机器学习、人工智能中的技术手段解决实际问题的时候,常常会遇到领域迁移(domain shift)问题。
综上所述,《迈向下一代敏捷》一文深入探讨了当前敏捷开发领域面临的挑战,并提出了一系列前瞻性的思考和建议。通过对现有框架的批判性分析以及对新方法的探索,黄邦伟博士为我们指明了通往更高层次敏捷发展的道路。...
一文读懂工业互联网标识解析体系.docx
一文理清国有企业董事会、经理层决策重大问题的前置程序时的权责边界.pdf
本文基于《敏捷测试的实践和理论》一文,深入探讨敏捷测试的概念、实质及其在实际项目中的实施流程,旨在为软件测试从业者提供有价值的参考。 #### 敏捷测试概览 ##### 敏捷测试的概念 敏捷测试是在敏捷开发模式...