Martin对敏捷宣言中“可工作软件胜过面面俱到文档”的解释
没有文档的软件是一种灾难。代码不是传达系统原理和结构的理想媒介。团队更需要编制易于阅读的文档,来对系统及其设计决策的依据进行描述。
然而,过多的文档比过少的文档更糟。编制众多的文档需要花费大量的时间,并且要使这些文档和代码保持同步,就要花费更多的时间。如果文档和代码之间失去同步,那么文档就会变成庞大的、复杂的谎言,会造成重大的误导。
对于团队来说,编写并维护一份系统原理和结构方面的文档将总是一个好主意,但是那份文档应该是短小的(short)并且主题突出的(salient)。“短小的”意思是说,最多有一二十页。“主题突出的”意思是说,应该仅论述系统的高层结构和概括的设计原理。
如果全部拥有的仅仅是一份简短的系统原理和结构方面的文档,那么如何来培训新的团队成员,使他们能够从事与系统相关的工作呢?我们会非常密切地和他们在一起工作。我们紧挨着他们坐下来帮助他们,把我们的知识传授给他们。我们通过近距离的培训和交互使他们成为团队的一部分。
在 给新的团队成员传授知识方面,最好的两份文档是代码和团队。代码真实地表达了它所做的事情。虽然从代码中提取系统的原理和结构信息可能是困难的,但是代码 是惟一没有二义性的信息源。在团队成员的头脑中,保存着时常变化的系统的脉络图(road map)。人和人之间的交互是把这份脉络图传授给他人的最快、最有效的方式。
许多团队因为注重文档而非软件,导致进度拖延。这常常是一个致命的缺陷。有一个叫做“Martin文档第一定律(Martin’s first law of document)”的简单规则可以预防该缺陷的发生:
直到迫切需要并且意义重大时,才来编制文档。
摘自:Robert C. Martin《敏捷软件开发:原则、模式与实践》
相关推荐
敏捷宣言主张个体和互动胜过流程和工具,可工作的软件胜过详尽的文档,客户协作胜过合同谈判,以及响应变化胜过遵循计划。这些原则为敏捷开发提供了指导方向。 2. **设计原则**:书中涵盖了设计模式和SOLID原则,如...
宣言中强调了个体和互动高于流程和工具,可工作的软件高于详尽的文档,以及客户合作高于合同谈判等。这些原则指导软件开发者在面对需求变化时如何作出快速反应,并保持软件的高质量。 敏捷方法论中常见的实践包括...
这一理念源自2001年的“敏捷宣言”,该宣言提出四个核心价值观:个体和交互胜过流程和工具,可工作的软件胜过详尽的文档,客户协作胜过合同谈判,以及响应变化胜过遵循计划。 书中详细介绍了敏捷开发的十二项原则,...
敏捷宣言是敏捷开发的基石,它强调个体和互动胜过流程和工具,可工作的软件胜过详尽的文档,客户合作胜过合同谈判,响应变化胜过遵循计划。这四大价值点体现了敏捷开发对快速适应变化和持续交付高质量软件的追求。 ...
敏捷宣言列出了四个核心价值观:个体和交互胜过过程和工具,可工作的软件胜过详尽的文档,客户合作胜过合同谈判,以及响应变化胜过遵循计划。这些价值观体现了敏捷开发的核心理念,即重视人的因素,强调沟通,以及对...
可工作的软件胜过详尽的文档;客户合作胜过合同谈判;准备应对变化胜过遵循计划。这些价值观指导着敏捷团队的行为和决策。 二、敏捷原则 书中详细阐述了12个敏捷开发原则,它们是敏捷宣言的具体化,涵盖了从团队...
敏捷开发的核心在于敏捷宣言,它强调个体和互动高于流程和工具,可工作的软件高于详尽的文档,客户合作高于合同谈判,响应变化高于遵循计划。这些价值观推动了敏捷方法的灵活性和高效性。 2. **敏捷原则**: 书中...
Martin通过本书向读者展示了敏捷开发的魅力,并指导读者如何将其应用于实际工作之中。 此外,本书还包括了面向对象设计模式和UML的实践应用,帮助读者更好地理解如何通过设计模式和统一建模语言来解决面向客户系统...
1. **敏捷宣言**:敏捷开发的基石,包括四个价值观——个体和交互胜过流程和工具,可工作的软件胜过详尽的文档,客户协作胜过合同谈判,响应变化胜过遵循计划。这四大价值观指导着敏捷实践的每一个决策。 2. **十二...
敏捷宣言强调个体和互动高于流程和工具,可工作的软件高于详尽的文档,客户合作高于合同谈判,响应变化高于遵循计划。这些原则鼓励团队灵活应对项目中的不确定性,注重与客户的密切沟通,以及持续交付有价值的软件。...
敏捷宣言是敏捷开发的核心,它包含四个价值观:个体和互动高于流程和工具,可工作的软件高于详尽的文档,客户合作高于合同谈判,响应变化高于遵循计划。 在书中,作者首先介绍了敏捷开发的背景和理念,解释了为什么...
Martin作为敏捷宣言的起草人之一,他在书中分享了大量的经验,不仅包括软件开发的理论知识,还有他个人在解决实际问题时的思考与方法。例如,他强调面向对象设计的重要性,提倡使用设计原则,如单一职责、开闭原则...
这一理念源于2001年的敏捷宣言,它提倡个体和互动高于流程和工具,可工作的软件高于详尽的文档,客户合作高于合同谈判,响应变化高于遵循计划。敏捷方法如Scrum、XP(极限编程)和Kanban等,都是这一理念的具体实施...
1. **敏捷宣言与价值观**:敏捷开发的核心是敏捷宣言,它强调个体和互动高于流程和工具,可工作的软件高于详尽的文档,客户协作高于合同谈判,响应变化高于遵循计划。敏捷宣言基于四个价值观:个体和交互、可工作的...
1. 敏捷价值观:敏捷宣言强调个人和互动高于流程和工具,可工作的软件高于详尽的文档,客户协作高于合同谈判,响应变化高于遵循计划。这些价值观鼓励灵活、务实的开发方式,以满足快速变化的客户需求。 2. 整体开发...
1. 敏捷宣言:重视个体和互动,可工作的软件,客户合作,以及响应变化,胜过过程和工具,详尽的文档,合同谈判,以及遵循计划。 2. 十二原则:频繁交付工作软件,欢迎改变需求,业务人员和开发者必须每天都一起工作...
其次,敏捷开发注重可工作的软件,而非详尽的文档。这是为了确保在项目进行过程中,团队能够集中精力先开发出能够运行的软件,然后在后续的迭代过程中逐步完善文档。 再者,敏捷开发中的客户合作高于合同谈判。在...
2. 可工作的软件高于详尽的文档。 3. 客户合作高于合同谈判。 4. 响应变化高于遵循计划。 这些价值观强调了以人为本、快速迭代、客户参与和灵活适应的重要性。 二、敏捷原则 敏捷开发的十二原则进一步细化了敏捷...