小议scrum - 取消设计文档?

本文针对Scrum敏捷项目管理中是否取消设计文档进行了探讨。作者认为设计文档的重要性不容忽视,尤其是在确保解决方案的质量和团队沟通方面。
我不懂scrum。最近浏览JavaEye的帖子,越来越多的scrum字眼撞入了眼球,于是开始关注它、学习它。《Scrum敏捷项目管理》由Scrum的缔造者Ken Schwaber撰写,算是Scrum相关的一本经典作品。书中确实总结了一些有效的敏捷方法,但阅读过程中也有一些疑惑。标题中提到的这个观点是我遇到的其中一个。

在该书中文版第109页中写到:

[quote]我与(Service1st团队的)哈尔及经理们探讨优化团队绩效的最重要因素。……我还建议取消开发过程中仅支持瀑布式方法的人工因素,比如设计文档等。Scrum依赖高密度、面对面的交流和团队合作;……[/quote]

看到这里,我吃了一惊。取消设计文档?真的要颠覆传统吗?我知道开放的、面对面的交流很重要:大家能够从不同的角度评价问题,有利于全面地权衡解决方案的优劣;同时集中式讨论有助于迅速地发现问题,集体的智慧也提供了更快找到解决方案、找到更优解决方案的可能。但是,仅仅通过面对面的交流就够了吗?我有几点疑惑:

一、以这样的方式得到的解决方案肯定就是最优的方案吗?
二、解决方案肯定不会存在漏洞了吗?
三、解决方案在未来不可能扩展或改变吗?
四、过了一段时间后,大家仍能清晰地记得当初的解决方案吗?

如果以上疑惑中至少有一个是问题,我们该如何解决呢?把面对面的交流成果以书面的方式保存下来(比如写成设计文档),我们不用担心遗忘,我们可以冷静地重新审视方案,每位参与交流的成员都有机会知道自己的理解与团队的理解(在文档中反映)是否一致。如果不这样,我们得用什么方式来应对这些可能的问题呢?这些方式的代价会(比以书面的方式保存下来)低一些吗?

我知道一些朋友会提到一个观点:好的代码就是文档,或者类似的说法。但是代码不能代替文档,因为:一、与文档相比,代码与人类的普通逻辑思维差异甚大。二、因为第一点,代码只适合程序员阅读,而文档的适应范围更广。三、代码通常是散布的(比如一项使用Java开发的Web应用解决方案就可能涉及到数据库、用Java编写的组件及页面),而文档可以把这些内容组织为一个便于理解的整体。

或许还有朋友会提到:文档很难维护,容易过时,特别是设计文档。没错!代码最终是要转换成可运行的程序,并在交付给客户之前进行测试和验证。如果发现问题,代码必须修正。在这种外在的动力下,代码最终会与产品目标达到一致。但文档(特别是不需要交付给客户的文档,其中最特别的是主要由程序员使用的设计文档),在没有外在动力的情况下很可能不被维护而迅速过时、失效。在一次性的项目中(我的意思是指项目的产品仅用于某个特定的客户,后期的维护时间很短或维护内容不太复杂,团队也不需要在该项目的开发过程中积累更多的知识),文档失效可能并不是最突出的问题。此外,我个人有种感觉:找到代码写得很烂的程序员很容易,但找到文档写得很烂的程序员更容易!这或许得部分归咎于我们的教育吧?不管怎样,我始终认为文档的问题是一个管理上的问题,文档本身没有错。团队要生产好的代码,也要生产好的文档。

这两天在Scrum Alliance的网站上看到一篇访谈:Scrum Meets Waterfall - An Interview with Mike Cohn ([url]http://www.scrumalliance.org/articles/93-scrum-meets-waterfall[/url])。Mike是Scrum Alliance的奠基人之一。在文中Mike提到:

[quote]There are a lot of myths in agile about things like, you know, “documentation is horrible.” Documentation is not horrible, right? The Agile Manifesto says we value working software over comprehensive documentation. It doesn’t say get rid of all documentation. And a lot of agilists are opposed to Gantt charts and things like that. Those are mistakes. Gantt charts are wonderful communication tools. So I don’t go in and want to try to change how a, how a company looks at things.[/quote]

看到这里,我想,这可以理解为对书中的那段话的一个修正吧。或许对于那句话我应该理解为,作者只是想在Service1st这个团队中取消设计文档?
【最优潮流】直流最优潮流(OPF)课设(Matlab代码实现)内容概要:本文档主要围绕“直流最优潮流(OPF)课设”的Matlab代码实现展开,属于电力系统优化领域的教学与科研实践内容。文档介绍了通过Matlab进行电力系统最优潮流计算的基本原理与编程实现方法,重点聚焦于直流最优潮流模型的构建与求解过程,适用于课程设计或科研入门实践。文中提及使用YALMIP等优化工具包进行建模,并提供了相关资源下载链接,便于读者复现与学习。此外,文档还列举了大量与电力系统、智能优化算法、机器学习、路径规划等相关的Matlab仿真案例,体现出其服务于科研仿真辅导的综合性平台性质。; 适合人群:电气工程、自动化、电力系统及相关专业的本科生、研究生,以及从事电力系统优化、智能算法应用研究的科研人员。; 使用场景及目标:①掌握直流最优潮流的基本原理与Matlab实现方法;②完成课程设计或科研项目中的电力系统优化任务;③借助提供的丰富案例资源,拓展在智能优化、状态估计、微电网调度等方向的研究思路与技术手段。; 阅读建议:建议读者结合文档中提供的网盘资源,下载完整代码与工具包,边学习理论边动手实践。重点关注YALMIP工具的使用方法,并通过复现文中提到的多个案例,加深对电力系统优化问题建模与求解的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值