敏捷开发“松结对编程”实践之一:人员结构篇(大型研发团队,学习型团队,139团队,师徒制度)
发布日期:2021-07-13 12:12:24 浏览次数:3 分类:技术文章

本文共 1698 字,大约阅读时间需要 5 分钟。

本文是“松结对编程”系列的第一篇。(,,,,,,,,此系列之九及之后文章请见。)

传说中的结对编程,大致结构是两个人共用一台电脑,一个开发,一个测试,以随时评审来抵消返工时间损失。

传说归传说,谁也没有见过。问题出在哪里?有两种主要原因。

一是来自高层的,高层感觉两个人只有一个人干活,实在是有点浪费。“评审抵消返工时间”虚无缥缈,但每天只有一个人干活却是现实情况。

二是来自基层的,两人若有高低,高手肯定觉得还不如我一个人干的快;两人若旗鼓相当,难免产生争执。

其实在我们身边一直有一种方法很像结对编程:“师徒制度”,就是每个新人来到公司,都指派一个师傅带着,在技术与业务方面提供指导。他们既不用一台电脑,也不是老死不相往来,这其实就是一种“松散”的结对编程。只不过多数企业虽然有这种制度或实践,但却很少有很清晰的定义,难免限制了这种实践的效果。本系列的目标,就是从人员结构、计划实践、日常工作实践、绩效考核等各个角度,来完整地思考和建立这种制度。

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

挑选小组长(师傅)基本原则

乐于助人,有责任心,善于沟通,擅长管理,技术精湛,业务精通……很可惜,好词汇越多,越难找到符合的人。不过,一些基本原则还是要考虑的:

1. 尽量找对业务有兴趣的人

整体上偏业务的人未来有更好的发展(这是我2001年的上司的原话,事实证明很对),由于有行业壁垒也较少跳槽。由于小组长角色未来将被提拔为更高的项目经理、产品经理,对业务的了解也会为此做好铺垫。

2. 尽量找善于沟通的人

善于沟通的程序员成长更快(还是那位上司的原话),也更能帮助别人成长。

挑选组员(徒弟)基本原则

1. 徒弟能力一定要低于师傅(应该说:师傅一定要高于徒弟)

很常见的一种做法是把几个水平相当的人放在一起工作,认为这样他们可以互相学习,其实不然。

之前我们在的项目组经常发生技术“争论”,发生的次数多了,我们发现一个规律:每次争执不下的,都是两个技术相当的人,而每次争执的解决,都是一个水平更高的人给出一个截断众流的方案,然后大家散去。

2. 徒弟年龄不要太大

如果有两个水平相当、月薪要求都是6000的程序员,当然找年轻的了,有发展潜力,后劲足。

挑选组长(大项目经理)基本原则

1. 项目经理必须喜欢业务胜过技术

项目经理是掌舵的而不是干活的,因此必须对业务有深刻理解。

2. 项目经理最好精通技术

这里不讨论是否存在“不懂技术却精通管理”的项目经理,但是如果目标是项目成功而非证明奇迹的确存在,项目经理应该首选那些从小组长成长起来的既懂业务技术又精湛的人选。

这里的“精通技术”不是从技术实现层面考虑的,而是从“技术想象力”层面考虑的,就是说他必须能想象到有某种技术存在。比如以前我们遇到一个程序员写了一大堆重复代码,原因就在于他的想象力受到了局限,明明有虚函数、模板等各种方法来简化代码,却没有想到。“没有学到”是无法避免的现实情况,但“没有想到”是可以避免的。

团队结构和运行理念

既然待在某个“位置”上,每个人必有不同的职责。这里就不一一列出了,因为猜都猜得出来(比如师傅要带徒弟之类)。下面只列出松结对编程与一般小组的核心差异。

1. 对每个小组(师傅+1~3个徒弟)整体考核

也就是师傅要负责到底,不能出现“他刚来所以把事情办砸了”的情况。这里的负责到底,包括计划、估算、跟进、进度、质量、徒弟成长……等一干事情,本系列的其他文章中都将展开描述。

2. 在工作中学习

尽管“松”,但还是“结对编程”,学习和指导过程实在生产过程中集成的,因此师徒关系的成败不只是人员成长,还包括任务和项目的成败。这首先是一个生产团队,其次才是学习团队。

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

人员挑选好了,接下来就是要进行计划、跟踪等日常工作,请参考本系列的其他文章。

由于这是本系列的第一篇文章,请关注本博客blog.csdn.net/cheny_com。

 

点击下载免费的敏捷开发教材:《》

 

转载地址:https://blog.csdn.net/cheny_com/article/details/6581517 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:敏捷开发“松结对编程”实践之二:计划与设计篇(大型研发团队,学习型团队,139团队,师徒制度,设计评审,预想陈述,共同估算,扑克牌估算)
下一篇:《现实世界的敏捷开发-大型敏捷研发团队》培训课程扩展阅读

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年03月03日 11时33分36秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

vscode启动项目报jdk11没有_如果Visual Studio太大,不妨还是用VSCode开发C#项目吧 2019-04-21
的i2c例子_I2C协议与EEPROM 2019-04-21
函数传参字典_Python基础之函数编写与传参方式 2019-04-21
获取input数据_时间序列数据建模流程范例 2019-04-21
创建多线程_Java多线程创建方式 2019-04-21
插入公式_插入数学公式快捷方式 2019-04-21
绘制三线表_R|tableone 快速绘制文章“表一”-基线特征三线表 2019-04-21
实体框架ef基于什么_论ORM之EFCore初篇(快速基于本地数据库实现数据操作) 2019-04-21
里面有面和点_面点师分享几种常见商用配方,解密行业不为人知的秘密 2019-04-21
双千兆和双频千兆哪个好_双频路由器和单频路由器哪个好【详细介绍】 2019-04-21
laravel 图片流_基于laravel,一个下载远程图片到本地, 返回 MD5的方法 2019-04-21
python powershell库_PowerShell封装了Python for .NET实现从PowerShell调用Python 2019-04-21
弹力弹珠java_弹球游戏 - java代码库 - 云代码 2019-04-21
qbytearray类型_QByteArray类 2019-04-21
wxpython 按钮跳notebook_wx.Notebook的应用 2021-06-24
ios 简书 获取通讯录信息_iOS系统APP向用户申请权限的正确方式 2021-06-24
@bean注解只能写在配置类中吗_Java开发必须掌握的 20+ 种 Spring 常用注解 2021-06-24
c++怎么向一个已定义的类加成员变量_C++类的定义和对象的创建详解 2021-06-24
c语言自动寄存柜_智能寄存柜 2021-06-24
idea测试用例怎么写_测试用例怎么写? 2021-06-24