`
- 浏览:
326928 次
- 性别:
- 来自:
北京
-
人员与结构
在团队中使用层级结构,是否阻碍了个体与外界的沟通?
极少有底层程序员或新手能和产品经理做深入的沟通的,所以中间放上师傅这一层,让其代为问问题,徒弟旁听,不但不会阻碍,反而会促进。
这样徒弟可以更快地学会问答技巧或熟悉业务,真正学成了,师傅才懒得在中间“阻碍”呢,呵呵。
师傅又要懂业务,又要懂技术,又要带徒弟,是否要求太高了?
的确不低,但是如果不要求这三个师傅如此,就要要求全组如此,更难;当然可以要求让程序员们可以不懂业务,但这样的程序员怎么放心让他干活呢。
但实际上,这点要求算不上什么,和“多才多艺”二字沾不上边。所以这种人其实很多,只是他们没被赋予这种职能而已。
师与徒
高手不愿意带徒弟怎么办?
所谓求什么得什么,如果企业给个人能力高的人发高薪,而不给能带团队的人发高薪,屋子里边坐着的一定是一堆不愿意带徒弟的高手;反之则反。
另外一个角度,139团队不只是一个学习团队,而首先是一个生产团队。师傅带徒弟,一定程度上有上级带下级的感觉。还没有一个上级不希望自己有更多手下的,也没有上级希望自己手下都是饭桶的。
所以制度合适,人自然改变。
招聘了徒弟,没有师傅愿意带怎么办?
以往人是招聘来塞给某人“你负责他的成长的”,现在应该是有师傅说“忙不过来了,给我招聘个徒弟吧”。师傅要参与徒弟的招聘和试用。
徒弟不听师傅的怎么办?
试用期就走人。
时间与效率
师傅一个顶仨,照顾别人是否降低效率?
要做好时间管理,就是师傅找徒弟随时,徒弟找师傅预约(“我有问题……”“好,等15分钟……(继续干活至一段落为止)”)。
一个人看那么多人的代码,会不会很花时间?
高手看新手的代码,10分钟就能看到一大堆错误。
师傅看徒弟的代码,5分钟就行;每天早上做了设计,中间还有前后关键点,没什么可看的。
今天看到的问题,明天不可再见,早晚一天无问题可见。师傅是培养徒弟干活的,不是给徒弟擦屁股的(在试用期就要考核这个,不怕起点低,但一个人连培养价值都没有,还能干啥)。
专家与杂家
大家需要了解的东西太多,生产率是否降低?
我见过的最高的几个高手,都是以更广泛地了解业务和技术为特点的。
我见过一个13个人的团队,9年来人换了好几批了,从来都是每人只负责的功能,都是“专家”。产品最后有25万行,被一个高手花一年半改为1.3万行。问为什么原来的代码那么多,答:“原来的专家走了,没人能看懂其代码,所以只能大面积拷贝粘贴。”这样的专家,要他何用。
有些人希望只专注于自己的工作,怎么办?
目光这么窄的人,能做好自己的工作才怪;所知这么窄的人,能委之重任才怪;一直自己干活的人,能管理部门才怪。很多人苦苦钻研技术,希望能力提高然后被提拔,实在是缘木求鱼。道理一讲就通。
如果还讲不通,迟早会发现不想当将军的士兵,连厨子都做不好的,呵呵。
绩效与成长
师傅学不到东西怎么办?
师傅之上还有师傅;师傅人数少,可以送去培训……师徒制度里边没有关于师傅怎么学习的内容,但如果理解“有问题处无答案”,这类问题很好解决。
教会徒弟,会不会饿死师傅?
如果我是老板,我会喜欢下金蛋的鹅,胜过金蛋,因此给鹅更多钱。
如果我是师傅,我会喜欢卖金鹅蛋,胜过卖烤鹅腿,因此能值更多钱。
如果我是徒弟,我会羡慕下金蛋,胜过我就是个蛋(好惨啊)。
徒弟的能力超过师傅怎么办?
我的编程能力超过我师傅的时候,他做部门经理去了,因为我们部门的所有师傅,都是他的徒弟,不选他选谁。
能力的不总是等于编程能力,而是一种在不同年龄不同层次有不同定义的东西,只有这种东西才能叫做能力。
上面这句话套用金刚经语法,就是“如来所说能力,则非能力,是名能力”,刚开始很难理解,但理解了就发现是一种很通用很有效的思维方式。
比如把“创新”带进去,就会得到乔布斯的创新观:我们苹果所说的创新(价值观创新),是不能被模仿的创新,所以才叫做创新(换言之能被那么容易模仿的,还谈不上什么创新);你们模仿iPod,我就做iPhone,你们模仿iPhone,我就做iPad;你们模仿iPad,我就得胰腺癌……
因为何为“能力”,怎样根据“能力”确定师傅和徒弟,根据什么“能力”来考核师徒,是139团队和松结对编程的核心,所以多说两句。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
"结对编程——敏捷开发" 结对编程(Pair Programming)是敏捷开发(Agile Development)中的一种实践方法,它是指两名开发者坐在一起,共享一台电脑,共同编写代码的过程。 结对编程的优点: 1. 提高代码质量:...
### 自组织团队与松结对编程 #### 一、自组织团队的概念与特点 自组织团队是指团队成员能够自我管理并自主决定工作流程的一种团队形式。这种团队模式强调团队内部的高度自治性和协作性,旨在通过减少层级管理和...
结对编程在敏捷开发中并不是强制性的,但它可以帮助团队更好地适应变化,通过两个人的紧密协作提升软件质量。在实践中,结对编程的好处已经被许多实践者所认可,尽管它也面临一些批评和争议。无论如何,结对编程都是...
结对编程,提高代码质量和团队协作;测试驱动开发,先写测试再编写代码,确保功能正确且设计良好;持续集成,频繁合并代码,减少集成风险;集体代码所有权,鼓励团队成员对所有代码负责;编码标准,保持代码一致性;...
极限编程是一种敏捷开发方法,它强调面对面的沟通,通过结对编程和 40 小时工作制来提高开发效率和代码的规范度。在本项目中,我们采用极限编程的方法,通过结对编程来提高代码的规范度和正确率,加大了开发效率。...
结对编程是一种敏捷软件开发方法,它在Java Web开发课程实践教学中有着重要的应用价值。本文将对结对编程在Java Web开发课程实践教学中的应用进行探讨,并对其效果进行分析。 结对编程的概念源于极限编程(XP),它...
, 本书为以下问题提供了明确的答案:, 怎样才能采用敏捷开发?, 我们真的需要结对编程吗?, 汇报应该详细到什么程度?, 如果无法让客户参与进来该怎么办?, 我们应该编写多少文档?, 何时进行设计和架构?, 作为一名非开发...
敏捷开发的出现解决了这一问题,使得软件开发更加灵活高效。 ##### 2. 敏捷联盟宣言 - **核心价值观**:“个体和交互”、“可以工作的软件”、“客户合作”、“响应变化”。 - **宣言解读**: - **个体和交互胜过...
XP是一种敏捷软件开发方法,它在预算和时间限制下,教导开发人员如何利用迭代计划、持续集成、测试驱动开发、重构和结对编程来完成软件项目。 敏捷宣言是敏捷运动的基石,提出了一系列价值和原则。宣言中强调了个体...
结对编程,作为一种创新的软件开发实践,源自敏捷开发的理念,旨在提高代码质量和团队协作效率。"结对编程启示录"这本书深入浅出地探讨了这一主题,为小团队提供了宝贵的资源,帮助他们在有限的人力条件下产出高质量...
结对编程是敏捷开发中的一个重要实践方法。结对编程可以快速掌握项目知识,提高开发效率,缩短开发周期。在BOSCO系统的开发过程中,结对编程发挥了重要作用。 五、知识转移的重要性 知识转移是敏捷开发中的一个...
本书对于极限编程(XP)的讲解深入且易于理解,书中通过实际案例展示了如何使用极限编程进行设计、测试、重构和结对编程。它还包含了大量可重复使用的C++和Java源代码,对使用统一建模语言(UML)和设计模式来解决...
XP强调编程实践和技术上的卓越,如测试驱动开发(TDD)和结对编程。 3. 用户故事与迭代开发 在敏捷开发中,用户故事是描述用户需求的简短叙述,它帮助团队理解功能的实际价值。每个迭代都会完成一组用户故事,形成...
【敏捷开发全程实战】是关于敏捷开发方法论的深度实践指南,旨在帮助读者全面理解和掌握敏捷开发的核心理念、流程及工具。在这个过程中,我们将深入探讨敏捷开发的起源、价值以及如何在实际项目中有效地实施敏捷。 ...
4. **结对编程与敏捷开发**: 在敏捷开发中,结对编程被视为提高响应能力和适应变化的有效手段。它与敏捷原则中的“个体和互动高于流程和工具”相契合,强调面对面的交流和团队协作。 5. **挑战与解决策略**: ...
6. **结对编程**:两名开发人员共享一个工作区,共同编写代码,促进知识共享和即时反馈。 7. **每日站立会议**:团队成员每日简短讨论进展和问题,提高透明度和协作效率。 8. **用户故事**:将客户需求转化为可...
结对编程是一种软件开发实践,源自敏捷开发方法论,它提倡两个程序员在同一台电脑上共同工作,一人编写代码,另一人则审查、建议并提供反馈。这种方法的核心理念是通过即时的同行评审和协作来提高代码质量,减少错误...