发文章
发文工具
撰写
网文摘手
文档
视频
思维导图
随笔
相册
原创同步助手
其他工具
图片转文字
文件清理
AI助手
留言交流
一个项目团队,是一群人的灵感碰撞,需要一个Leader来引导;而两个人的结对是相互平等的交流,可以更深入地互相了解,相互借鉴,共同成长。相比多人团队,两个人更容易缩短距离感,也更适合还在打基础,学习的我们。当有一个在边上努力,作为伙伴自然也不可能无所事事地糊弄了事。在一起学习的时候,编程项目可以分工合作,遇到困难可以一起想办法,这总归比一个人钻牛角尖来得好得多。——20175214
大致阅读了博客链接中的内容后,我觉得结对学习是一种十分必要的学习方式。在处理问题时可以和同伴相互合作,首先这对于问题的分析会很有帮助,也能够更好帮助我们搭建结构框架,俗话说“三个臭皮匠顶个诸葛亮”,面对同样复杂的程序,两个人合作得到的效果绝对不仅仅是一加一等于二这么简单的,有的时候互相审查程序可以发现一个人发现不了的错误,在对同一结构或算法的程序上,两个人的合作可以使得程序更加简单化。此外,结对学习还有助于我们的知识的学习和思维的扩张,两个人必然会考虑到更多方面,思维会更加发散;结对学习也可以让我们面对复杂的程序或项目上有更好的分工合作,将复杂的程序或项目进行肢解,每个人负责几个环节,不仅能减少我们的工作量,同时可以解决我们的时间去做一组新的项目或者学习更多的知识。——20175209
如何结对学习
先来一片面包, 做好铺垫, 例如可以从双方的共同点, 团队共同的愿景讲起, 让对方觉得处于一个安全的环境。
再把肉放上,这时就可以把 建设性的意见 (constructive feedback) 油炸好, 加上生菜, 佐料等。
怎么准备这块肉也有讲究:,我们常说 [feedback], 但是在提供反馈时, 不宜完全沉溺于过去的陈年谷子烂芝麻, 给别人做评价, 下结论。 这样会造成一种 [你就是做得不好, 我恨你] 的情绪。我们可以调整一个角度, 把 [feedback], 变成 [feedforward], 强调 [过去你做得不够, 但是我们以后可以做得更好]。在技术团队里, 我们的反馈还是要着重于 [行为和后果] 这一层面, 不要贸然深入到 [习惯和动机], [本质]. 除非情况非常严峻, 需要触动别人内心深处, 让别人悬崖勒马。
然后再来一片面包, 盖上。 这时候可以呼应开头, 鼓励对方把工作做好。
虽然对于结对的好处有所设想,但是如何更好地实现合作,互利共赢,而不是一神带一坑呢?
在一个团队中没有明确的上下级关系,也没有明确的领导与服从的角色。需要去分配完成一些任务,这个时候你要主动叫别人做事情,还是被动让别人安排事情? 而这种情况下团队成员要通过 “影响 反馈” 来影响同伴。 ---《软件工程讲义3两人合作(2)》
首先,我觉得要有良性的反馈来实现促进,带着戾气的指责和命令明显是不利于相互合作的,对于如何实现这一点,博客里的 “汉堡包”原则很有创造力,也很有借鉴意义。
其次,我觉得要相互开放包容,每人在各自独立设计、实现软件的过程中不免要犯这样那样的错误。在结对编程中,因为有随时的复审和交流,程序各方面的质量取决于一对程序员中各方面水平较高的那一位。这样,程序中的错误就会少得多,程序的初始质量会高很多,这样会省下很多以后修改、测试的时间。对于这点,博客里的比喻给我很大启发。
(1)驾驶员:写设计文档,进行编码和单元测试等XP开发流程。(2)领航员:审阅驾驶员的文档、驾驶员对编码等开发流程的执行;考虑单元测试的覆盖程度;是否需要和如何重构;帮助驾驶员解决具体的技术问题。(3)驾驶员和领航员不断轮换角色,不宜连续工作超过一小时。领航员要控制时间。(4)主动参与。任何一个任务都首先是两个人的责任,也是所有人的责任。没有“我的代码”、“你的代码”或“她的代码”,只有“我们的代码”。(5)只有水平上的差距,没有级别上的差异。尽管可能大家的级别资历不同,但不管在分析、设计或编码上,双方都拥有平等的决策权利。
综上,结对学习需要两人共同的付出,而不是其中一人单方面的输出;需要两人相互扶持,而不是一个人拖着另一个走。但是我们相信,也有信心一起走的更远。
来自: 印度阿三17 > 《开发》
0条评论
发表
请遵守用户 评论公约
项目-团队-技术-个人 (团队建设篇)
新人如何快速融入团队,新人如何成长,缩短新人进入团队的磨合期。2、新人入职之后,先和骨干结对,及时发现新人的问题,编码习惯问题,思维方式问题,命名习惯问题,及时解决,加速新人成长,还可以控...
程序员需要具备的基本技能 | 酷壳
这些最基本的职业技能通常决定了一个程序员的级别,能否用好这些技能,直接关系到了程序员的职业生涯。当然,还有很多的基本技术也是非常重要的,比如,与人的沟通能力,语言的表达能力,写作能力,团...
通用的业务编号规则设计实现(附源码)
通用的业务编号规则设计实现(附源码)通用的业务编码规则设计实现(附源码)每一个企业应用中不可避免的都会涉及到业务编码规则的问题...
为什么优秀的程序猿都阅读源码
为什么优秀的程序猿都阅读源码。你阅读一些源码会明显比阅读另外一些源码效果更好,但是不管好源码还是坏源码都可以帮助我们提高编码能...
[JAVA语言] 代码注释和编码规范
本文关于JAVA基础教程之JAVA语言篇,主要讲述JAVA代码注释与编码规范的问题,值得零基础学JAVA新手看一看。
Python编程语言有什么特点?
Python编程语言有什么特点?世界上存在着很多编程语言,Python就是其中之一。Python语言是一门非常古老的编程语言,流行已久,相对于其他编程语言独具特色,而且Python代码非常简单,上手非常容易,其...
静态代码分析工具清单:公司篇
本文是一个静态代码分析工具的清单,但是为公司产品,需要付费使用。其中27个公司有多语言工具,2个公司为.NET工具、1个公司为Ada工具、...
关于敏捷开发的26个心得
能够听取这些忠告进行开发测试然后提交代码的程序员一定不会发生代码提交到版本库使整个项目无法编译码通过情况。清理垃圾代码。先测试后提交代码。精简的、书写规范的代码易于维护和查找错误,冗长的...
软件开发的项目管理
4.3 建立程序原代码的提交库,并建立完整的原代码的提交的流程管理制度4.3.1原代码只允许一人改动. 改动前先要从提交库申请出原代码. 改动后再送进提交库.4.3.2改动完先要在开发工程师的机器上编译, 与...
微信扫码,在手机上查看选中内容