6天时间修改1行代码:现实中的软件开发流程

原文:It Takes 6 Days to Change 1 Line of Code

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

本文是一个真实的案例:

菲利普(主 席):我们工厂中有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字节

本文文字及图片出自 www.iteye.com

你也许感兴趣的:

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注