技术团队管理者的软技能

2016年4月份受邀在中生代技术微信群(freshmanTechnology)做了一次群分享,感谢群主邀请,感谢群友收听,更要感谢 @王友强 的细心整理。原文及语音见底部链接。

大纲

  • 前言
  • 团队文化
  • 沟通文化
  • 四种不同的领导力风格
  • 领导力类型的区别
  • 踢猫效应
  • 管理的来源
  • 传统管理
  • 觉察/激情/教练
  • 三种因素决定员工行为
  • 技术管理者的领导力
  • 技术管理者的技能树
  • 绩效考核怎么做
  • 高效团队
  • 群友问答Q&A

继续阅读 More

申请导师级Certified Team Coach认证的攻略秘籍

本系列文章分为三部分:

  1. 敏捷教练和ScrumMaster的职业现在有多吃香?
  2. 我是怎样成为敏捷教练的?
  3. 申请导师级Certified Team Coach认证的攻略秘籍

申请CTC的攻略秘籍

前面两篇文章讲了敏捷教练职业发展的光明前景,以及我成为敏捷教练一路的心得,如果你也想和我一样去冲击最高级别的Scrum导师级认证,那就继续往下看吧。

从去年底推出试点以来,CTC已经正式开放申请,目前我从论坛上看到已有很多东南亚的人士已经在积极申请,而中国区申请人数不多,大家还需要努力啊,我相信国内的敏捷水平可是要远远高于东南亚的啊!

ScrumAlliance对敏捷教练定义的五种能力

前方高能预警

继续阅读 More

我是怎样成为敏捷教练的?

本系列文章分为三部分:

  1. 敏捷教练和ScrumMaster的职业现在有多吃香?
  2. 我是怎样成为敏捷教练的?
  3. 申请导师级Certified Team Coach认证的攻略秘籍

初识敏捷

2007年我加入诺基亚西门子通信,正好赶上3G Platform产品线全面推广敏捷,那个时候在全球真正敢于大规模推广敏捷的大型公司并没有几个。2008年时我获得了CSM认证。在诺西那几年我陆续担任过高级软件工程师、资源线经理、质量经理、项目经理、ScrumMaster、敏捷教练等职位,也和很多敏捷方面的专家共事过,不夸张地说,诺西真的可谓中国敏捷的黄埔军校。至于我个人,在管理方面,学会了更多授权、精益思想和系统思考。在技术和工程实践方面,全面地接受了XP中持续集成的理念,将自动化测试和重构融入到了日常工作中,认识到技术敏捷性的重要。后来的LeSS框架基本上就是诺西那几年在组织级大规模推广Scrum的经验教训的总结。

继续阅读 More

敏捷教练的职业真的很吃香

本系列文章分为三部分:

  1. 敏捷教练和ScrumMaster的职业现在有多吃香?
  2. 我是怎样成为敏捷教练的?
  3. 申请导师级Certified Team Coach认证的攻略秘籍

敏捷教练的职业发展?不必困惑!

敏捷教练是个新鲜头衔,敏捷转型的公司内都有人在做着一些事,其中很多人还是在过去的职位上,却做着全新的事情,于是就难免产生顾虑和疑惑:

公司让我做敏捷教练或ScrumMaster,到底有什么前途?我该如何发展?

继续阅读 More

远程协作大成功!台湾某Scrum虚拟项目团队的奇幻之旅

为什么转这篇文章

原文作者周龍鴻(Roger)是台湾敏捷与Scrum的推广者和践行者。去年与他合作过以Scrum方式组成远程虚拟字幕组,合作完成Spotify系列视频的中文字幕翻译,免费回馈给海峡两岸的敏捷社区。

最近,他和台湾的小伙伴再次出发。这次他们组成了多个虚拟Scrum团队(你可以称之为规模化敏捷部落:p),采用远程协作的方式共同对《ISO 21500 项目管理标准》进行翻译、修订,递交台湾”国家标准检验局”,成功通过审查成为台湾的”国标”(CNS)。

这些小伙伴没有报酬,全凭热情工作在一起,认真地践行Scrum和敏捷工作方式。从Roger的故事中,以及后半部分志愿者的心得中,整个过程的辛苦和收获,更能感受到他们的用心、严谨和喜悦!

征得原作者同意,我将此文《我在CNS Scrum專案的奇幻之旅》转到墙内,让大家了解到Scrum不仅仅限于IT软件领域。希望更多人能够和他们一起来享受这个敏捷奇幻之旅,用敏捷来改变大家的工作方式,改变世界。

原文Facebook链接:https://goo.gl/HqBXHn

继续阅读 More

用Python实现编程练习Kata-FizzBuzzWhizz

Functional programming leads to deep insights into the nature of computation. – Martin Odersky

近日软件匠艺小组的朋友用函数式编程的方式重新实现了一个古老的Kata练习题:FizzBuzzWhizz,用了很多种语言及其特性,非常精妙。这是一个软件匠艺的文艺复兴时代。
原帖见https://codingstyle.cn/topics/100

题目

FizzBuzzWhizz详细描述请自行查阅相关资料。此处以3, 5, 7为例,形式化地描述一下问题。

r1
+ times(3) -> Fizz
+ times(5) -> Buzz
+ times(7) -> Whizz
r2
+ times(3) && times(5) && times(7) -> FizzBuzzWhizz
+ times(3) && times(5) -> FizzBuzz
+ times(3) && times(7) -> FizzWhizz
+ times(5) && times(7) -> BuzzWhizz
r3
+ contains(3) -> Fizz
+ the priority of contains(3) is highest
rd
+ others -> others

Python实现

借助原帖的测试用例,我用python语言也练习了一把。本来想引入Pipe库用管道式的方式写,可能会取得一些方便,但想想还是用原生的语法来做吧。

继续阅读 More

写出angularjs风格的源代码提交历史

你的项目中是怎么写提交历史的?

不论你是用SVN、GIT或是其他源代码仓库,去看看实际项目中的提交历史吧,你是否能很快地从中找到之前某次改动吗?

看看这张图中的提交历史,眼熟吗?

这还算是不错的呢,还有很多项目的提交历史根本就是大段空白!很多程序员其实并不清楚为什么要写 提交历史(commit messge)

继续阅读 More

结对编程与结对工作

结对编程最早源于极限编程XP中。
每一行代码的编写都是由两个人在同一台电脑前完成的。结对编程提高了软件质量,却并不会影响交付时间。这是反直觉的,但是2个人在同一台电脑前工作,可以产出与2个人单独工作时同样多的功能,同时质量更高。而更好的代码质量和可读性可以节省项目后期的时间。

结对编程的最好方式是在电脑屏幕前并排就坐。不断地滑动键盘和鼠标。一个人敲键盘并从战术层面来思考当前编写的函数,同时另一个人从战略层面思考该函数如何适应到类中。这种做法需要一些时间来习惯,所以不用一开始感觉到的不适应。
除了编码,其他工作也可以结对完成,比如测试、分析、研究等等。

结对的好处在于可以自动地完成代码评审,从其他人那里学习技巧、技术、领域知识,甚至是良好的习惯。两个人在共同工作时可以碰撞出更好的想法,更迅速的解决掉问题。
还有一点,通过结对编程一种很好的传播知识的方式,降低团队核心人员的压力,降低项目的整体风险。

Reference: