科学的方法
科学就是希望从我们获得这些部分的可能有错误的关于世界的经验出发,获得关于这个世界的一般性的知识。“一个科学家,不论是理论家还是实验家,都提出陈述或陈述系统,然后一步一步检验它们。说得具体一些,
在经验科学的领域里,他们构建假说或理论系统,然后用观察和实验,对照经验来检验它们。”
科学或者非科学的划界标准是可证伪性。“可以作为划界标准的不是可证实性而是可证伪性。换句话说,我并不要求科学系统能在肯定的意义上被一劳永逸地挑选出来;我要求它具有这样的逻辑形式:
它能在否定的意义上借助经验检验的方法被挑选出来;经验的科学的系统必须有可能被经验反驳。因此,这样的陈述:‘明天这里将下雨或不下雨’,不能被看作经验的,就只因为它不可能被反驳;而这样的陈述:‘明天这里将下雨’就被看作经验的。”
(卡尔·波普尔)
没有后悔药
人们常常在迭代完成后,回头看会觉得当初如果怎样怎样就好了,而
忘了事前要正确地预测几乎是不可能的。试错的价值很难测量也很容易被忽略。在经过试错之前,正确完成的成本可能是无穷大,却很容易被当成是零。
自然法则
“
飘风不终朝,骤雨不终日。孰为此者?天地。天地尚不能久,而况于人乎?”
(《道德经》第二十三章)自然界中很多现象都是以循环的形式出现
——
昼夜更替、四季变换,以迭代的方式发展
——
万物生长、社会进步,我们作为人类的个体又怎么能期望一次就成功呢?
不积跬步,无以至千里;不积小流,无以成江海。(《荀子·劝学》)
循序渐进,积少成多,量变到质变。——这也许就是《领域驱动设计》中所说的“突破”吧。
(荀子画像)
类似于迭代方法的一个例子是,驾驶一艘行驶在海上的货船;船长会绘制一条航线,它能够通向船长所期望的船港。在航线上,导航员要不断地查看船所在的位置(例如,建立一个标记),并且记录风、海浪、水流给船体带来的影响。假设相同的船航行在最开始制定的航道上,而不根据当时的海洋情况做任何调整,那么他们几乎不可能到达预期的港口。同样,使用迭代开发的方法作为“航线”,当项目发生细小变化时就更正它,比在项目后期这种变化已经非常大并且具有高风险时做更改要容易得多。
态度就是一切
-
以良好的心态接受不完美的事情。总有机会改进,对不对?
-
专注于价值或优先级最高的任务。
-
以交付可见的、可测量的价值为导向, 基于结果管理项目、工作、学习和生活。。
一些精彩文章:
1、 迭代开发需要一种不同的观点
2、 克服采用迭代开发时的文化挑战
3、 科学“证明”的本质与软件开发
4、 旅程!一个度假者的迭代开发指南