
在正确完成和交付之间需要找到微妙的平衡。
我管理着一个8人的开发团队。团队每被阻塞一小时,就损失了8个开发小时。
一位同事被分配给我提供一个数据库。等了两天后,我询问了进展情况。他说数据导入遇到了问题。当他将数据脚本化时,几乎有1GB大小。1GB对于提交到subversion来说有点太大了。他正在寻找替代方法。
又过了一天。我问他进展如何。他说快完成了。好的,我已经落后三天了,损失了192个开发小时。我急于开始。我的团队正在流失工时。
第四天,他准备好了。终于!他给我发送了数据库项目和导入数据库脚本。他使用PowerShell和BCP来导入数据。我将它们连同详细说明一起发送给团队。
团队在印度,比我早12个小时。反馈循环是12小时。启动任何事情都需要24小时。
正如墨菲定律所说:“凡是可能出错的事情,都会出错”。团队运行数据导入脚本时遇到了失败。PowerShell脚本失败了,安全问题阻止了数据导入。
我已经落后五天了。损失了320个小时。截止日期迫在眉睫,我们需要开始了。
此时,我需要为团队启动并运行数据库。在我的机器上,我分离数据库,压缩后发送给团队。每个开发人员都知道如何重新附加数据库。在收到数据库后的一小时内,所有八名开发人员都有了一个正常运行的数据库。成功!
创建聪明的流程是好的,但有时候完成工作比聪明更重要。
作者:Chuck Conway 专注于软件工程和生成式人工智能。在社交媒体上与他联系:X (@chuckconway) 或访问他的 YouTube。