敏捷交付的一天

每天走进办公室,第一件事情是冲上一杯咖啡,在Pantry和同事聊会天。然后回到办公桌前,查收前一天未读的邮件。

项目经理和商业分析师打开产品代办列表(Product Backlog),看看当前项目的进展。

产品待办列表是团队在进行迭代式开发时经常使用的一种工具,来管理在未来迭代中将要实现的用户需求。出现在“产品待办列表”中的用户需求一般以“用户故事”为单位来组织。传统的“堆栈式”产品待办列表强调按用户故事的优先级排序,越靠近栈顶的用户故事优先级越高,且拆分得要足够细,以便让团队在下一个迭代开始时从中选取要开发的用户故事。

从产品代办列表开始

迭代启动会议(IPM)通常发生在每个迭代的第一天,团队成员一起制定迭代计划。这个会议由商业分析师主持,团队一起同步几个方面的内容:

下一个迭代的用户故事;

对下一个迭代的期望和计划;

风险的评估和总结。

不同的人对需求的理解是不同的,所有团队成员都要明确用户故事的相关内容、所要实现的功能、满足哪些条件用户故事才算完成。迭代会议的主要产出是下一个迭代中需要完成的用户故事,这些用户故事即为下一个迭代所要完成的主要目标。 

​站会(Standup meeting)是团队一天协同工作的开始。团队在物理墙前快速开一个会议,团队成员逐个更新自己的状态:

昨天完成的工作;

今天计划做的工作;

面临什么阻碍,需要什么帮助;

自己手头用户故事的进展,是否存在技术风险。

站会

既然是快速的会议,站会的时间就不宜过长,10分钟左右为佳。建议团队成员站着开会,因为研究表明,当人们坐着开会的时候,会议的时间会被无形中拉长——会议的重要目的是让每个人在自己以及同事面前作出承诺,这个承诺是团队之间的承诺。

站会结束后大家就开始了一天的工作。在敏捷开发中,所有需求都会以“故事卡”的形式拆分、细化、并传递给开发团队。

一个迭代的敏捷软件开发

用户故事开卡(Story kick-off)常常是一天敏捷软件开发的开始。在每个用户故事开发之前,要确保BA、DEV和QA对用户故事理解一致。这个沟通活动通常由DEV讲解这个用户故事要完成的功能及AC,一旦发现任何疏漏,BA会及时补充。DEV有任何疑惑也需及时提出来,当场确认,使这些功能得以正确实现。在后续开发中如果碰到任何疑惑,也应及时找BA了解清楚。QA会严格按照AC来验收用户故事。

结对编程(Pair Programming)是指两位程序员坐在同一工作台前开发软件。

将代码评审做到极致:错误发现地越早,修复成本越低

程序员之间的社交:团队内充分的知识共享

结对编程

Dev把自己对应的卡开发完成并提交代码后,需要和需求输出方(商业分析师)在测试环境下desk check以验收需求,否则不可以将卡挪到下一个泳道,这个过程叫Story Sign Off

如果能有超过四个小时的工作时间重叠,Always on(由电视、Mac Mini和Skype组成的无间断视频)一定要有。实时视频能增加许多亲切感和趣味,拉近团队成员的距离;更能让包括站会、desk check在内的很多敏捷实践变得容易。有了Always On,信息不回擡头喊一喊,开会了朝屏幕招招手,方便直接,即使大家相隔千里,也能随时就问题展开讨论,也算对得起“魔镜”的名号。

敏捷团队非常重视学习和分享,通过做session实现能力培养和知识传递是一种很常见的方式。每天中午,各个团队会有计划性地举行session分享。为了将知识分享的供需可视化,可以建立一个session墙,分成两部分:一边由团队成员写出想要了解的技术、业务知识,相当于是需求方;另一边写着根据需求而安排的session,相当于是提供方,这样清楚明了,便于跟踪。

Session墙

在一天的工作中,有时候会组织Showcase。功能演示(Showcase)是敏捷开发流程中的又一个实践,通常发生在每个迭代的最后一天,目的是演示可工作的软件。团队把一个迭代中开发好的功能给相关人员演示,并收集反馈,以便在下一个迭代中可以对变化作出快速响应。

Code Review

开发团队在完成每天代码之后,会聚在一起评审当天的代码,我们称之为代码审查(Code Review) 。这样做有几个好处:团队经过一天的高强度的思考与编码,适当地停下来,看看其他人写的代码,同时将自己的代码讲解出来,往往能意外地获得一些灵感,或许能解决自己面临的阻碍。

互相了解设计思路,更好的建议和思路重构,提高代码质量;

及早发现潜在缺陷,降低事故成本:如果这个时候发现代码的坏味道,和一些需要改进的地方,代码审查结束后可以花少量时间作出更改;

促进团队内部知识共享。

团队会保证代码能够与已有代码进行集成,并且在一天的工作中也会尽可能频繁地把代码捡入到单个主线分支中。如果构建失败,团队会把修复CI当作第一优先级的事情来做。

完成Code Review,忙碌而有趣的一天结束了。在《选择三件事》这本书中,作者建议读者只要放弃什么都想做的执念,我们的生活就会更充实。每天我们应当在工作、睡觉、家庭、朋友和健身这五件事中,选择做三件主要的事情。回到家,陪陪家人、看看书、早点休息。新的一天会更加精彩!

阅读:

项目管理中的敏捷实践

浅谈敏捷离岸团队沟通

敏捷团队需要怎样的工作环境?

本文作者万学凡,ThoughtWorks首席咨询师,武汉。作者保留本文一切权利,未经许可请勿转载

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章