[存档]Alistair Cockburn-2003年11月UMLChina交流会

以下内容来自《非程序员》杂志第31期,pdf下载地址:

《非程序员》电子杂志下载(39-51期)

《非程序员》电子杂志下载(1-38期)


2003 年 11 月 8 日,Alistair Cockburn 到京为一家跨国公司的中国分部作指导。当天UMLChina 也在北京举办"有效用例实践"讲座,在用例技术上,UMLChina 一直是 Cockburn 的追随者。所以利用这个机会,邀请 Cockburn先生和参加 UMLChina 讲座的开发人员一起交流,并举行了签书活动。

活动于下午 14:00 在海淀图书城富益视点图书中心举行。Cockburn 先生一进门刚好看见他的书被集中到一起, 放在显眼的位置,于是持书留影:

图 1 在自己著作前留影

然后上楼和大家交流。Cockburn 先解释了活动会场欢迎背景中的 Actor 小人的故事,"UML 里的火柴杆小人对我来说太难画了,所以我创作了这样一个。"

图 2 Cockburn 画的小人

然后做了开场白:

"在我的主页上有三个汉字,'守''破'、'离',日文发音是 Shu-Ha-Ri,和中文发音不同。

图 3 http://alistair.cockburn.us/上的三个汉字

为什么我要把这三个字放在我的主页上呢?

因为对于用例(Cockburn 用汉语发音说出了'用例'二字)的初学者来说,肯定要先遵守一定的规范,经过一定时间的使用以后,用例编写者就会尝试使用不同的方法来编写用例,在这本绿色的书(注:指《有效用例模式》,中译本由清华大学出版社出版)里面,第二部分介绍了如何用不同方法编写用例。在这本蓝色的书(注:指《敏捷软件开发》,中文注释本和中译本由人民邮电出版社出版)里面, 介绍了使用敏捷(Cockburn 用汉语发音说出了'敏捷'二字)软件开发方法来编写用例,这个时候就要用到第三个字'离',这个时候,你要用最快的速度和最低的代价来编写。

那么,用一个具体的做面包的例子来说,守就是一个从来没有做过面包的人,就需要有一个菜单似的东西告诉他你具体应该怎样去做,第一阶段'守'最重要的是我要知道菜单给我提供的是一种正确的方式,我只要照着去做,就能够做出面包来。

那本紫色的书(注:指《编写有效用例》,英文版是紫色的,中译本是白色的),对,是白色的书提供的就是象处方那样的东西,你只要照着处方一步步去做,就能够写出正确的用例。

到了第二个阶段,也就是'破'的阶段,这时你不满足做普通的面包了,你想做松酥的面包、薄一点或是厚一点的面包,这个时候就需要不同的处方,根据不同的方式,做出不同的面包来。而象我的妻子那样做面包,就和那两个层次不一样了,她只需要凭她的手感,抓一些面粉,倒一些水, 弄点鸡蛋在里面揉揉就能做出她想要的面包,这就是'离'的阶段。

到了她那个阶段,她既知道如何根据处方来做,也知道不看处方怎么做。到了敏捷开发阶段,就要求你处在第三层次。

就象编程序,一开始要老老实实从第一步做起,到了技术越来越好时,你自己就能判断用什么方法来使编程能满足你的需要。这样我们很容易理解为什么一些人会碰到这样的情况,一名老练的程序员,他熟悉各种编程技术,用这种也可以,用那种也可以。

当一个初学者来问他怎样编程时,他会说,你可以这样,也可以那样。这不是初学者想要听到的。初学者总是会问,

'什么是最好的办法',老程序员说,没有最好的方法,这样也行,那样也行。其实自然的规律总是有一个'守'、'破'、'离'的阶段,初学者总是在'守'的阶段,随着时间的推移,会到达'离'的阶段。"

图 4 上文中 Cockburn 提到的著作

接下来大家就平时使用用例技术时碰到的各种难题和 Cockburn 先生展开了交流。最后,举行了简短的签书仪式并和大家合影。

图 5 在回答问题时当场用白纸制作CRC 卡

图 6 签书

图 7 请中译本译者乐林峰为他签名

图 8 合影

交流会结束后,继续举行了UMLChina"有效用例实践"讲座,由于场地不允许太晚,所以把时间提前到17:00-19:00(即:整个活动是14:00-19:00),临时已经来不及通知。

也有朋友来信表示不满,说赶到那里已经没人了,在此在深表歉意的同时,也要说一句:活动14:00开始,您19:00才赶到,猛将兄您是不是也太猛了?

相关推荐
产品人卫朋2 小时前
MTL如何把市场机会转化为有效销售线索?
人工智能·华为·产品经理·ipd流程·流程架构·mtl流程
小王师傅663 小时前
上帝之手:一个比喻在软件里的落点
软件工程·编程思想
TOSUN同星4 小时前
TSMaster 9月功能亮点:旋钮控件、三大模块、报文过滤、SOMEIP静态注册全升级
汽车·软件工程
rolt8 小时前
[鉴赏]摇身一变鼓吹软件工程-01-Allen Holub
ai·软件工程·uml·敏捷开发
wanghao6664551 天前
看 AI 怎样处理三份表格,理解 Harness
产品经理
长不大的杨瑞杰1 天前
OpenCode v2 团队治理实战:多仓库 Policy、灰度发布与故障回滚
运维·人工智能·安全·软件工程·devops
长不大的杨瑞杰2 天前
OpenCode v2 CI 与自动化实战:无交互运行、权限收口与制品闭环
运维·人工智能·ci/cd·自动化·软件工程·1024程序员节
iCxhust2 天前
如何实时同步自己的工作日志,在不同的设备间
前端·软件工程·1024程序员节·同步日志
我是李工啊3 天前
PRD 总和代码对不上?让 AI 从代码生成状态图和权限矩阵
人工智能·产品经理