我们是一个致力于遗留代码的团队,这些代码非常古老,并且是用最初编程时代的语言编写的。由于团队成员接受了最新技术的培训,现在开始处理遗留代码,他们并不高兴。如何激励他们也使用遗留代码?
11 回答
派您的团队与用户会面并观察他们使用软件。他们应该找出用户在使用该软件时遇到的最关键问题。
了解用户使工作更加真实——您的团队将知道添加新功能或消除一些错误将帮助一些真实的人。这应该会激励程序员完成无聊的工作。
只有现金不能让开发商高兴。你应该为他们提供良好的环境,让他们能够专注于自己的工作。
另一件事是没有技术是坏的或遗留的或旧的。问题是,如果您的公司需要维护它,那么您必须保持它的运行。但要保留设计、编码、测试、代码审查、交互式会话等的所有标准。
您还可以激励他们将您的遗留代码转换为一些新平台,以获得更好的性能和可维护性。我认为每家公司都会这样做,因为他们想与其他市场产品竞争。
还为他们提供一些很酷的课程,以了解贵公司使用但他们不知道或不使用的其他技术。让他们深陷其中,给他们适当的时间和解决问题的支持。主要目标是按时交付,减少返工和错误。
为他们的工作提供一些奖励,让他们对自己的工作感到满意。
谢谢。
我真的很喜欢“派你的团队去见用户并使用软件观察他们”
如果我必须激励我的团队,我真的会要求我的开发人员访问使用并了解有多少用户对产品感到满意。
我真的很想挑战我们如何让它变得比现有的更好。
例如,您可以尝试在测试方面做一些花哨的事情。尝试模拟框架等。
如果您想成为一名可靠的程序员,请尝试强调处理遗留代码是一种很好的体验,因为每种技术最终都会成为遗留的。
在可预见的将来,您是否有一些淘汰遗留代码的空间?如果是这样,“我们只需要保持这种状态直到……”可能会使药丸变甜。
团队成员是否在编写遗留代码的语言/环境方面经验丰富?如果没有,可能只是不愿意做他们不知道如何操作的事情。可能在某个时间安排他们至少获得一个短暂的熟悉可能是为了;如果它不是从最新技术发生太多的范式转变,它不应该那么难吗?
团队成员是否只允许在遗留代码团队工作,还是可以将他们的时间分配给不同的项目?我认为没有人会对每周花 40 小时进行 FORTRAN 调试感到高兴。但是,如果您必须在遗留代码上花费几个小时,并且知道您可以在白天休息以从事您真正喜欢的事情,那么痛苦会少一些。
我将重申之前所说的,确保团队成员有时间学习并获得使用旧技术的经验,然后再将它们投入其中。尝试使培训也愉快。我们的遗留代码培训被设置为一项竞赛,看谁能提出最快/最短/最完整/等有趣问题的解决方案,而不是只看我们要处理的代码。真的,即使您没有时间进行培训,这也可以应用于团队的计划。为手头的任务增加一点竞争,或者为具有挑战性和竞争性的副项目留出一点时间。
他们如何因开发这些遗留产品而获得奖励?你知道他们的动机是什么吗?有些人可能更喜欢及时的认可和表扬,而另一些人可能希望获得现金或理解这不一定是他们最初接受这份工作时所签署的。我很想建议进行一对一的会议,看看他们喜欢什么会让他们更快乐。是不是钱多了?休假时间更灵活?传统技术培训?肯定他们在这些古老的系统上做得很好,因为最初的编程时代让我想起大型机和其他真正古老的工具,人们可能会想,“这真的能运行多久?”
现金不是答案。免费食物、软饮料等等,这些只能缓解遗留代码工作的苦差事。尝试改变他们的观点呢?
“任何人都可以使用具有内置重构的漂亮 IDE 的现代代码做好工作,只需一次 Google 搜索即可获得大量资源,但我们为少数人感到自豪,我们是一群兄弟,我们足以用古老的程序语言做到这一点. 我们将驯服这些糟糕的代码,用一只手在背后做这件事,并创建流程和工具,以确保下一个可怜的混蛋不会有这么糟糕的情况。”
我想说从开发人员那里吸引最积极的情绪到遗留编码的最简单方法是以某种方式使旧的新的。
进行一两次会议来确定遗留代码的作用,然后了解在新架构上重新执行它需要什么。“新架构”部分是关键,因为 9/10 次,可怕的是架构(意大利面条代码、准标准约定等)。
如果您的重写估算无法获得批准,那么至少制定一个计划,将遗留代码的重构纳入日常维护。至少,您的开发人员会觉得他们正在朝着某件事努力,并且在这方面做一些新的事情,而不是像猴子一样绞尽脑汁,甚至没人想记住的旧衰退。
只是我的2美分。
额外的现金?:) 别的什么都不知道...
即使它是新技术遗留代码,也并不总是很高兴在这样的代码上工作,所以“初始技术”......我想唯一的动力是发现这些天编程是如何......
考虑到免费提供的资源、IDE、专业知识、框架等的数量,花费在激励团队、学习遗留代码和半心半意地修复它所需的时间很容易用于在新平台上构建相同的东西,好消息,您已经有了系统,您只需要在新平台上满足相同的行为,不像我们必须为某些我们不知道其行为和用户体验的产品构建新的东西。