软件工程讲义 3 两人合作(2) 要会做汉堡包

[上回书说到这里: http://www.cnblogs.com/xinz/archive/2011/08/07/2130332.html ]

 

很多同学憧憬在大型软件团队中和各式各样的人打交道, 推动项目进展, 但是他们往往连一对一的合作的技巧和经验都很缺乏。 请问, 从小学到高中, 大家有没有练习过 1:1 的合作? 

上课? 没有, 常听到的是 - 请不要和同桌讲话!  

考试? 有哪一个考试是两个人可以合作完成的?   好像没有。

如果两人吵架, 我们经常听到的是 - 我要告老师!

 

在同学成长的过程中, 大部分的关系都是上下级的 老师对学生, 家长对小孩… 有权威的一方一般是以 “命令/指导  + 检查/评价” 的方式来推动事情的进展。 但在社会上, 很多工作都是在和人的竞争, 合作, 讨价还价, 反馈 … 完成的。 一言以蔽之, 就是和人打交道!   有一些学习很好的同学对此有恐惧感, 我经常听到这样的表达: 

我就是想深入技术, 成为某一技术的专家, 不想管人, 最好不被别人管。

 

在一个机构中, 免不了有上下级关系, 但是更多的情况是合作的双方没有明确的上下级关系, 也没有明确的领导与服从的角色。  这在软件项目中更加常见, 这个时候你要主动叫别人做事情,还是被动让别人安排事情?  如果项目进展不如你的预期, 你如何提醒同伴? 如果两人有争执, 你是否会说 - 我要告诉老师!  我要告诉领导!?  在团队合作中, 处于平等地位的团队成员要通过 “影响 + 反馈” 来影响同伴。

 

影响 (Influence)

同学们可以试一试用下面这几种不同的影响方法。

11-2

方式

例子

逻辑/感情

/

注解

断言

Assertion

就是这样吧,听我的,没错!

感情

主动推动同伴做某事

感情很强烈,适用于有充分信任的同伴。语音、语调、肢体语言都能帮助传递强烈的信息

桥梁

Bridge

能不能再给我讲讲你的理由……

逻辑

吸引对方,建立共识

给双方充分条件互相了解

说服

Persuasion

如果我们这样做,根据我的分析,我们会有这样的好处,a b c……

逻辑

让对方思考

有条理,建立在逻辑分析的基础上。即使不能全部说服,对方也可能接受部分意见

吸引

Attraction

你想过舒适的生活么?你想在家里发财么?加入我们的传销队伍吧,几个月后就可以有上万元的收入……

感情

描述理想状态,吸引对方加入

可以有效地传递信息,但是要注意信息的准确性。夸大的渲染会降低个人的可信度

 

在软件工程课上, 同学们最喜欢的方式是 “说服”, 也许是理工科的缘故吧。  其实其它方式也很管用。  试想 - 深夜,  宿舍着火了, 大家都往外跑, 你的室友还在为穿哪一件衣服出去而犹豫不决。 这时你会选哪一个方法?  桥梁? 说服? 吸引? 还是断言?

 

反馈 (Feedback)

“哪个人前不说人,  谁人背后无人说” - 在人后对人评点是我国人民的优良传统。 这姑且可以算是“简洁反馈”, 因为这些反馈最终也会添油加醋, 拐弯抹角地传到本人耳朵里。 

 

但是, 我们有没有对老师, 家长, 同学 做过一对一的反馈?  很少。 恋人之间倒是有很多, 不过由于恋爱时荷尔蒙水平太高, 人脑处于不太理性状态, 因此不在讨论之列。

 

反馈就是告诉对方你对ta 的感想, Shrek 说过, 人都像洋葱一样, 有很多层次, 你要针对哪一个层次反馈呢?

最外层:  行为和后果

中间层:  习惯和动机

最内层:  本质和基本属性

 

例如王屋村的果冻邀请邻村的姑娘荔荔去听音乐会,  荔荔在音乐厅门口左等右等, 音乐会开始 5 分钟之后果冻才赶到。 这时荔荔可以给果冻三个层次的反馈。

最外层: 行为和后果

果冻, 你迟到了, 让我很着急, 我们现在进不了会场, 只能在外面等第一幕结束。 我们错过了精彩的表演!

//注: 当反馈是关于行为和后果时,  行为可以改正, 后果可以弥补, 对方还是有挽回局面的机会。 

 

中间层: 习惯和动机

果冻, 你怎么又放我鸽子, 我的几个闺蜜都进去了, 就我被晾在外面, 你是故意耍我! 让我丢人!

//注: 当攻击上升到习惯和动机, 被攻击的一方就比较难表白并且澄清动机。

 

最内层: 本质和基本属性

果冻, 你太自私了, 都想着你自己和你那破软件项目!  你们王屋村的男人没一个好东西!  自私! 

//注: 当攻击深入到核心, 被攻击一方已经无法回应, 因为攻击的目标 [王屋村的男人] 是自己无法改变的。 或者无从下手的 [自私]。

 

任何人都不是完美的, 都有可以改进的空间。 在软件工程的合作中, 合作伙伴同样会有很多意见要告诉同伴, 有技术上的, 也有合作方式上的, 也有为人处世上的, 说不定还有感情上的。 我们就拿最简单的代码规范来说吧, 假设果冻无意中使用了 Tab 缩进 的风格, 他的同伴小飞很不爽, 因为小飞是主张 4个空格 的风格。 小飞会怎么提意见呢?

最外层: 行为和后果

果冻, 我注意到你写程序的时候使用 Tab 缩进, 我们当初在团队规范的时候说好了是用 4 个空格。 如果个别人使用了不同的风格, 以后大家在阅读,修改代码的时候就会有很多不方便的地方. 同时我们制定的这么简单的规范都不能实施的话, 会让大家感觉不好,对以后其它工作也有影响。

//注: 当反馈是关于行为和后果时, 行为可以改正, 后果可以弥补, 对方还是有挽回局面的机会。

 

中间层: 习惯和动机

果冻, 你怎么又搞 Tab 缩进?  这都第几次了?  我们上次都有共识了, 你怎么还这么做呢?  你是对上回大家的决议不满么?  那也不能偷偷搞破坏!

//注: 当攻击上升到习惯和动机, 被攻击的一方就比较难表白并且澄清动机。

 

最内层: 本质和基本属性

果冻, 你太自私了, 都想着你自己的风格和方便, 团队精神哪去了! 你们移山软件学院出来的学生怎么都是这样自私啊!

//注: 当攻击深入到核心, 被攻击一方已经无法回应, 因为攻击的目标 [移山软件学院的学生] 是自己无法改变的。 或者无从下手的 [自私]。 可以想象这个触及灵魂深处的冲突会有暴力的结局。 

 

另外, 在给别人反馈的时候, 我们最想让别人接受的当然是最有营养的 [肉], 但是光有肉, 别人不好拿, 也不好吃。 你不能强迫别人下咽。 我们要向做汉堡包、三明治的师傅们学习 - 把反馈做成汉堡包:

先来一片面包, 做好铺垫, 例如可以从双方的共同点, 团队共同的愿景讲起, 让对方觉得处于一个安全的环境。

再把肉放上,这时就可以把 建设性的意见 (constructive feedback) 油炸好, 加上生菜, 佐料等。

怎么准备这块肉也有讲究: 

我们常说 [feedback], 但是在提供反馈时, 不宜完全沉溺于过去的陈年谷子烂芝麻, 给别人做评价, 下结论。  这样会造成一种 [你就是做得不好, 我恨你] 的情绪。

我们可以调整一个角度, 把 [feedback], 变成 [feedforward], 强调 [过去你做得不够, 但是我们以后可以做得更好]

 

在技术团队里, 我们的反馈还是要着重于 [行为和后果] 这一层面, 不要贸然深入到 [习惯和动机], [本质]. 除非情况非常严峻, 需要触动别人内心深处, 让别人悬崖勒马。

 

然后再来一片面包, 盖上。 这时候可以呼应开头, 鼓励对方把工作做好。

 

好, 一个有营养而可口的汉堡就做好了:

image

 

为什么我要啰啰嗦嗦讲这么多两人合作的反馈问题?  因为我认为如果你连一对一的合作都做不好, 不能运用影响力去影响同伴, 让合作双方都能从合作中受益, 提高水平,那你就别扯什么团队合作这些事了。

另一个原因是, 中国历史上似乎很少有两个人平等合作, 而共同提高的例子.  我拍脑袋想到的著名”二人组” 合作过程中都充满了小故事, 结局都不是太好:

周瑜 诸葛亮

管宁 华歆

[如果同学们能举出中国历史上成功的两人合作, 改进, 提高的例子, 欢迎提供线索]

 

外国的 IT 行业中, 倒是有不少两人合作的例子:

image Hewlett & Packard 在车库创业, 当初他俩抛硬币决定公司叫 HP, 还是 PH.   两人长期的合作和友谊让 HP 成为硅谷的常青树.

image Steve & Steve

image Paul & Bill,  两人的合作要从中学说起

image Jerry Yang & David Filo.  Yahoo! 的创始人

 

image Mr. Page & Mr. Brin

image 当然, 还有电影中的 Mark 和 Edurado, 这两人后来闹了点小别扭。

 

有一个说法, 创业家在创业初期必须要说服三个F:  Family, Friend, and a Fool.  如果Family 和 Friend 都没人支持你的想法, 第三个F 估计也帮不了带大的忙。  如果你的哥们儿, 闺蜜都不看好你的想法, 或者光说不练, 那你找对朋友了么?

 

 

作业: 两人合作的作业:

1. 确认两人平等合作的关系

2. 阅读《构建之法》中关于两人合作, 如何给对方提意见的内容

3. 开始合作,如果任务是编程, 请看“结对编程”的内容; 如果任务是原型设计,请按“结对编程”的方式进行合作;如果任务是“分析软件”,请两人商量如何有效率地分工。 

4. 用照片说明两人合作的情况(拍工作照, 可以不暴露面部)

5. 写博客汇报作业的过程, 并用汉堡包的方法点评你的合作伙伴, 务必给TA 提改进意见。 

 

 

-------------

另: 关于团队合作, 不光中国这样, 别的国家也好不到那里去, Peter Norvig 也建议美国的学校多讲团队合作, “我上学的时候,团队合作被认为是作弊”。 - 摘录自 <Coders At Work>

posted @ 2011-08-22 00:05 SoftwareTeacher 阅读(...) 评论(...) 编辑 收藏