
结对编程与结对工作
结对编程最早源于极限编程XP中。
每一行代码的编写都是由两个人在同一台电脑前完成的。结对编程提高了软件质量,却并不会影响交付时间。这是反直觉的,但是2个人在同一台电脑前工作,可以产出与2个人单独工作时同样多的功能,同时质量更高。而更好的代码质量和可读性可以节省项目后期的时间。
结对编程的最好方式是在电脑屏幕前并排就坐。不断地滑动键盘和鼠标。一个人敲键盘并从战术层面来思考当前编写的函数,同时另一个人从战略层面思考该函数如何适应到类中。这种做法需要一些时间来习惯,所以不用一开始感觉到的不适应。
除了编码,其他工作也可以结对完成,比如测试、分析、研究等等。
结对的好处在于可以自动地完成代码评审,从其他人那里学习技巧、技术、领域知识,甚至是良好的习惯。两个人在共同工作时可以碰撞出更好的想法,更迅速的解决掉问题。
还有一点,通过结对编程一种很好的传播知识的方式,降低团队核心人员的压力,降低项目的整体风险。
Reference:
- 《解析极限编程 (Extreme Programming)》, by Kent Beck
- 想要进一步了解敏捷工程实践,关注Certified Scrum Developer国际认证课程
用户故事图谱和用户画像
产品愿景
产品愿景(Product Vision)是对未来产品切实可行的构想,建议用一句宣传语来简明地向所有人传递产品愿景。
例如:“针对中型公司的市场和销售部门,CRM-Innovator是一款基于网页服务的产品,提供销售跟踪、商机发现、销售支持等功能以改善客户关系,不同于其他产品,我们产品具有巨大的成本优势。”
用户画像
用户画像(Persona)是真实用户的虚拟代表,建立在一系列真实的市场数据和用户调用数据之上的目标用户模型。建立persona的目的是为了让PO与团队成员在产品设计的过程中能够抛开个人喜好,将焦点关注在目标用户的动机和行为上进行产品设计。PO为具体和特定的人物做产品设计要远远优于为脑中虚构的东西做设计,也更来得容易。有了共同的认知基础,PO和团队在实现产品的时候也更容易对优先级和实现手段达成一致。可以参考书籍《创建定性用户画像》。
重构
为什么要重构?
好的软件除了满足功能需求之外,还应从长期维护的角度来考虑可读性、可扩展性等。没有明显问题,不代表明显没有问题。
然而,随着时间的推移,任何原本设计良好的代码都必然会逐渐腐坏,产生各种代码坏味道,变得难以理解,难以维护,缺陷频出。
随着代码质量下降,问题越来越多,程序员压力也越来越大,而士气也会受到影响,甚至原本的设计队伍都不在了。因而当需要修改bug或添加新需求时,人们更倾向于采用快速的打补丁方式来维护本已不堪的代码,致使代码质量进一步下降,从而造成更多的代码坏味道(Code Smell),形成恶性循环。
采用重构以后,可以有助于改善软件设计,使软件更加容易理解,发现潜在缺陷,从而使未来的编码更加快速。

什么是重构?
重构是指在保持程序的全部功能的基础上重新组织代码结构,以更好地适应将来的变化。重构的类型有很多,如更改类名,改变方法名,或者提取代码到方法中。每一次重构,都要执行一系列的步骤,这些步骤要保证代码和原代码相一致。
全球敏捷之旅2015天津站
全球敏捷之旅2015天津站现场视频。欢迎关注天津软件沙龙、天津谷歌开发者社区。感谢VTC视觉思维提供的现场图像记录。
感谢以下赞助商:优普丰Uperform、Odd-e之AHA大会、安迈无限Unlimax、清华大学出版社、图灵出版社、电子工业出版社、麦思博、天津i2社。
Spotify敏捷部落工程文化系列视频之中文字幕版-Spotify Engineering culture videos with Chinese subtitle
Original videos speaking in English (原版需要VPN科学上网)
- https://labs.spotify.com/2014/03/27/spotify-engineering-culture-part-1/
- https://labs.spotify.com/2014/09/20/spotify-engineering-culture-part-2/
Video with Chinese subtitle (中文字幕版)
知名音乐网站Spotify的敏捷部落组织设计与工程文化近两年为人称道,其敏捷教练Henrik Kniberg发布的2段视频功不可没。为了让华人同胞能更好地理解视频的内容,我们成立了一个以Scrum方式工作的字幕翻译小组,将其翻译成中文。
- 第一部分(Part 1 about structure and practices),关于组织结构和敏捷实践 https://v.qq.com/x/page/e06264d5xas.html
- 第二部分(Part 2 about culture of failure),关于失败的文化 https://v.qq.com/x/page/n0626b9clyc.html
视频简体中文字幕的创作是基于台湾志愿者创作的繁体中文版而成。感谢翻译Scrum团队:
PO 周龙鸿/翻译:王可帆, 任兰怡, 江岳龙, 余俊杰,
周玉萍, 林士智, 林清雅, 邱畯丞, 张峰睿, 张越程,
张钜鑫, 陈美凤, 黄久娟, 廖淑萍, Zephyr Hsu (西風)
简体中文版字幕贡献者:
- Bill Li, CST, 来自上海优普丰敏捷学院
- Jacky Shen, CST/CTC, 来自上海优普丰敏捷学院
关于这两段视频的解说,请看之前的两篇文章:
