预计阅读本页时间:-
9.把握开发节奏
“我们很长时间没有进行代码复审,所以这周会复审所有的代码。此外,我们也要做一个发布计划了,那就从星期二开始,用3周时间做下一个发布计划。”
在许多不成功的项目中,基本上都是随意安排工作计划,没有任何的规律。那样的随机安排很难处理。你根本不知道明天将会发生什么,也不知道什么时候开始下一轮的全休“消防演习”。
但是,敏捷项目会有一个节奏和循环,让开发更加轻松。例如,Scrum约定了30天之内不应该发生需求变化,这样确保团队有一个良性的开发节奏。这有助于防止一次计划太多的工作和一些过大的需求变更。
广告:个人专属 VPN,独立 IP,无限流量,多机房切换,还可以屏蔽广告和恶意软件,每月最低仅 5 美元
相反,很多敏捷实践必须一直进行,也就是说,它贯穿于项目的整个生命周期。有人说,上帝发明了时间,就是为了防止所有事情同时发生。因此我们需要更具远见,保持不同的开发节奏,这样敏捷项目的所有事情就不会突然同时发生,也不会随机发生,时间也不会不可预知。
我们先来看某个工作日的情况。你希望每天工作结束的时候,都能完成自己的工作,你手上没有遗留下任何重要的任务。当然,每天都能这样是不现实的。但是,你可以做到在每天下班离开公司前运行测试,并提交一天完成的代码。如果已经很晚了,并且你只是尝试性地编写了一些代码,那么也许最好应该删掉这些代码,第二天从头开始。
这个建议听起来十分极端,也许确实有一点。①但是如果你正在开发小块的任务,这个方式非常有助于你管理自己的时间:如果在你工作的时候没有一个固定的最终期限(例如一天的结束),就应该好好想想了。它会让你的工作有一个节奏,在每天下班的时候,提交所有的工作,开心收工。这样,明天就能开始新的内容,解决下一系列难题。
站立会议(习惯38,第148页)最好每天在固定的时间和地点举行,比如说上午10点左右。要养成这样的习惯,在那时就准备好一切参加站立会议。
最大的节拍就是迭代时间(习惯17,第69页),一般是1~4周的时间。不管你的一个迭代是多长,都应该坚持-----确保每个迭代周期的时间相同很重要。运用有规律的开发节奏,会更容易达到目标,并确保项目不停地前进。
解决 ,在事情变得一团糟之前。保持事件之间稳定重复的间隔,更容易解决常见的重复任务。
切身感受
项目开发需要有一致和稳定的节奏。编辑,运行测试,代码复审,一致的迭代,然后发布。如果知道什么时候开始下一个节拍,跳舞就会更加容易。
平衡的艺术
在每天结束的时候,测试代码,提交代码,没有残留的代码。
不要搞得经常加班。
已固定、有规律的长度运行迭代(第69页,习惯17)。也许刚开始你要调整迭代的长度,找到团队最舒服可行的时间值,但之后就必须要坚持。
如果开发节奏过于密集,你会精疲力竭的。一般来说,当与其他团队(或组织)合作时,你需要减慢开发节奏。因此人们常说,互联网时代发展太快,有害健康。
有规律的开发节奏会暴露很多问题,让你有更多鼓起勇气的借口(第23页,习惯4)。
就像是减肥一样,一点点的成功也是一个很大的激励。小而可达到的目标会让每个人全速前进。庆祝每一次难忘的成功:共享美食和啤酒或者团队聚餐。