软件工程讲义 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], 强调 [过去你做得不够, 但是我们以后可以做得更好]
在技术团队里, 我们的反馈还是要着重于 [行为和后果] 这一层面, 不要贸然深入到 [习惯和动机], [本质]. 除非情况非常严峻, 需要触动别人内心深处, 让别人悬崖勒马。
然后再来一片面包, 盖上。 这时候可以呼应开头, 鼓励对方把工作做好。
好, 一个有营养而可口的汉堡就做好了:
为什么我要啰啰嗦嗦讲这么多两人合作的反馈问题? 因为我认为如果你连一对一的合作都做不好, 不能运用影响力去影响同伴, 让合作双方都能从合作中受益, 提高水平,那你就别扯什么团队合作这些事了。
另一个原因是, 中国历史上似乎很少有两个人平等合作, 而共同提高的例子. 我拍脑袋想到的著名”二人组” 合作过程中都充满了小故事, 结局都不是太好:
周瑜 诸葛亮
管宁 华歆
[如果同学们能举出中国历史上成功的两人合作, 改进, 提高的例子, 欢迎提供线索]
外国的 IT 行业中, 倒是有不少两人合作的例子:
Hewlett & Packard 在车库创业, 当初他俩抛硬币决定公司叫 HP, 还是 PH. 两人长期的合作和友谊让 HP 成为硅谷的常青树.
Steve & Steve
Paul & Bill, 两人的合作要从中学说起
Jerry Yang & David Filo. Yahoo! 的创始人
Mr. Page & Mr. Brin
当然, 还有电影中的 Mark 和 Edurado, 这两人后来闹了点小别扭。
有一个说法, 创业家在创业初期必须要说服三个F: Family, Friend, and a Fool. 如果Family 和 Friend 都没人支持你的想法, 第三个F 估计也帮不了带大的忙。 如果你的哥们儿, 闺蜜都不看好你的想法, 或者光说不练, 那你找对朋友了么?
-------------
另: 关于团队合作, 不光中国这样, 别的国家也好不到那里去, Peter Norvig 也建议美国的学校多讲团队合作, “我上学的时候,团队合作被认为是作弊”。 - 摘录自 <Coders At Work>
软件工程讲义 3 两人合作(2) 要会做汉堡包相关推荐
- 《移山之道》第十一章:两人合作 读书笔记 PB16110698 第六周(~4.15)
本周在考虑阅读材料时,我翻阅了<移山之道>,正好看到这一章:两人合作,心想:正好,我们正值结对作业的紧要关头,书中两人合作的宝贵经验和教诲应当对我们有很大帮助.于是,我开始一边在ddl苦 ...
- 构建之法---初识篇(软件工程师的成长和两人合作)
这周主要看的是第三章和第四章:软件工程师的成长和两人合作,首先衔接上一次的第二章的内容,继续了解如何成为一个合格的软件工程师,当我们真正成为一个合格的软件工程师的时候,我们就应该进行团队合作了,首先从 ...
- 构建之法第四章--两人合作
两人合作 这一章主要讲述代码规范,极限编程,结对编程,两人合作的不同阶段,影响他人的技巧. 这一章主要介绍代码的规范和代码复审,这个也是我们在编码过程中需要注意的,这样既可以方便别人,也方便了我们自己 ...
- 两人合作的不同阶段和技巧
1. 萌芽阶段 以跳舞为例,两人刚刚认识,拘谨而彬彬有礼.这一阶段的现象:两人刚刚相互认识,这时大家都有礼貌,一般交流不少,每个人都想得到对方的接纳,试图避免冲突和容易引起挑战的观点.对即将 ...
- 维持两人爱情关系需要慢慢做的事情
在每次小别之后第一次见面都要结结实实的一个拥抱,如果在公众场合,就要你亲亲我的脸,如果没人就亲嘴巴. 买一张可以放在床上的小桌,不愿意起床的时候,我们可以赖在被窝里上网.吃饭.下棋. 有一个漂亮的水晶 ...
- 现代软件工程讲义 目录
软件工程牵涉的范围很广, 同时也是一般院校的同学反映比较乏味的课程. 但是软件工程的技术对于投身IT 产业的学生来说是非常重要的. 经过几年的探索, 我总结了在16周的时间内让同学们通过 " ...
- (转)五年教学实践与思考的结晶——推荐邹欣老师的《现代软件工程讲义》目录
(转)五年教学实践与思考的结晶--推荐邹欣老师的<现代软件工程讲义>目录 2011-11-28 07:15:21 按:自打2007年结识邹老师,出版他的第一本书<移山之道>,从 ...
- 现代软件工程讲义 2 工程师的能力评估和发展
Advanced Software Engineering 现代软件工程 讲义 软件工程师的能力评估和职业发展 介绍: 个人软件流程, 职业发展, 个人绩效的衡量和提高, 软件开发是科学, 工 ...
- 现代软件工程 教学计划 适应两种难度和重点
现代软件工程 教学计划 经过 2007 - 2018 年,30个不同学校的实践后, <构建之法>在大学的两种教法已经出现了, 这两种教学计划适应于两种难度和重点. 下面我们具体介绍这两种 ...
最新文章
- TVM交叉编译和远程RPC
- 从Java多线程可见性谈Happens-Before原则
- 欢乐鼠标自动点击器_使用ESP32 DIY蓝牙自动点击器,滑屏器
- c语言%m,C语言中rand()%m是啥意思?
- SpringBoot 数据篇之使用JDBC
- 2.7 Inception 网络
- Django之form组件is_valid校验机制
- 简述Java Object类中的方法有哪些
- github python抢票_GitHub上抢票工具py12306的使用方法
- 在单机上通过docker搭建redis集群试验
- 2023-03-27-安装office365显示Microsoft Office 专业增强版 2016
- 一篇文章搞定前端单元测试框架 Jest
- 人活着到底是为了什么?心理学家马斯洛告诉你人生的终极目标
- [技术干货] zabbix docker安装详细教程
- 安卓逆向009实战分析smali代码破解小游戏(贪吃蛇)
- 普及游戏:小型团队如何赢得大赛
- Explaining and Harnessing Adversarial Examples——论文的学习笔记01
- flowable工作流技术学习
- 什么是HTTP? HTTP和HTTPS的区别?
- 【干货】柔性电池的未来展望
热门文章
- QMap与QHash
- 大公司里怎样开发和部署前端代码
- mysql获取各种日期
- ubuntu server版本安装指南(1)
- 获取axios的return值
- phalanger php compiler,phalanger-php的.net编译器 _php技巧
- 充电电流用软件测试准吗,实验:1A与2.1A对手机充电电流一样的,小伙伴再也不用担心咯...
- python代码变成运行程序_python脚本转化单个exe执行程序
- python可以代替plc吗_PLC可以代替安全控制器吗?电气工程师告诉你
- mysql统计同一字段重复的个数