敏捷团队的扩张除了代码还需要什么?
作者:网络转载 发布时间:[ 2014/2/13 15:40:34 ] 推荐标签:敏捷团队 软件开发 设计 开发团队
人是知识的传送带
许多设计思想都存在于种族记忆(tribal memory)中——Grady Booch对于开发与维护系统来说,尽管保留模型以及代码库能够覆盖大部分的必要知识,但仍有一部分隐藏的知识保留在团队成员的脑海中。Grady Booch将其称为种族记忆。
日本有一所神庙名叫伊势神宫。其中有一座神庙建筑,建立在两个相邻场地的其中一块,并且两块场地具有同样的大小。每隔20年,他们会把建筑从一处移至另一处。不仅神庙经过了重新建造,并且它的庄严外表与宝库也得到了翻新。这一仪式将建筑的知识从这一代神庙传到下一代。虽然没有任何设计文档,但通过一起进行重新建造的过程,技术、工具以及实践知识都得以从这一代传递到下一代。记住,“经验是好的老师”,并且只有在众人齐心协力时,才能够传递丰富的设计知识。
伊势神宫(图片来源:维基百科)
建模的小提示
理解了我所介绍的思想与经验之后,在后我将提供一些小提示,你可以在每日的建模会议或研讨会中用到它。
“逆向与模型”,许多UML工具支持“逆向工程”这一特性,它能够将代码即时转换为图形。其中某些工具支持从源代码中进行拖放操作,甚至直接支持Github代码库的URL。你还可以将从代码中逆向工程所得的包与类作为进一步建模的基础。这样,你不仅仅可以从保留模型开始建模,还能以代码库所生成的模型作为建模的基础。
“打印与绘制”,如同之前所说的,一个具有良好互动性的建模研讨会应该在墙上(或者桌面上)贴上几张大纸,并使用这些纸张开展对话,将心得与反馈直接绘制在这些打印纸上(图11)。
“投影仪与白板”,在研讨会上分享模型的另一种方式是使用投影仪与白板,以模拟“打印与绘制”的情况。使用投影仪在白板上展示保留模型,并在白板上绘制各种留言,或者粘上便条贴。
“回顾”,我在之前推荐了一些我认为简单的保留模型,但每个团队都可能有不同的情况。因此建议首先从我的建议,或者你觉得合适的模型作为第一部分的保留模型。并在每个Sprint之后为你选择的模型作一个回顾,讨论一下哪些模型起到了良好的作用而哪些没有,以及另外还需要哪些模型。总之,找到你的保留模型。
“思维导图建模“,在与用户交流时、做计划时以及其它一些氛围轻松但非常重要的工作时,UML以及其它软件工程图的作用并不理想,这时可以使用思维导图了。具体细节请阅读《敏捷建模与思维导图和UML》。以下这个示例思维导图是我为某个用户创建的,名为“用户故事探索”。
结论
在本文中,我详细解释了建模工作将如何适应诸如Scrum这样的敏捷开发框架,并且建议了几种你可以在产品的整个生命周期中保留的模型。我还推荐你开展一个建模研讨会以交流设计意图,并建立起对系统的共识。尤其当团队扩张到多个子团队之后,这种实践会变得愈加重要。
致谢
我在这里要感谢Hiroki Kondo、Alex Papadimoulis以及Scott Reece的建议,并感谢Ben Linders检阅并编辑了这篇文章。特别要感谢Craig Larman,是他首先介绍了建模(或者将“模型”作为动词亦可)研讨会的重要性,并且还在他的飞行途中为我的这篇文章提供了一些根本性的建议。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11