敏捷史话十七):维基(Wiki)背后的灵感来源—— Ward Cunningham

网友投稿 605 2022-05-30

本文转自敏捷开发。

在软件开发领域, Ward Cunningham 有许多独到的见解与成就。

1949年,Ward Cunningham 出生于印第安纳州的密歇根市,并在莱克县的一个小镇中长大。怀揣着对计算机浓厚的兴趣,在普渡大学学习期间,他获得了跨学科工程(电子工程和计算机科学)学士学位以及计算机科学硕士学位。1978年,Ward Cunningham 完成了全部学业。

( 普渡大学校徽)

毕业后的 Ward Cunningham 先后担任过研发总监、首席工程师等职位,也自己创办了 Cunningham&Cunningham,Inc.——专门从事面向对象编程的咨询公司,以及一个面向软件开发人员的教育性非盈利组织:The Hillside Group。

在自己丰富的软件开发实践的基础上,Ward 总结出了很多经验以及独到的思想,而这些思想也成为日后软件开发人员进行开发实践的准则。

Cunningham 定律与 Wiki

Ward Cunningham 认为:“ 在互联网上获得正确答案的最佳方法不是提出问题,而是发布错误的答案。”这就是 Cunningham 定律,指人们更正错误的答案比回答问题更快。在日后的工作中,Cunningham 也在一直贯彻这个想法。

20世纪80年代末,Cunningham 在使用一个名为 HyperCard 的程序时,发现了这样一个问题:虽然 HyperCard 程序管理了许多称为“卡片”的资料,每张卡片都可划分字段、上传图片,且支持修改编辑。这个类似网页的程序对当时的人们来说很有用,但要想创建卡片与卡片之间的链接,就非常难了。

为了解决这个问题,他在原有程序的基础上增添了一个新的链接功能。用户只需将链接输入卡片上的一个特殊字段,原有每一字段的按钮便会引导用户去新的目标卡片。链接功能加上 HyperCard 卡片的应用,能够让用户更正卡片上的错误内容,并链接到正确的卡片上。

这个在 HyperCard 的程序上写出的小功能,就是 Ward Cunningham 对 Wiki 的最初构想。

1995年,Ward Cunningham 正式推出了第一个 Wiki 网站:WikiWikiWeb,方便程序员们进行思想交流。

关于为什么要创建 Wiki 这一问题,Cunningham 有话要说:“ 起初创建 Wiki,我的目的就是创建一个能够将彼此经验联系起来的环境,从而发现编程的模式语言。”这个想法在他看来稀松平常。以至于后来接受采访时,被问及是否考虑过为 Wiki 的概念申请专利,Cunningham 解释说:“这个想法听起来就像是没人愿意为之付费的东西。”

尽管 Ward Cunningham 不考虑为 Wiki 申请专利,但这并不表明他放弃了 Wiki。自Wiki 诞生之后,他就一直希望在全世界范围内推广 Wiki。

2001年,Cunningham 与他人合著了一本名为《The Wiki Way》的书,书中主要介绍了如何安装、创建并管理 Wiki 系统。2011年,他又启动了 Smallest Federated Wiki 项目——用于 Wiki 联合的软件平台,他为 Wiki 添加了源代码控制系统,以及其他软件开发工具中的分叉功能……

至今,Ward Cunningham 仍在致力于推广 Wiki 技术。

Cunningham 与面向对象编程

Cunningham 与极限编程

在创建 Wiki 的前几个月,Ward Cunningham、Kent Beck 一直与坚持软件工程的教条主义者们争论,争论的内容主要在于是否实践代码集体所有权。

Cunningham 认为,“代码集体所有权有很大的好处,不仅能够降低风险,还可以提升开发效率……”而教条主义者们认为,“这简直太荒谬了!实行代码集体所有权后,你永远不会有责任。如果你没有责任,你永远不会有质量。唯一能让你负起责任的方法就是承担责任。如果你不想再让一些人写出 Bug,你就必须把这个责任放在他的身上……”双方并没有说服彼此,但这场争论让  Cunningham 更坚定了维护代码集体所有权的信念。

Cunningham 与《敏捷宣言》

“ 我宁愿转向下一个想法,也不愿为保持最后一个想法的纯正而奋斗。”

敏捷真正带给软件的是一种能力,通过使团队中的成员达成共同的目标,实现高质量的产品交付。“当《敏捷宣言》的四个价值观被整齐地列在黑板上时,我们只是在感慨,虽然我们是十七个不同的个体,但写在黑板上的内容是我们共同想要表达的东西。”回忆起2001年的雪鸟会议,Cunningham 这样说。

而对于“ 稀释”,也就是新想法的注入,他认为,这一行业是在不断发展的,如果不能不停地尝试用多种方法去做事情,就不再会有新的创造力。因此,作为一名极限编程的狂热爱好者,Cunningham 极力支持将敏捷与极限编程的工程实践结合使用。

敏捷史话(十七):维基(Wiki)背后的灵感来源—— Ward Cunningham

不论是 Wiki、面向对象编程、极限编程还是《敏捷宣言》,对于这些新的尝试,Ward Cunningham 选择迎难而上。对此,他也有自己的一套看法:“ 如果你想要做的好,那就想办法每天都去做 。选择你害怕的事情,而不是选择你擅长的事情,然后克服它,这就是推动我前行的动力。”

名人识别 图像搜索 ImageSearch 开发者 敏捷开发 网站

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:永远不要在代码中使用「User」这个单词!
下一篇:Linux : 基于 SSH2 密钥的身份验证设置综合指南
相关文章