多思考,多实践,现状才会改变!

我们团队的敏捷开发方式及工作环境

上一篇 / 下一篇  2012-01-31 18:02:27 / 个人分类:其它

也不知道该起什么样的标题比较恰当,所以就起个本文相关的标题呈上了。

总想把自己的感想写出来,就想讲讲我们软件部门,应该说software团队的工作内容和环境吧。
首先很想说说自己是如何进入现在的团队的:
没有进入我现在公司的时候,我同时拿了两份offer,待遇差不多,据了解两个公司基本差不多,然而是一个细节让我选择了我现在的公司,面试我的是我现在的老大,他面试我的时候,就像聊天一样,没有什么压力,问问技术方面内容以及我的工作内容,之后就结束了,在我离开的时候,老大做出了一个举动至今让我很感动,他竟然伸出手和我握握手,在惊讶之余,感到一丝丝被尊重的感觉(面试了这么多次从未遇到过)。我还正在面试其它公司的时候,人事给我打电话,把offer给我了,虽然在我的期望待遇给打了折,但是我觉得他们很爽快,我也能接受,这也是我选择现在公司的原因。直至现在我一直感谢我的老大把我招进来,很庆幸。

下面进入主题,先说工作流程。
 我们团队采用的是敏捷开发的模式进行开发的,大家都是团队中的一份子,虽然我是QA,但是大家的地位都一样。我们采用的是每个sprint用10天的时间,基本上四个sprint发布一个release,团队成员有十二个,之前是分成两个组的,后来统一了,变成了一个大的组。整个工作流程如下:
1).  开始一个sprint的时候,首先开始planning meeting,会议中讨论即将开始的sprint中的任务,讨论每个task应该为多少个point的工作量,这个过程中开发测试都在一起进行讨论估点,透明直接;
2).  接下来是开始按照计划工作,在每天早上10点准时开始长达15分钟的站会,也就是所谓的Daily scrum meeting,大家都站着轮流说自己昨天做了什么工作,今天准备做什么,有没有遇到什么问题(有遇到问题的要提出来,简单的就站会解决,复杂的会后讨论),大家都轮流说完之后,就开始更新工作任务,有个表进行工作point更新,会议室中有几面墙,有贴小纸条的墙,有进度曲线图的墙,还有Hudson on/off的墙,还有一个柱形图给结对编程用的(两个开发在一起做同一件事情),还有一面墙用作哭墙,也就是犯错的时候写上去吸取教训或者改进代码用的。这个会议的好处就是在遇到问题的时候能够及时的沟通解决。在开会的时候,团队成员有迟到的话,就要请整个团队喝奶茶哦;
3).  结束一个sprint之后,会有一个review meeting,在这个会议中,工作完成情况的汇报,要将完成的工作演示给整个团队看;
4). 一个sprint中的最后一个会议了,也就是retrospective meeting,回顾会议,将这个sprint中大家的体会写出来,遇到的问题提出来,并进行解决,也是一个迭代的过程,将在之后的sprint中避免出现之前的问题,总结经验和教训吧。

再说工作中的事情:
在我们团队中,角色不是分的很清,当程序员的开发任务完成后,可以辅助进行测试,当测试工作量比较小的时候,会担起开发的部分工作,比如系统配置,版本升级,部署环境等等的工作。
我们代码维护是统一放到svn中,针对不同的版本拉出不同的tag,主流是trunk目录,test unit 是用hudson来管理的,当程序员提交的代码导致hudson运行出错的时候,第一时间就要解决这个问题。
当开始一个新的功能时,会采用一下结对编程,这样的好处是整个产品,基本上大家都能做,这样在分配任务时比较均衡。

遇到难搞的问题时,大家会聚集一起进行讨论解决,我们团队中的每位成员都很自觉,也都很积极配合各自的工作,有问题的时候不是个人的问题而是大家的问题,当然成功的时候也是大家的功劳,大家的目标都是集体完成每个sprint的工作。采用敏捷开发的好处之一就是基本上不用加班,正常情况下,所有的成员都不加班的,只有个别情况,也就是当天预估的工作没有完成的时候,会自觉的加班完成,也是为了第二天给大家一个交代吧!整个工作环境是轻松愉快并积极向上的,即使有新的员工进来也会很快的融入到我们的集体中哦。

说到这里也许有人会觉得,全靠自觉来工作还是有点悬吧,会不会有偷空的机会呢,呵呵,这个我们经理管理的还是很好的,整个团队中的人员,除了scrum Master之外,其他人的绩效计算之一是按照完成的point来,所以大家都争着做的。

现在该谈到团队中的QA了,也就是我们测试小团队了,在敏捷开发过程中能用到自动化的,我们就集体写自动化脚本,该进行性能测试的,也是集体进行性能测试,这就带动了整个团队共同进步共同成长。在测试的过程中,遇到bug的时候,作为测试的我们经常先和开发人员及时沟通,将该bug进行分类,并尽可能的及时修改该bug,因为bug的多少直接影响程序员的绩效奖金的,所以这个时候测试者不能冤枉了程序员,不然他们会申冤的哦!

最后得谈谈工作氛围了,也算是福利吧,外面有培训的时候,部门经理都会鼓励我们积极报名去培训,公司给报销七七八八的费用,比如说去年淘宝在杭州举行的淘宝技术嘉年华的活动,公司就给报销路费和住宿费让我们团队去参加培训,还有在复旦大学举行的agile培训活动,经理也是积极鼓励大家参加(报销入场费哦),平日里,遇到一些常出现的问题时,都是及时进行分享,工作中的点点滴滴的问题,都会发送到团队邮件中,大家都会学习。像我测试的,平时不清楚的问题,在办公室里喊一声,开发的同学们就会过来帮忙,这其中会不断的学习到很多东西,沟通使每个人共同成长。经理经常鼓励我们中午饭后搞活动,经常我们会组个团玩三国杀,桌上足球,还有我不感兴趣的几个人玩魔兽,办公室里飞镖板,谁爱扔谁仍,板子旁边的玻璃都戳了好多小洞了。为了犒劳辛勤工作的孩子们,办公室备有一柜子的零食小吃,连口香糖棒棒糖都有了,女生爱的蜂蜜也都有哦,经理喜欢喝饮料,所以饮料一箱一箱的。

虽然有时候会加班,也就是出版本的时候,可能根据情况要加班,这个大家都乐意,虽然没有加班工资。一个好的工作环境,不仅能学到很多东西,也能很好的完成工作,当遇到问题的时候,大家首先是积极的解决问题,而不是把时间浪费在找责任人的身上,出现问题的时候,是大家的责任,而不能完全归结到个人身上,解决完问题之后,相信大家都会自我反省,因为每个从客户那边过来的问题,我都会反省是自己哪里没有测试到,还是其它的问题,如果是自己没有发现的,在以后要时刻提醒自己不要再出现同样问题,我想大家都是成年人,都和我想的是一样的吧。希望程序员和测试者之间好好沟通,共同完成工作,成功了,大家的绩效都高了。大家好,才是真的好,就是这个道理。

最后奉上今天刚看到的一句话:学历代表过去,经验代表现在,学习力代表将来。 
不断努力才会不断进步。

TAG: Agile agile 敏捷 QA Scrum scrum 工作环境

引用 删除 pengpeng623   /   2012-07-01 21:33:01
多谢分享
 

评分:0

我来说两句

Open Toolbar