异地金融研发团队的敏捷实施策略-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

python中的比较运算

python语言对于各种类型都可以比较。

例如int类型,当进行大小比较时,其实是调用了cmp函数,或者可以显式调用cmp(),返回值为{-1, 0, 1},表示小于,等于,大于。

对于str类型,list类型,,class类型等,其实是调用eq, ne, gt,ge,lt, le等函数,分别对应==, !=, >, >=, <, <=等.

可以根据需要覆盖这些函数达到重载运算符的目的。注意,这里有个坑,就是eq, ne是两个运算函数,而不像Java里面,只有一个Object.equals()函数。

继续阅读 More

固定范围、固定交付日期情景下团队盲目做出不能实现的承诺,如何改善?

在我给客户提供需求培训和教练服务时,以及在各种敏捷社区活动中,被多次问到scope fixed,deadline也fixed的时候,团队被强制“承诺”必须完成全部需求,此时除了抱怨还有其它方法吗?我把这类问题定义为“固定范围、固定交付日期情景下团队盲目做出不能实现的承诺,如何改善”的问题。

除了背地里大骂那些经理们无知之外,我们真的无计可施了吗?非也,”THERE IS ALWAYS A WAY OUT”, 我整理了下我在不同场合的回答和思考,做成了一个脑图,敏捷教练不传之秘也,供大家参考。

更多敏捷教练经验观点见 https://www.uperform.cn/blog-article/

如何理解用户故事INVEST规则中的独立性和破解依赖?

用户故事INVEST规则中的第一个“I”,Independent独立的,是说用户故事应该是自包含的,没有对于其他用户故事的内在依赖。但在实践中,很多人觉得这个基本很难做到,甚至完全不可能,造成很多困惑,那到底该如何理解这条规则呢?

借鉴前人的知识,结合本人的认识和经验,这篇博文从理论和实践角度对此做一个深度剖析,希望能对你有所帮助。

继续阅读 More

铜火锅涮羊肉与敏捷价值观

2001年,一群美国码农去滑雪,整了个敏捷概念出来。2013年,一群中国敏捷教练何尝不可聚会一起吃个涮羊肉,兴许也能整出些引领世界的新玩意儿。

想象大冬天一群人围坐吃着铜火锅,似乎也能体现敏捷Scrum价值观。

开放:荤的,素的,都可以涮。爱吃辣的,爱吃韭菜花,各取所需。
勇气:挺烫的肉,出锅直接就往嘴里送啊,就是要享受肉片在嘴里融化的感觉。
专注:特别是传统铜火锅,筷子一定要夹住了肉片放进锅里涮,绝不能松手,要不就找不到了。
承诺:“咱们今天来5斤肉片,吃得了吗?“ “当然吃得了。” 饭后,肯定是一片肉都不剩下。
尊重:围坐一圈,大家的筷子伸在一口锅里,互相平等,其乐融融。