敏捷开发“松结对编程”系列之七:问题集之一

本文是“松结对编程”系列的第七篇。(之一,之二,之三,之四,之五,之六,之七,之八)
刚刚参加完MPD 2011深圳站,在演讲中间及后来媒体采访,被问到了一些问题,也给出了答案,这里做一总结。
我自问自答到一半,才发现这里边的很多问题的答案,都用到了火星人谚语系列之一:有问题的地方无答案火星人谚语系列之三:正确的答案一定简单。如果您觉得答案和自己的情况不完全相符,请用火星人谚语系列之二:问问题的人负责找答案
另外多数答案在本系列1~6中有,只是比较分散,不太容易意识到是答案。

人员与结构

在团队中使用层级结构,是否阻碍了个体与外界的沟通?

极少有底层程序员或新手能和产品经理做深入的沟通的,所以中间放上师傅这一层,让其代为问问题,徒弟旁听,不但不会阻碍,反而会促进。

这样徒弟可以更快地学会问答技巧或熟悉业务,真正学成了,师傅才懒得在中间“阻碍”呢,呵呵。

师傅又要懂业务,又要懂技术,又要带徒弟,是否要求太高了?

的确不低,但是如果不要求这三个师傅如此,就要要求全组如此,更难;当然可以要求让程序员们可以不懂业务,但这样的程序员怎么放心让他干活呢。

但实际上,这点要求算不上什么,和“多才多艺”二字沾不上边。所以这种人其实很多,只是他们没被赋予这种职能而已。

师与徒

高手不愿意带徒弟怎么办?

所谓求什么得什么,如果企业给个人能力高的人发高薪,而不给能带团队的人发高薪,屋子里边坐着的一定是一堆不愿意带徒弟的高手;反之则反。

另外一个角度,139团队不只是一个学习团队,而首先是一个生产团队。师傅带徒弟,一定程度上有上级带下级的感觉。还没有一个上级不希望自己有更多手下的,也没有上级希望自己手下都是饭桶的。

所以制度合适,人自然改变。

招聘了徒弟,没有师傅愿意带怎么办?

以往人是招聘来塞给某人“你负责他的成长的”,现在应该是有师傅说“忙不过来了,给我招聘个徒弟吧”。师傅要参与徒弟的招聘和试用。

徒弟不听师傅的怎么办?

试用期就走人。

时间与效率

师傅一个顶仨,照顾别人是否降低效率?

要做好时间管理,就是师傅找徒弟随时,徒弟找师傅预约(“我有问题……”“好,等15分钟……(继续干活至一段落为止)”)。

一个人看那么多人的代码,会不会很花时间?

高手看新手的代码,10分钟就能看到一大堆错误。

师傅看徒弟的代码,5分钟就行;每天早上做了设计,中间还有前后关键点,没什么可看的。

今天看到的问题,明天不可再见,早晚一天无问题可见。师傅是培养徒弟干活的,不是给徒弟擦屁股的(在试用期就要考核这个,不怕起点低,但一个人连培养价值都没有,还能干啥)。

专家与杂家

大家需要了解的东西太多,生产率是否降低?

我见过的最高的几个高手,都是以更广泛地了解业务和技术为特点的。

我见过一个13个人的团队,9年来人换了好几批了,从来都是每人只负责的功能,都是“专家”。产品最后有25万行,被一个高手花一年半改为1.3万行。问为什么原来的代码那么多,答:“原来的专家走了,没人能看懂其代码,所以只能大面积拷贝粘贴。”这样的专家,要他何用。

有些人希望只专注于自己的工作,怎么办?

目光这么窄的人,能做好自己的工作才怪;所知这么窄的人,能委之重任才怪;一直自己干活的人,能管理部门才怪。很多人苦苦钻研技术,希望能力提高然后被提拔,实在是缘木求鱼。道理一讲就通。

如果还讲不通,迟早会发现不想当将军的士兵,连厨子都做不好的,呵呵。

绩效与成长

师傅学不到东西怎么办?

师傅之上还有师傅;师傅人数少,可以送去培训……师徒制度里边没有关于师傅怎么学习的内容,但如果理解“有问题处无答案”,这类问题很好解决。

教会徒弟,会不会饿死师傅?

如果我是老板,我会喜欢下金蛋的鹅,胜过金蛋,因此给鹅更多钱。

如果我是师傅,我会喜欢卖金鹅蛋,胜过卖烤鹅腿,因此能值更多钱。

如果我是徒弟,我会羡慕下金蛋,胜过我就是个蛋(好惨啊)。

徒弟的能力超过师傅怎么办?

我的编程能力超过我师傅的时候,他做部门经理去了,因为我们部门的所有师傅,都是他的徒弟,不选他选谁。

能力的不总是等于编程能力,而是一种在不同年龄不同层次有不同定义的东西,只有这种东西才能叫做能力。

上面这句话套用金刚经语法,就是“如来所说能力,则非能力,是名能力”,刚开始很难理解,但理解了就发现是一种很通用很有效的思维方式。

比如把“创新”带进去,就会得到乔布斯的创新观:我们苹果所说的创新(价值观创新),是不能被模仿的创新,所以才叫做创新(换言之能被那么容易模仿的,还谈不上什么创新);你们模仿iPod,我就做iPhone,你们模仿iPhone,我就做iPad;你们模仿iPad,我就得胰腺癌……

因为何为“能力”,怎样根据“能力”确定师傅和徒弟,根据什么“能力”来考核师徒,是139团队和松结对编程的核心,所以多说两句。

 

点击下载免费的敏捷开发教材:《火星人敏捷开发手册》

 

转载于:https://www.cnblogs.com/dairongle97/archive/2011/09/19/2401986.html

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

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

相关文章

C++中的sort函数对二维数组排序是按照什么准则?

遇到的一个疑惑&#xff0c;现记录如下&#xff1a; int main() {vector<vector<int>> envelopes { {5, 8},{6, 7},{6, 4},{2, 3},{8,9} };sort(envelopes.begin(), envelopes.end());for (int i 0;i < envelopes.size();i)cout << envelopes[i][0]<…

数学专业学计算机哪一行,计算数学

计算数学(一个理科专业)语音编辑锁定讨论上传视频计算数学是由数学、物理学、计算机科学、运筹学与控制科学等学科交叉渗透而形成的一个理科专业。中文名计算数学外文名Computational Mathematics所 属数学计算数学专业定义编辑语音计算数学也叫做数值计算方法或数值分析。主…

图片透视变换操作

由于照相机硬件设备本身的误差&#xff0c;可能会导致镜头畸变&#xff0c;从而导致照相机拍摄到的照片产生失真现象&#xff0c;此时可以通过透视变换去适当的校正。 大概的思路&#xff1a;在原图像上确定四个点&#xff0c;然后再新图像上也确定四个点&#xff0c;通过warp…

dp笔记:关于DP算法和滚动数组优化的思考

从网上总结了一些dp的套路以及对滚动数组的一些思考&#xff0c;现记录如下&#xff0c;希望以后回顾此类算法时会有所帮助。 目录1、DP算法经验1、DP算法核心&#xff1a;2、DP算法类别以及例题例1&#xff1a;三步问题例2&#xff1a;最小路径和例3&#xff1a;乘积最大子数组…

【C++ grammar】引用

1、引用就是另一个变量的别名 2、通过引用所做的读写操作实际上是作用与原变量上 引用方式&#xff1a; int x; int & rxx; or int x, &rxx;在C中&是取地址&#xff0c;在C中&放在一个变量的定义前&#xff0c;那就是引用 注意&#xff1a; 这种引用是错误的…

flash安全策略的理解

flash安全策略的理解 2011-06-25 01:48 11人阅读 评论(0) 收藏 举报 一直以来对flash的安全策略是一头雾水&#xff0c;什么安全沙箱&#xff0c;跨域策略文件一堆东西乱七八糟&#xff0c;搞不清楚。不过纠结到现在已经基本上理解了。 flash的安全问题在官方手册上有足够的解…

【C++ grammar】nullptr and Dynamic Memory Allocation (空指针和动态内存分配)

空指针 1.1. 0带来的二义性问题 C03中&#xff0c;空指针使用“0”来表示。0既是一个常量整数&#xff0c;也是一个常量空指针。C语言中&#xff0c;空指针使用(void *)0来表示有时候&#xff0c;用“NULL”来表示空指针(一种可能的实现方式是#define NULL 0) 1.2. C标准化委…

No module named ‘skimage.metrics‘在Anaconda3中的解决方法

1&#xff0c;进入Anaconda Prompt 2&#xff0c;进行安装&#xff1a; pip install scikit-image 3&#xff0c;若还是报错&#xff0c;尝试进行更新一下 pip install scikit-image --upgrade

【C++ grammar】数据类型转换、列表初始化

布尔类型 C语言在其标准化过程中引入了bool、true和false关键字&#xff0c;增加了原生数据类型来支持布尔数据。 布尔类型的大小&#xff08;所占的存储空间&#xff09;依赖于具体的编译器实现。也可以用 sizeof运算符得到其占用的空间 Conversion between bool and int 0…

Python对自定义离散点进行指定多项式函数拟合

自定义离散点进行指定多项式函数拟合 用户自己自己输入坐标点&#xff0c;拟合函数可根据用户输入的多项式的最高次方进行自动拟合函数&#xff0c;拟合方法采用最小二乘法进行函数拟合。 (1,2),(2,5),(3,10),(4,17),(5,26),(6,37)(7,50),(8,65),(9,82) 很显然是函数为二次函…

【C++ grammar】C++简化内存模型

1、stack&#xff08;栈&#xff09; 编译器自动分配内存&#xff08;函数内部定义得局部变量、形参&#xff09; 2、堆&#xff08;Heap&#xff09; 一般由程序员分配释放&#xff0c;若程序员不释放&#xff0c;程序结束时可能由OS回收&#xff08;new和delete&#xff09; …

Effect of Diethylene Glycol on the Inkjet Printability of Reactive Dye Solution for Cotton Fabrics.

Effect of Diethylene Glycol on the Inkjet Printability of Reactive Dye Solution for Cotton Fabrics 二乙二醇对棉织物活性染料溶液喷墨印刷性能的影响 Diethylene Glycol 二乙二醇 Inkjet Printability 喷墨印刷性能 Reactive Dye Solution 活性染料溶液 Cotton Fabric…

Silverlight4.0教程之使用CompositeTransform复合变形特效实现倒影

微软于PDC2009上发布Silverlight 4 Beta版&#xff0c;微软在Silverlight 4版本中处理了约8000个的Silverlight终端用户的请求&#xff0c;加入了一系列另开发人员兴奋的新特性&#xff0c;最突出的主要体现在几个方面&#xff1a; 开发工具增强&#xff1a;Visual Studio 2010…

2019年的wps计算机考试题,2019年3月计算机一级WPS模拟题及答案(2.21)

【导语】2019年3月计算机一级考试备考正在进行中&#xff0c;为了方便考生及时有效的备考&#xff0c;那么&#xff0c;无忧考网为您精心整理了2019年3月计算机一级WPS模拟题及答案(2.21)&#xff0c;把握机会抓紧练习吧。如想获取更多计算机一级考试模拟题及备考资料&#xff…

Python求解多项式方程

例如&#xff1a;二次函数&#xff1a;f(x) 10x^2 - 14x 22&#xff0c;依次求解x1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5&#xff0c;6时函数表达式所对应的函数值。 import numpy as np #f(x) 10*x^2 - 14x 22 p np.array([10,-14,22])#这里存放的是系…

CSS中的border-radius属性

CSS | 边界半径属性 (CSS | border-radius Property) The border-radius property is commonly used to convert box elements into circles. We can convert box elements into the circle element by setting the border-radius to half of the length of a square element. …

【C++ grammar】Enhancement for Type System (C++11 对类型系统的增强)

数据类型 (Data type) int, long int, double, struct, char *, float [], int (*f)()… 计算机程序构造块 计算机程序构造块是不同大小粒度的计算机程序组成部分&#xff0c;它包括变量、表达式、函数或者模块等。 类型系统 (Type System) 类型系统&#xff1a;在编程语言中…

一、织物组织相关基本概念

一、织物形成的五大运动&#xff1a;开口、引纬、打纬、送经、卷取 开口运动&#xff08;先开口让织物形成上下两层&#xff09; 引纬运动&#xff08;在上下两层经纱之间进行引纬&#xff0c;把纬纱穿入上下两层经纱之间&#xff0c;从而实现经纱纬纱之间的交织&#xff09; …

达尔豪斯大学计算机科学世界排名,达尔豪斯大学成了全加最好,这又是个什么排名?...

原标题&#xff1a;达尔豪斯大学成了全加最好&#xff0c;这又是个什么排名&#xff1f;没有“八大”的知名&#xff0c;没有“常春藤”的受宠&#xff0c;虽然它只是众多名校中的普通一个&#xff0c;但只要你对它有个稍微的了解&#xff0c;你一定会爱上它的&#xff01;它虽…

tag标签记录

看到项目代码中有一个自定义的tag标签&#xff0c;想起以前自己写过的标签&#xff0c;竟然忘记的差不多了&#xff0c;手一痒&#xff0c;自己写个简单的tag标签&#xff0c;回顾一下历史知识 首先建一个servlet工程&#xff0c;然后写个index.jsp&#xff0c;项目跑起来&…