开发流程那些事:6天时间修改1行代码

来自:ITeye英文原文

企业中,产品研发是一项综合性的工作,需要多个部门参与。但往往会出现各种各样的问题,如部门协作困难、全局监控难等,这困扰着大多数的企业。 

本文是一个真实的案例: 

菲利普(主 席):我们工厂中有10%的员工没有充分利用,要么我们开始处理更多的积压工作,要么进行裁员。我宁愿每个人都很忙。我们该如何做? 

李(业务部经理):公司政策规定,我们要处理3个月内的积压工作,如果改成4个月,我们将有大量的工作。 

菲利普:好。现在,我们该如何实现? 

李:我不是很确定。我认为,我们需要更改传统的软件设置。 

大卫(IT总监):没问题。可能只需要更改核心程序中的一行代码。(填写一个清单,提交给IT部门)。 

朱迪(IT管理员):我正分派这个单号为#129281的需求。但是这需要目前的商务项目做完,并由主任签字。 

大卫:这是菲利普交代的,我们不立刻做的话,就必须裁员。 

朱迪:OK,我会马上填写,并标记为紧急任务。 

2 天后 

大卫:#129281目前状态是什么? 

朱迪:它是开发人员任务队列中的紧急任务,前面还有14个紧急的Bug报告需要处理。 

大卫:忘记任务队列。将它标记为紧急,立即发给艾德(程序员)。 

1 小时后 

艾德(程序员):在模块ORP572的第1252行中,我将写死的变量MonthsOfBacklog(积压月份)值从“3”改成了“4”。然后,运行了2批测试用例,成功进行单元测试。业务工作量增加了10%,这是预期数据。我正准备提交代码审查,并交给Homer进行用户验收测试。 

雪莉(代码审查):这违反了公司的政策,你必须在参数文件中做个记录。此外,还有2个旧的调试命令,1个无指定的变量警告消息和1个写死的Employee ID,必须在这个模块移交到产品之前进行修复。 

艾德:!~@#$%^&*(脏话)。 

雪莉:这些bug很可能是真的。一旦你被指派ORP572模块,你就需要对已经存在的、违反新公司政策的错误进行修复。我不能提交。 

2 小时后 

艾德:OK,完成。我正要重新提交代码审查。 

朱莉(IT测试):Homer不能进行用户验收测试,因为Fred正在运行一个本月底财务要用的约束测试。使用Marge代替。 

艾德:我没有访问Marge的权限。 

朱莉:联系IT安全部门的乔,他会给你开权限的。 

2 小时后 

乔(IT安全):没有大卫的签名,我不能给你开Marge权限。他出差了,得等到周一。 

艾德:我不这么认为。菲利普希望马上实施,让他来授予权限。 

雪莉:你的新的参数记录“MonthsOfDemand”需要起一个更好的名字。离岸程序员(位于其他国家的开发部门)不明白这意味着什么。此外,它应该有一个变化核查轨迹。 

艾德:命名有什么规定? 

雪莉:忘了写在什么地方了。离岸团队是3月中下旬更新的wiki,能肯定的是,所有新的参数记录必须满足新的命名要求,并保持核查轨迹。 

1 天后 

艾德:我将参数记录中的“MonthsOfDemand”重命名为“SelectedMonthsOfBacklogDemand”,并添加模块PAR634以保持纪录和核查轨迹。我已经提交到代码审查。 

托尼(IT测试):我看到Marge中有#129281任务,但我没有收到测试计划。 

艾德:按照老方式运行就行,注意WorkOrdersHours报告中总量的增加。 

托尼:这就是你的测试计划?这会影响到企业的其他方面,我必须有用户选择的测试用例、预期结果、测试运行记录以及用户签收。 

2 天后 

菲利普:大卫,告诉托尼将艾德的程序立即提交到产品部门。 

大卫:是的,先生。 

本次任务总结: 

总时间:6天 
关键任务代码更改行数:1行 
关键任务代码更改字节数:1字节 

推荐↓↓↓
程序员的那点事
上一篇:这家IT企业只招聘55岁以上的员工 最大年龄83岁 下一篇:30岁转行成为初级程序员