技术债 Technical Debt 是软件工程上特别是敏捷开发 (Agile Development) 中的一个概念. 指的是解决一个当前问题最好的方法往往需要更久的时间和精力, 但是为了加快软件开发进度, 赶在代码冻结前按时交差, 采取的一个较为折衷的解法方法. 但是这就是一笔债一样, 可能会把潜在的问题越积越大(利息), 甚至将来却无力偿还(修复).
1年半前, 我提了个BUG, 这个BUG大概是说一种数据文件里如果用TAB而不是空格来隔开字段, 则导入数据过程中软件会崩溃, 这个BUG的确是有效的, 因为把这数据文件放到别的软件中导入则是没有问题的.
前前后后讨论了半年, 然后总算被批准了, 不过由于开发任务繁重, 而且也不是那种非改不可的BUG, 所以就一直拖, 拖到今年10月份, 突然接到邮件通知: “agreed to remove as this has been sitting in backlog for over 18 months , no customer requirements”
这个BUG, 我想要真正改的话, 估计加上写测试用例, 最多半个小时, 前后拖了18个月只得到不重要不用改这样的结果只能说明会开太多了, 效率低下.
这是技术债么? 我觉得是, 虽然并没有严格意义上的采取较方便的解决方法, 但是实质是都是一样的: 选择忽略这种容易的方式. 一个成熟的软件不会连这点兼容性都没有的, 更何况是导入合法有效数据时软件会崩溃这样不成熟的表现. 这是技术债, 现在没有客户会 screaming, 不代表之后没有.
软件每两周迭代一次, 在第二周的周三周四的改动中如果碰到需要较大(好)改动的处理, 来不及在代码冻结前提交, 往往我们的做法是看紧急程度, 如果客户要求较急, 那么则会出一个较为快速的改动, 并且把需要完善的改动任务记录在技术债列表上. 如果不是很紧急, 我们可以把这个任务提交到接下来的 sprint (短跑) 中.
不管如何, 一个被 产品经理 approved 的 defect 在一年多后被移除, 这一点是无论如何说不过去的.
loading...
上一篇: 说说计算机证书
下一篇: 试用 utopian.io