异地金融研发团队的敏捷实施策略-Top100Summit

通过重构提高组织灵活性-百度技术沙龙

重构到管道式函数-软件匠艺小组

全球敏捷之旅2015天津站花絮

全球敏捷之旅2017北京站《禅与复杂》演讲(2:59-3:56)

TDD中变形动作的优先顺序 - Transformation Priority Premise

在TDD循环中,重构(Refactoring)是不改变行为而改变内部结构的动作,保持测试常绿。而变形(Transformation)是改变内部实现来使测试由红变绿。这些变形的变化使代码形式从特殊specific到一般generic。

Uncle Bob的一篇文章。http://blog.8thlight.com/uncle-bob/2013/05/27/TheTransformationPriorityPremise.html
中用了bowling game kata 和 Prime Factor kata来解释。

继续阅读 More

Do you like my piece of paper?

What I see every day is people creating pieces of paper to take into a room for people to look at and decide if they like that piece of paper, and if they don’t totally like it they say what they would prefer to see on that piece of paper.

This repeats until everybody is happy with a piece of paper.

capture3

继续阅读 More

SVN pre-commit hook

某团队希望做到Continuous Code Review, 想在每次check-in 到SVN之前,先判断特定用户群体否在commit log里面包含了”Review By: xxx”的字样。

记得以前NSN里面有人用过这个法子,记不太清了。

于是研究了一下脚本,其实SVN/GIT都提供了类似的hook, 在<your repository>/hooks 目录下,都是shell或cmd脚本(要看服务器的操作系统了),会在不同的事件时触发。

为了实现更复杂的功能或者需要跨平台,那不妨用shell或cmd去调用Python脚本咯。

继续阅读 More

Scrum团队的度量

谨慎选择要度量的内容…因为,你度量什么就会得到什么

文中介绍了几种对于Scrum团队的度量,包括:

  • 团队”完成”的速率(故事点)
  • 下个迭代的预测速率(故事点范围)
  • 下个迭代团队计划的速率(故事点)。团队不见得能一直按照预测来保持速率。
  • PO接受的实际速率(故事点)。注意团队“完成”的与PO接受的速率可能有差别!
  • 开始了但却没完成的故事(故事点及个数)
  • 迭代中新增加到Backlog的故事(故事点及个数)
  • 迭代中范围变动情况
  • 迭代中引入的技术债务(故事点)
  • 迭代成本
  • 发现/移除/上报的障碍
  • 迭代成功失败率。按照固定时间固定范围作为基准。

原文:http://agileatlas.org/articles/item/large-scale-scrum-less-is-more

Scrum忘记的土地- The Land that Scrum Forgot

Scrum is a starting point. In fact, it’s a great starting point. But, as a framework rather than a full-blown methodology, Scrum is deliberately incomplete. Some things—such as the best technical practices to use—are left for individual teams to determine. This allows a team to create the best fit between their project and environment and an assortment of technical practices.

Scrum是一个起点。事实上,这是一个很好的起点。但是,作为一个框架,而不是一个成熟的方法论,Scrum故意是不完整的。一些措施——例如使用最好的技术实践——留给每个团队自己来决定。这允许一个团队在他们的项目和环境和各式各样的技术实践之间创建最适合自己的方式。

继续阅读 More

用户故事使用中的十大错误

1) 在用户故事中,将开发中的相关人员作为系统用户角色

比如 As a po/apo/ppo/developer/tester/manager/integration engineer, I want 。。。

必须注意,As a 中的role是运行时实际使用该系统的用户角色,不是开发时干系人的角色

包括客户文档相关的用户故事,也要以实际使用该文档完成某项任务的视角来描述:什么角色,什么情况下使用该文档用来做什么,达到什么样的可衡量的目标等,而不是某经理要求该文档。

2) 把系统的发布版本放入用户故事标题中

继续阅读 More