原文地址 ruizhengyun.cn/#/code/5/co…测试
问题驱动
项目启动和版本迭代都存在这类问题:ui
- 方案一是精心开发测试后再投入使用;
- 方案二是将半成品先公开,而后再逐步完善;
这不经让我想起 Eric Raymond 有一篇著名文章《大教堂和集市》(The Cathedral and the Bazaar)。做者写这篇文章的目的是去分析 Linux 的成功之道。即寻找下面三个问题的答案:操作系统
- 为何一个本科生的业余做品,最后竟变成了全世界最流行的操做系统之一?
- 一个简陋的集市到底是怎样变成壮丽的大教堂的?
- 这个过程是不是可复制和推广的?
这就是开放的威力。一个开放式的项目,若是加以良好的管理和运做,能取得比同等的封闭式项目大得多的成功。设计
书中观点
世界上的建筑能够分两种:code
- 一种是集市,每天开放在那里,从无到有,从小到大;
- 一种是大教堂,几代人呕心沥血,几十年才能建成,投入使用;
当你新建一座建筑时
你能够根据两种模式的特色再进行选择。开发
- 集市的特色是开放式建设、成本低、周期短、品质平庸;
- 大教堂的特色是封闭式建设、成本高、周期长、品质优异;
提出问题
Eric Raymond 就问了一个问题,有没有可能用修建集市的方式,造出一所大教堂?get
实现集市要变成大教堂
前提条件
- 不能从零开始建设集市,必须先有一个原始项目;
- 原始项目容许有缺陷,但必须能运行;
- 必须向用户展现一个可行的前景,且让潜在的合做者相信在可预见的未来它会变成 一个真正漂亮的东西;
- 项目的管理者自己不必定是天才,但他必定要可以采纳其余好的想法;
- 项目的管理者必须有良好的人际关系、交流技能和人格魅力,这样才能吸引他人,使别人对你所作的事感兴趣,且愿意给予用帮助;
充分条件
- 项目首先必须是本身感兴趣的,才能能对其余人有用;
- 将用户看成合做者;
- 常常改进并版本迭代发布,多听取用户的意见;
- 健壮的结构远比精巧的设计来得重要。换句话说,结构大于功能;
- 保持项目的简单性。设计达到完美的时候,不是没法再增长东西了,而是没法再减小东西了;
大教堂和集市之间的竞争
- 将来会更多地属于那些告别大教堂、拥抱集市的人们;
- 这不是说我的的远见和才华再也不重要;而是在我看来,将来的成功者只是从本身的远见和才华开始工做,而后经过有效的社区合做,将其不断地放大;
- 开放式的文化会最终胜利,这或许不是由于 "开放" 在道德上正确,或者 "封闭" 在道德上错误,而只是由于开放式合做能够在一个问题上投入多几个数量级的技术工时,封闭的世界没法赢得这样的竞争;