如何激励团队处理遗留产品

时间:2010-05-20 12:00:42

标签: legacy-code

我们是一个致力于遗留代码的团队,这些代码非常陈旧,并且使用初始编程时的语言编写。由于团队成员接受过最新技术方面的培训,现在他们开始使用遗留代码,他们并不高兴。如何激励他们使用遗留代码?

11 个答案:

答案 0 :(得分:11)

派遣您的团队与用户会面并观看他们使用软件。他们应该找出用户对该软件最关键的问题。

了解用户可以让工作变得更加真实 - 您的团队会知道添加新功能或消除一些错误会帮助一些真实的人。这应该激励程序员完成无聊的工作。

答案 1 :(得分:6)

只有现金才能让开发者满意。你应该为他们提供良好的环境,以便他们能够关注他们的工作。

另一件事是没有技术是坏的或传统或旧的。事情是,如果你的公司需要维护它,那么你必须坚持下去。但要保留设计,编码,测试,代码审查,交互式会话等所有标准。

此外,您可以激励他们将您的遗留代码转换为新平台,以获得更好的性能和可维护性。每个公司都会这样做,即使我想,因为他们想与其他市场产品竞争。

还为他们公司中使用的其他技术提供一些很酷的会话,但他们不知道或不使用。让他们深入了解事物,给他们适当的时间和解决问题的支持。主要目标是按时交付,减少返工和错误。

为他们的工作提供一些奖励,让他们对自己的工作感到高兴。

感谢。

答案 2 :(得分:3)

我非常喜欢“发送你的团队与用户见面并使用软件观看”

如果我必须激励我的团队,我会真的要求我的开发人员访问该用途,并了解用户对该产品的满意程度。

我真的很想接受如何让它比现有的更好的挑战。

答案 3 :(得分:1)

例如,您可以尝试在测试方面做一些奇特的事情。尝试模拟框架等。

还要强调,如果您想成为一名可靠的程序员,处理遗留代码是一种很好的体验,因为每种技术最终都会成为传统。

答案 4 :(得分:1)

在可预见的将来,您是否有一些退休遗留代码的余地?如果是这样的话,“我们只需要保持这种状态,直到......”可能使药丸变甜。

团队成员是否具有编写遗留代码的语言/环境的经验?如果没有,可能很不愿意做一些他们不知道如何操作的事情。可能在一段时间内安排他们获得至少熟悉的熟悉度可能是有序的;如果不是从最新技术转变范式,那应该不是那么难吗?

答案 5 :(得分:1)

团队成员是否只被允许在遗留代码团队中工作,或者他们的时间是否可以在不同的项目之间分配?我认为任何人都不会为花费40个小时的FORTRAN调试而感到高兴。但是如果你不得不花费几个小时来处理遗留代码,知道你可以在白天休息一段时间来做一些你真正喜欢的事情,那就不那么痛苦了。

我将重申之前所说的关于确保团队成员有时间学习并获得旧技术经验,然后将其投入其中。尽量让训练变得愉快。我们的遗留代码培训是作为一项竞赛设立的,以确定谁可以为有趣的问题提出最快/最短/最完整/等解决方案,而不必专门查看我们正在处理的代码。真的,即使你没有留出时间进行培训,这也可以应用于团队的计划。为手头的任务添加一点竞争,或者为挑战性和竞争性的项目提供一点时间。

答案 6 :(得分:1)

他们如何因处理这些传统产品而获得奖励?你知道是什么激励他们吗?有些人可能更喜欢及时的认可和赞扬,而其他人可能希望获得现金或理解,这不一定是他们最初接受工作时签署的。我很想建议举行1:1会议,看看他们会喜欢什么会让他们更开心。这是钱吗?时间更灵活?对传统技术进行培训?确认他们在这些古老的系统上做得很好,因为最初的编程日让我想起了大型机和其他人们可能会想到的其他非常古老的工具,“它真的会运行多长时间?”

答案 7 :(得分:1)

现金不是答案。免费食品,软饮料,无论如何,这只是为了减轻遗留代码工作的苦差事。那么试图改变他们的观点呢?

“任何人都可以用现代代码做好工作,这个代码有一个很好的IDE,里面有重构,大量的资源只是谷歌搜索的一部分,但我们很少自豪,我们兄弟们,我们很擅长这样做古老的程序语言。我们将驯服这些糟糕的代码并用一只手支撑着我们的背后创建流程和工具,以确保下一个可怜的混蛋不会那么糟糕。“

答案 8 :(得分:1)

我想说从开发人员到遗留编码吸引最积极情绪的最简单方法是以某种方式创造旧的新东西。

进行一两个会话以确定遗留代码的作用,然后了解在新架构上重新执行该操作需要做些什么。 “新架构”部分是关键,因为9/10次,它是可怕的架构(意大利面条代码,预标准惯例等)。

如果您无法获得批准的重写估算,那么至少要制定计划,将遗留代码重构为日常维护。至少你的开发人员会感觉好像他们正在努力争取某些东西,而不仅仅是让人痛苦的,而不仅仅是让人无法忘记的旧衰变。

只是我的2¢。

答案 9 :(得分:0)

额外的现金? :)别知什么......

即使它是新技术遗留代码,也不一定很乐意使用这样的代码,所以“初始技术”......我想唯一的动机就是发现编程是如何的......

答案 10 :(得分:0)

考虑到可用于资源,IDE,专业知识,框架等的数量,花费在激励团队和学习遗留代码并半心半意地修复它所花费的时间可以很容易地用于在新平台中构建相同的东西免费,你有系统的好消息你只需要在新平台上遇到相同的行为,而不像我们必须为我们不知道的行为和用户体验的某些产品构建新的东西。