≠≠
正文共1571字1图,阅读时间:4分钟
在敏捷开发的学术界中,有很多专业的词汇,理解其中的词汇对提升敏捷能力都有很大助益。所有词汇的种类和关系大致分布如下:
上一篇文章详细解释了极限编程中的“结对编程”,本篇文章将详细解释“参与”。
01. 定义
敏捷开发团队的成员通常选择工作的任务,而不是由经理分配工作任务。团队中的成员的任务选择可以与其他成员进行讨论,这些讨论通常是每天会议的任务板上进行,通常使用便利贴来表示这个任务以及它的注释。还有一些团队会使用团队成员的头像,来代替每个任务的“主人”。
02. 常见陷阱
虽然这个定义很少会强调,但是在自主选择的基础上选择任务,不是由“第三者”来决定,无论是项目经理、首席开发人员还是其他角色。分配任务似乎是敏捷工作中重要、必不可少的特性。
在传统团队向敏捷团队转型时,有一些团队还保留着项目经理这个角色,甚至还保留他们分配其他成员任务的权利,这从敏捷长远发展来说,这与大多数的敏捷实践是不兼容的,因此,没有明确指出这一区域,可能会危及整体敏捷转变。
03. 起源
很早在1998年,最早的极限编程的文章就提到:“分配任务”是“旧方法”,“自主选择任务”是“极端方法”,以及它们的显著区别。
04. 技能
如上所述,阻碍有效结对编程的主要问题之一是被动。当同时启动测试驱动的时候,被称为“乒乓编程”的变体鼓励频繁切换角色。例如,一个程序员编写失败的单元测试,然后将键盘给另一个编写相应代码的程序员,然后继续进行新的单元测试,这种变体可以说是纯粹以教学目的,也可以由经验丰富的程序员以“乐趣”的变体使用。
初学者:
能够以“领航员”的身份参加,特别是进行适当的干预
能够以“驾驶员”的身份参加,特别是编写代码时解释代码
发展中:
能说出放弃键盘和转换角色的正确时机
能说出“偷”键盘和转换角色的正确时机
先进的:
当另一对在使用结对编程处理任务的时候,能够“顺便访问”,并且顺利担任领航员的角色。
房间的家具、工作台的设置都是为了鼓励结对编程。
房间的噪音是可控制的。几对程序员在进行无声的结对编程交流,但是不会严重到干扰其他人工作的程度。
进入房间的时候,没有发现任何一个戴着耳机的程序员。否则,这将是一个“消极”的信号。
05. 预期收益
使用结对编程的好处有:
提高代码质量。“有声音编程”可以清晰表达编码任务中的复杂性和隐藏细节,减少出错或进入死胡同的风险。
更好地在团队中传播知识。特别是当一个不熟悉开发人员与一个更了解组件的开发人员合作的时候,结对编程的好处就会出现。
更好地技能转移。初级开发人员可以从更有经验的团队成员中学习到更广泛的技术和技能。
协调工作大幅减少。使用结对编程后,协调的是N对程序员,而不是N个程序员。
提高对中断恢复的能力。当两个开发人员中的一个必须处理外部工作的时候,另一个可以继续专注在任务上,并且可以在之后帮助另一个集中注意力。
编 辑 / Dishayen
图 片 来 源 / Pixabay
-END-
- 敏捷大解刨 第一线极限编程 -
(点击以下蓝色文字直接跳转)
3、参与
4、日常会议
5、迭代
6、速度
7、频繁发布
8、用户故事
9、集体所有制
10、持续集成
11、简单设计
12、重构
13、TDD
- 第三系列:精益创业方法 -
(点击以下蓝色文字直接跳转)
2、腾讯的好产品到底是怎么做出来的?
3、微信海外战略为什么失败?
4、硅谷优秀团队都恪守的狗食文化
5、如何实现产品的爆发式增长?
6、为什么8个人就能把微信做出来?
7、不懂技术如何管理好技术团队?
8、向腾讯学习产品经理培养之道
领取专属 10元无门槛券
私享最新 技术干货