阿烈的博客

关于团队一些思考

目录

1
2
3
4
5
6
7
8
9
1. 团队思考
1.1. toruk框架的启示
1.2. hui99的问题
1.3. cmmi3评估中暴露的问题
(1) 杨ting在访谈前背"答案"时才知道OSSP是什么?
(2) 我们作为“编码测试”人员,在访谈时却被问了许多需求设计、配置、QA的问题,我们几个人都没回答上来。
1.4. 代码是否可以共享?
2. 员工、团队与成长
3. 总结

团队思考

toruk框架的启示

toruk框架目标

1
2
a) 相对于hui99使用的spring+ibatis2框架(或其它框架),使开发过程更加简单,提高效率;
b) 使公司具有不可替代的元素。turuk便是其中之一。

(1) 如果想开发过程简单,是否有更好的开源框架(技术/方案)?
如使用spring3 REST风格,使用Spring的注释式编程!
(2) 如果非要开发toruk,是否数据库这块可重用ibatis2而不是重新造轮子?
(3) 部分项目已经使用了toruk框架,可能以后还有项目会用到。

1
2
3
4
5
toruk的研发人员全部离职之后,toruk框架的理念、技术、知识、代码真的传下来了吗?
还有人非常了解toruk的源码吗?
还有人去主导toruk的研发吗?
toruk存在的bug,还会有人去fix吗?
toruk还会在公司存活多久呢?

(4) toruk(或其它)的知识为什么没有完全成为公司的财产,而随着人员的流失而流失了?是什么原因造成了这些问题?

hui99的问题

hui99有很多频道:机票、酒店、旅游、团购、租车、购物、电子优惠券、手机充值、社区等, 还有一个IVR系统在使用!去年年底的时候又加了一个分销商/积分系统上去。当初开发分配任务时,基本上都是每个频道由某个人单独负责的。从去年开始,陆续有人离职了,项目转由我整体负责了。但我对其它各频道业务不是很清楚,而相关负责的人已经离职,没有留下太多的文档(或文档已经过时),代码风格不一(包括缩进、代码的格式化都或多或少有点问题)、结构混乱,中间夹杂点小bug,也确实让人头痛。

1
2
3
4
(1) “每个人按照频道划分开发任务”,这种任务分配的模式是否过时?
或者说每个频道的功能还可以分得细一点,然后团队一起开发。或每个频道进行交叉开发。
(2) 开发过程中,团队间是否可以评审一下代码,而保持风格的一致性?
(3) 同事离职了,你怎样才能更快的理解他的负责频道(或模块)业务和代码?

cmmi3评估中暴露的问题

公司今年过完年之后,确定实施CMMI3评审,而评审工作在4月份开始进行。两个月时间,四个项目(三个虚假项目),上千个文档需要准备。4月10多号开始背”答案”,4月22日开始访谈,我是作为”编码测试”人员进行访谈的。
评审过程中,有两件事情让我印象比较深刻:

杨ting在访谈前背”答案”时才知道OSSP是什么?

她已经写文档两个月了,所有的CMMI3的流程和文档都是根据OSSP来编写的。
这是谁的问题?个人问题?石老师(培训老师)的问题?CMMI负责人的问题?公司培训的问题?…
这到底是什么问题?如何去解决这个问题?

我们作为“编码测试”人员,在访谈时却被问了许多需求设计、配置、QA的问题,我们几个人都没回答上来。

几天背”答案”下来没有什么效果,主任评估师都没问到(你想让他问的)问题上。CMMI中编码测试不是编码测试人员的问题,团队成员间的工作都是有关联的。
在团队中,你知道别人做的具体工作吗?你知道别人的工作对你的影响吗?你真的知道你负责工作的内容吗?

代码是否可以共享?

去年年底的时候,建行团要改版(代理商版)。
具体的开发任务分配是:国栋负责平台后台、我负责分行后台、杨文涛负责商户后台。其中有一个功能模块:团购商品状态转换的, 平台、分行、商户后台都有涉及到,商户后台只有”提交审核”的操作,但分行后台和平台后台包括商品状态的所有操作。
基本功能介绍如下:

1
2
3
4
5
6
7
商品状态:暂存、待审核、上架。
相关操作有:提交审核、上架、下架、重新编辑。
状态转换关系是:
暂存 -提交审核 -> 待审核
待审核 -上架 -> 上架
上架 -下架 -> 待审核
待审核 -重新编辑 -> 暂存

我在任务确定后,就忙着做其它项目去了。我一回来,就code自已负责的代码去了。

但问题来了,状态转换的操作我是通过商品状态机类ProductStateMachine实现的,其它地方要用的话直接调就行了,商户后台这边则是直接操作数据库。同样的功能,实现的方式不同,方法的命名不同,若不修改就会给后期的维护带来问题。

为什么会出现此类的问题呢?任务确定之后,各人只埋头负责自己的部分,而完全不理会其他人的工作,只要功能实现了,其它的都是小问题。事实真的是这样吗?当别人提出你的功能有更好的实现方案时,所有人都会心甘情愿的修改自己”辛辛苦苦”写的代码吗?团队代码风格、方法命名等如何保持一致呢?…

你也许会觉得责任在于分配任务的人,为什么分的任务会有交叉呢?但(1)是人总会犯点错;(2)这就好像项目的成败决定于分配任务的人一样,个人决定成败,而非整个团队。

可以思考的问题:

1
2
(1) 任务为什么要这么分?是不是可以做得更好?
(2) 代码是否可以共享?

员工、团队与成长

新人进公司一年多来快速成长了吗?如果没成长,是招聘时看错人了吗?是员工的个人问题,还是公司或团队本身的问题?

公司需要生存发展,员工需要更好的工资(尤其是物价在疯涨的时候)、更好的发展,公司与员工是互相博弈的过程。

薪资不高、没有发展、没有成长,这不是在耽误人家的宝贵青春吗?

1
2
3
4
但公司的发展靠的是人啊?
(1) 好的氛围,才会引入、留住好的人。
(2) 好的人,才会有好的制度,并且保持好这个制度,毕竟制度是人定的。
(3) 好的人和好的制度,才会遇到好的客户。

是先有项目才有人,还是有了人,才会有项目?

做项目是仅仅为了做项目吗?如何打造一个全面成功的项目?

项目开发中,团队真的在成长吗?

《走出软件作坊》 阿朱

在项目管理中,我发现人是最重要的,但是很遗憾,总是能看到不少心胸狭窄、眼光短浅的老板,把员工当傻瓜,把客户当傻子。其实人对了,世界就对了。

《从优秀到卓越》 柯林斯

实现跨越公司的领导者首先是设法得到合适的人才(不合适的下车),然后才决定将汽车开向何方。

五年思想工作者 梦想风暴

去年带了一个项目,在那个项目里,我做了一个尝试。我把项目的目标订在了人才培养,而非传统意义的交付。于是,在这个过程中,我花了大量的精力去教新员工写代码,帮他们设定个人成长目标,教他们做事,带着他们吃好玩好……就是这样一个几乎都是由新ThoughtWorker——甚至大多是毕业生——组成的项目组,后来,这个项目成了Michael Chen口中最接近他心目中全面成功的项目。

总结

  • 员工离职之后,知识、经验会留下来吗?
  • 团队中的知识在流通吗?
  • 项目中,团队成员在成长吗?团队在成长吗?团队会反思总结吗?
  • 除了员工自我驱动外,公司有为员工做过职业规划吗?
  • 团队怎样才能写出更好的代码(Beautiful Code)?

你需要什么样的团队?