02月 19, 2013

我认识很多人都声称在做敏捷开发,说自己是在钻研软件开发,等等。不幸的是,以我的经验,很显然,很多人口中是这么说,但未必真正的就这么做了。

形式主义,走过场,而不是真正的理解所做的事,这些都是毫无意义的行为。想把一件事情做好,唯一的途径就是不断反省,明白自己所做的事情,明白自己这样的做法能达到什么效果。

举一些例子:

你的团队里的成员知道每日站会的原因吗?站会中与会人员互相传达什么样的信息?还是10分钟里只是在听?

你的团队不愿意对任务估计时间吗?为什么?在每次迭代之后是否会回来重新审视工作量估计的是否正确?如果预估显示不能按时完成任务,是否会删减一部分功能?

你们的自动化测试真的好用吗?我曾看到过大量的毫无用处的测试代码,它们无助于代码重构,毫无效率,或简单的根本测不出任何问题。如果人们根本不明白为什么要写测试程序,你怎么能期望他们写出好的有用的呢?

你们的项目总结是否只是一个30分钟等待结束的会议,没有任何的实际内容,不对现状产生任何改变?

软件开发人员不喜欢这样的事情是有原因的,因为很多事情就需要这样一步一步来,有很多事情并不能从中看到能带来多大的益处,并不是做每个事情都有明确的逻辑原因。一定要让你的团队成员知道为什么他们要做这些事情,只有这样,工作才能做的更好。

作者:Aqee

Tags: ,.
02月 1, 2013

我有幸承担管理着这个实验室里大部分的团队,这些团队绝大部分都是由自诩为程序猿(并以此为自豪)的人组成。

目前,正如众所周知的现状,程序猿们和公司里的规章制度有时候走不到一起。然而,这些年来,我还是学到了不少关于如何管理程序猿的问题上的重要教训,我认为值得分享一下。

程序猿确实是人类!他们的大脑也许有些古怪、与常人不同,也有着奇怪的睡觉/工作作息规律,但基本上,他们跟我们是相同的,这一点很重要….

大体上,管理他们和管理其他人是一样的,“按你喜欢的被管理的方式去管理”这样的黄金法则对他们仍然适用。除此之外,你只需要更多的留心一下那些程序猿特别讨厌做的小事情。

在他们的工作中尽可能的省去那些官僚形式主义的东西,他们痛恨做这些,也不擅长做这些,他们往往会花大量的时间琢磨究竟是手工做这些事,还是做个小程序自动完成它们,这后者通常会比直接手工做它们花去更多的时间。所以,所以我宁愿自己根据他们的活动来总结出他们的工作周报,这意味着我每周要写15份周报,但这比跟在这15个人屁股后面催促他们写周报要省时的多,他们讨厌每周都写周报。

找一些有趣的,并且是非常有挑战性的事情让他们做,任务越有难度越好——特别是当他们被告知其他人也在研究这个东西但无法解决的时候,他们会更兴奋。

相比起其它的绝大部分“正常”的公司员工来说,程序猿们更关注公司业务上的一些动态,愿意知道更多宏观经济环境带来的影响。所以,尽可能多告诉他们公司业务上的信息,这也能促使他们在那些有挑战性的项目上找到更好的解决方案。

不要过高的抬举他们!对待他们只有稍微的与“正常”员工不同就行了,目标是让整个团队都感觉出受优待。

有规律的和他们私下里一对一谈心,定期的团队会议,但要寻找一种适合你的团队的风格,这周我和他们的面对面谈心变成了品茶日!

他们的事业发展是对你的挑战,但要开诚布公的和他们谈论什么样的发展道路适合他们。今天团队里的这些面孔如果还能和一年前一样,那是很少见的。提前做好思想准备。准备一个好的招募新兵的途径。通常最好的方法是由熟悉的人推荐。

管好程序猿能给你带来丰厚的回报,只要你的方式能多留一点灵活度。

如果你在找一些能够真正带来启发的关于如何管理程序猿的视频演讲,或如何指导大型团队的演讲,下面就是极好的一个。

作者:Aqee

Tags: ,,.