敏捷开发(纪念版)
上QQ阅读APP看书,第一时间看更新

可以工作的软件优先于详尽的文档

没有文档的软件是场灾难。光看代码,并不能充分理解系统的原理和结构。相反,团队需要编制易于理解的文档来描述系统并解释设计思路。

但是,文档太多比没有文档更可怕。海量的软件文档需要花许多时间编写,甚至要花更多时间保持与代码的同步。失去同步,文档会变成一堆庞杂的谎言,会造成很多误解。

团队应编制并维护一份简短的文档来描述原理和结构。但文档应短小精悍。短小是指最多一二十页。精悍则是指应讨论总体设计原理,只描述最高层的结构。

那么,如果只有一份简短的原理和结构文档,如何培训新的团队成员熟悉和使用系统?答案是我们和他们紧密协作。我们手把手地教他们。密集的培训和互动可以使他们成为团队的一员。

向新的团队成员传递信息时,代码和团队是最好的两种“文档”。代码不会撒谎。也许不容易通过代码来领会原理和意图,但代码是唯一不会产生歧义的信息来源。始终都在变的系统路线图存在于团队成员的大脑中。为了将路线图写到纸上并传授给其他人,最快和最高效的方法是通过人与人之间的互动。

许多团队因追求文档而不是软件而陷入窘境。这通常会成为一个致命的弱点。请遵循以下简单的规则来避免:

Martin文档第一定律

除非有迫在眉睫且重大的需求,否则不要写文档。