软件工程讲义 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 估计也帮不了带大的忙。  如果你的哥们儿, 闺蜜都不看好你的想法, 或者光说不练, 那你找对朋友了么?

 

 

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/500442.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

现代软件工程讲义 4 团队和流程

Advanced Software Engineering, Team Structure and Development Process 软件团队和开发流程 非团队和团队 在讲团队之前, 我们要讲什么是“非团队”。王屋村里经常发生这样的一幕: 王屋村的大智要把一堆砖头从村头搬到村尾。 他到顶球酒吧前, 看到前面三三两两地蹲着一…

现代软件工程讲义 12 绩效管理

我们前文讲了怎样衡量软件工程师的能力, 工程师如何成长, 如何证明自己的成长, 等等. 这些都是在一个独立的, 不受外界干扰的空间中做出来的判断。 我们假设一个有能力的工程师, 到了另一个团队, 仍然是一个有能力的工程师。 如何衡量个人在团队中的绩效? 如果一个工程师能…

校园招聘 - 比较容易的面试题

又到校园招聘的季节了, 自从和一些同事出版了《编程之美》一书之后, 我经常收到一些关于面试, 编程, 和“题库”的询问。 其实我自己对算法没有什么研究, 有些问题都答不上, 研究院最近搬了一次家&#xff0c; 原来的 “题库”也不知道搬到那一层楼去了。 不过, 常在河边走,…

现代软件工程讲义 2 工程师的能力评估和发展

Advanced Software Engineering 现代软件工程 讲义 软件工程师的能力评估和职业发展 介绍: 个人软件流程, 职业发展&#xff0c; 个人绩效的衡量和提高, 软件开发是科学, 工程, 手艺, 或是艺术? 我们刚讲了软件工程, 它包括了什么呢? 软件工程包括了开发&#xff0c;…

现代软件工程讲义 7 设计阶段 典型用户 - 故事 - 任务 - 具体工作

当我们写一个软件的时候, 都知道要为用户考虑, 但是用户在哪里? 有同学写 “图书馆管理系统” - 说来图书馆的同学都是我的用户, 但是他们有没有区别呢? 有同学写“自动柜员机系统”, 那到底有多少类型的用户来到柜员机前呢? 这些都是团队成员在需求分析和设计阶段要反复…

现代软件工程讲义 7 开发 开发阶段的日常管理

[移山之道 14 章] 14.6 开发阶段的日常管理14.6.1 闭门造车&#xff08;leave me alone&#xff09; 荔荔&#xff1a;我今天真失败&#xff01;在办公室里坐了10个小时&#xff0c;但是真正能花在开发工作上的可能只有3个小时&#xff0c;然后我的工作进展大概只有两个小时…

现代软件工程讲义 7 用户界面和用户体验

说到用户界面 (User Interface)&#xff0c;我们先看一个图: [来源] 有些同学认为UI 设计是充满创意和非常潇洒的工作&#xff0c; 另一些同学 (特别是有一定实际项目经验的) 也许会抱怨, UI 的工作就是在衣服后面夹夹子, 让前面好看一些。 其实&#xff0c;计算机软件的用户…

现代软件工程讲义 5 项目经理 Program Manager

在一个软件团队里, 不同的人有不同的投入, 我们在 猪,鸡和鹦鹉 的故事里已经说明了. 不同的人还要在团队中担负不同的任务, 我们也要讲一下. 开发人员 &#xff08;大部分内容在: 现代软件工程讲义 2 工程师的能力评估和发展&#xff09; 项目经理 ( 这篇博客 ) 测试人员 …

现代软件工程讲义 5.1 软件的质量保证 (QA) 和测试 (Test)

在一个软件团队里, 不同的人有不同程度的投入, 我们在 猪,鸡和鹦鹉 的故事里已经说明了. 不同的人还要在团队中担负不同的任务: 开发人员 &#xff08;大部分内容在: 现代软件工程讲义 2 工程师的能力评估和发展&#xff09; 项目经理 ( 内容在这里) 测试人员 ( 本篇博客 ) 团…

现代软件工程讲义 8 稳定阶段 (测试的计划和执行)

[来自 移山之道 第 13 章] 13.8 测试计划 测试不是在所有的开发工作完成之后才进行&#xff0c;而是与开发几乎同步进行的。一个软件项目的各个功能都可以有自己的测试计划&#xff0c;它们可以在不同的阶段发挥作用。但是针对整个项目的总测试计划&#xff08;又叫测试总纲&a…

现代软件工程讲义 2 开发技术 - 效能分析

[移山之道 第九章] 9.4 VSTS 效能分析工具 啊&#xff0c;效能分析&#xff0c;Performance&#xff01;这是每一个程序员都梦想的事儿&#xff0c;让自己的程序跑得又快又好&#xff0c;最好是比别的同学快一个数量级&#xff0c;别人的程序是O(N^2)&#xff0c;而我的程序是…

现代软件工程讲义 2 开发技术 - 单元测试 amp; 回归测试

[移山之道 第11章] 1单元测试 你的RP是由你的程序质量决定的。 ——阿超 这一章讲的是两人合作&#xff0c;既然程序是两个人写的&#xff0c;那就会出现一个人写的模块被另一个人写的模块调用的情况。很多误解、疏忽都发生在两个模块之间。如何能让自己写的模块尽量无懈可击…

现代软件工程讲义 4 方法论 - MSF

[内容来自 移山之道]白话MSF方法论 2.1 果冻的预习果冻&#xff1a;超总&#xff0c;听说你要讲MSF&#xff0c;我就先预习了一下&#xff0c;但是MSF的名词太多了&#xff0c;我真是头大&#xff0c;能不能解释一下这两句&#xff1a; “MSF的一个基础原理是学习所有的经验。…

现代软件工程讲义 9 测试 关于闰年的测试

我们谈了不少测试的名词, 规范和原则 (link1, link2). 软件是人写的, 测试计划和测试用例也是人写的, 人总会犯错误。错误发生之后, 总有人问: 为什么这个bug 没有测出来啊?! 我们看看一类简单的bug是如何发生的&#xff0c;以及如何预防它们再度发生: 闰年 软件少不了和…

现代软件工程 来自卓越大学教师的建议 (读书笔记)

教师教学有培训和参考书么? 我从来没想到过我会在大学里教书, 而且还教了好几年, 四个学校。 当时接到任务的时候, 我把它当作实习生培训和新员工培训的”学院版”, 还是继续强调实践, 反馈, 合作, 就这么开讲了。 在微软公司, 做大部分和人相关的事情, 都得先有一个培训, …

软件工程讲义 9 创新的出路 走进作坊

我第一次注意到 “作坊”这个词和软件行业联系起来大概是这个 2004 年 11 月的报道: 标题: 信产部副部长娄勤俭&#xff1a;中国软件业还在手工作坊阶段 日前&#xff0c;信息产业部副部长娄勤俭在出席中国软件产业生态链高层论坛时表示&#xff0c;中国软件产业的规模还比较小…

现代软件工程 习而学的软件工程教育

茅于轼先生写了一篇博客 ( http://blog.sina.com.cn/s/blog_49a3971d0102dufj.html ) 纪念茅以升先生提出的 习而学的工程教育: 把颠倒了的工程教育顺序恢复过来&#xff0c;即他称之谓“习而学的工程教育”。 以桥梁建筑专业为例&#xff0c;大学一年级先学施工条例&#xff0…

现代软件工程 教课心得

现实世界是最好的老师, 我们这些叫 “老师” 的人, 充其量是个助教。 但是有些助教却不让学生见到老师。 **************** 老师都想把课教好, 学生都想把课学好. 但是我们常常看到一个学期过后, 老师, 学生都有很多抱怨 (例如: 各种良好愿望和计划在实施中的问题). 看了上…

微软学术搜索项目 10个版本的历程

这是我在微软亚洲研究院参与的项目之一, 从 2009 年秋天开始, 我们小组把它从一个研究原型发展为涵盖全学科的学术搜索门户。 它索引了 4千万论文, 2千万作者, 6 大实体类型, 8 种数据可视化功能, 具有开放的API 平台和手机客户端. 下面说说项目的发展: 2009/8: 内部发布 alp…

现代软件工程讲义 9 测试 QA 的角色和分工

测试的角色 (Test) 要独立出来么 ? 独立出来的测试角色怎么才能发挥作用? 有些成功人士和成功的公司号称没必要有独立的测试角色 (Test), 你怎么看? 最近又看到一些关于开发人员要不要负责测试的讨论。 例如: http://www.aqee.net/on-testers-and-testing/ 大多数的开发…