引言
本书的核心思想是“任何技术都有局限性”。因此,不可能找出一种最好、最正确的软件开发方法。
在软件开发项目中汇报情况的人们也会因为一些不是事实的“事实”,犯了类似的观察错误。需求编写人员也不例外。他们观察用户群体并编写自认为是需求的文档,其实其中包含不少观察错误。
我们对“这是什么”的理解会随我们如何分解元素而走向不同的方向。
我们一开始所使用的错误词汇会误导我们对事务的理解。
在软件开发中,每个人都使用他自己的模式来解析项目中所经历的事件,因而也都会犯同样的错误。
项目中人的存在就是这种影响项目成果的重要因素,而这个因素常常被忽视。
有重要意义的思维过程发生在不精确的思维领域,在头脑中只有想法的雏形,还没有划定边界。
充分交流的不可能性。
第1章
我所知的可以与软件开发进行比较的所有对象中,攀岩是最恰当的。
协作和追求目标
负载
团队
天才
注重技能
训练
工具
资源有限
作计划
临场应变
有趣
有挑战性
危险
软件开发是一个(资源有限的)创造与交流的协作游戏。游戏的主要目标是交付有用的可工作的软件。次要目标,游戏的沉淀(知识的积累),是为下一个游戏做准备。下一个游戏可以是改变或者替代当前系统,或者是创建一个相关的系统。
一个人的职业生涯也是一场长期游戏。