“没有时间”- 完美的借口

见过不少的软件团队,但是好像每个软件团队都有项目压力,时间紧、任务重,没有时间去学习尝试新的东西或者去重构。有一次一个ScrumMaster过来找我。

ScrumMaster: “Daniel,团队想把项目代码重构一下,我们想向项目经理申请每两个月给我们一个星期的时间去重构代码,但是项目经理不同意。原因是项目发布压力很大,不可能给我们一个星期的时间。你有什么建议么?”

Daniel: “你们项目经理做得很对!”

ScrumMaster: “什么??!!!难道你不是一直跟我们说要去重构代码吗?”

Daniel: “是的?但是你们为什么要花一个星期去重构?这个星期的产出是什么?如何向项目经理去证明这个星期的价值?”

ScrumMaster: “!@#$%$^^&&”

Daniel: “你们团队能不能每个星期抽出一个到一个半小时的时间,比如大家午饭时间早点儿回来?”

ScrumMaster: “…”

Daniel: “每个星期一个半小时,还需要向项目经理申请么?”

ScrumMaster:“应该可以,也不用申请。”

Daniel:“让所有人结对去重构一个函数,或者尝试加些单元测试,一个小时后每个结对分享结果,然后把代码扔掉。”

ScrumMaster:“为什么要扔掉???!!!”

Daniel:“关键是让大家有一个安全的环境去学习尝试不同的工作方式。如果大家觉得代码修改最终会扔掉,就会放心地去重构了,而且通过这种Workshop,大家就会渐渐地熟练掌握重构和写单元测试,自然而然就会在以后写产品代码中去使用新的技巧。”

Daniel:“而且重构是每时每刻都在做的,如果我们的团队需要申请时间来作重构的话,相信那是重写而不是重构了。”

受Matts Cutts的“三十天尝试新东西”启发,每周一个半小时的Workshop可以给我们的团队一个

  • 安全的环境
  • 持续尝试的习惯

不断坚持就会获得持续的提升。

Share