加班伤害您的软件和团队

图片来自energepic.com,来自Pexels

几乎每家公司都存在一定程度的加班压力。 它用关于使命,影响,奔忙和其他委婉语的语言来表达。 积极的员工认可通常是愿意加班的人。

“乔真的付出了更多的努力来帮助我们实现目标。 熬夜,周末进来。 他真的为我们的使命做出了牺牲。”

值得庆幸的是,我从来没有在过厌恶加班的地方工作过。 但是,称赞加班是荒谬的。 加班是问题的征兆,永远都不应受到赞扬。 曾经

从根本上讲,加班的需求反映出专业精神,优先事项和敏捷性的下降。 我主要关心软件开发组织的加班时间。 但是,在任何情况下都可以观察到它对生产率和质量的负面影响。

专业精神

专业精神归结为纪律。 无论努力如何,都要通过纪律来获得能力和技能。 超时表示缺乏与调度有关的纪律性。 这也代表了其他领域缺乏纪律。 但是,从根本上说,将我们的工作限制在阻止其推出其他事情的方式上是失败的。

“努力工作,努力工作”这一短语通常与导致加班的心态相关。 这样的想法是,如果我们努力朝着一个目标努力,当我们实现目标时,我们将获得放松的许可。 但是,当您错过商标时呢? 当您因为另一个目标而永不休息时该怎么办? 如果加班是可以接受的,那么它就会产生更多的加班,从而排除了比赛的可能性

一种更好的方法体现在“努力工作,然后回家”这一短语中。这体现了在工作与余生之间取得平衡的假设。 每天我们努力做我们需要的工作,那天结束后我们回家 。 当我们完成一天的工作后,我们要做的是我们的关注。 我们有权离开工作,并拥有自己的时间。

这种方法将权力重新交到个人手中,以确定对他们而言重要的是什么。 有人可能会说他们想优先考虑他们的工作,但是我们将得到其他原因,这通常是不明智的交易。 专业精神意味着尊重界限和遵守纪律。 我们不应该期望人们在职业和家庭,工作和朋友,工作和娱乐之间做出选择。 专业人士和想要他们中最好的组织,应该受到这种平衡的约束。

优先事项

与专业精神密切相关的另一个领域是优先领域。 在我观察到或被要求接受加班的几乎每种情况下,都是有人弄乱了最重要的事情。 某种程度上,优先排序失败了。 最重要和紧急的工作没有在最合适的时间完成。 有时会发生错误或情况会发生变化。 但是,通常情况下,有人把优先级弄错了。

这回到了沟通的需要。 我们需要在工作中寻求一致,清晰的反馈。 每当发生故障时,我们都会增加风险,在需要时我们将不会从事最重要的事情。 现实情况是,我们不应从事那些价值可疑的事情。 澄清我们缺乏理解的工作可以帮助我们将最有价值的东西放在首位。 但是,如果我们无法验证某些东西的价值,那么就不可能有值得努力的地方。 由于无法确定我们正在构建重要的东西,因此未能适当地确定优先级会危及产品的成功。

正确理解优先级及其价值后,调整计划就变得更加容易。 了解我们工作的价值为管理范围和时间表提供了机会。我们可以将有价值的工作移到最前面,或者延误或放弃价值不高的工作。 强调优先事项很重要,这使我们能够找出需要加班的根本原因之一,并避免加班。

下班后

在过去的十五年中,我一直担任软件工程师。 但是,在那段时间,我还做了很多维护商务计算机系统的工作。 有时,这些系统出现故障,需要下班后的注意。 重新调整时间表可能是我们有时要做的工作的一部分。 但是,要恢复到专业精神,那不应该转化为一天的工作,也不应该浪费我们的个人时间。

我很幸运能够在公司任职,这使我能够灵活安排自己的工作日程以应对突发事件。 如果我要在凌晨2:00修理服务器,则预计第二天早上我不会回到正常的一天。 必须重新安排日常工作,以弥补我需要休息和避免倦怠的需要。 重要的是要认识到,调整自己的日程安排或适应下班后的工作不同于被强迫甚至自愿接受加班。

敏捷

敏捷软件开发宣言的第一个价值宣言是“流程和工具上的个人和交互”。在任何敏捷组织中,人们都是第一位的。 您不能照顾自己想要完成的工作,除非您首先照顾您希望从事该工作的人员。 而且,同一宣言的基本原则是可持续步伐原则。

敏捷过程促进可持续发展。 赞助者,开发者和用户应该能够无限期地保持恒定的步伐。

加班是可持续步伐的对手。 如果我们需要加班,那么关于我们的流程的某些信息可能会错位或无法正常工作。 在敏捷组织中,加班是更多系统性故障的征兆。 解决优先级,范围,质量或其他方面的问题。 无论根本原因是什么,都可以解决。 不要将加班视为不可避免或必要的。

敏捷要求保持有关人员的生活平衡。 这意味着他们需要时间进行解压缩。 如果我们一直在努力,我们将无法有效地工作。 最终,我们的交付能力将受到损害,质量将受到损害,并且我们将被要求投入更多的加班时间来修复我们第一次未能做好的事情。 因此,如果我们可以集中精力解决似乎有必要加班的系统性问题,那么我们就可以避免加班并保持最佳状态。

生产率

研究还表明,加班是浪费时间。 随着持续加班的持续,生产率下降。 而且,下降似乎可以完全抵消额外的时间。 新兴的智慧表明,当我们熬夜时,我们不会做更多的事情,而我们做同样的事情的速度就更慢。 正如我的标题指出的那样,加班是浪费时间。

出于多种原因,加班会对生产率产生负面影响。 这样最好避免。 如果我们可以在休息一段时间后简单地休息并恢复到完全的生产力,为什么还要花更多的非生产性时间呢? 没有充分的理由。 我们已经使自己认为加班是正常的。 尽管研究甚至直觉可以告诉我们什么,但我们还是在自欺欺人。

质量

最后,还有质量问题。 加班不鼓励围绕良好做法的持续纪律以保持一致的质量。 加班本身就是一种偷工减料的方法,它鼓励在那段时间所做的工作中更多的相同之处。 如果我们要加班,那我们就失去了抽出时间并对自己建造的东西进行周到考虑的能力。

当我们失去对开发实践中的思想和纪律的鼓励时,我们的质量就会下降。 我们在这里到那里跳过测试,因为解决方案的这一部分非常简单。 我们在建立软件的能力上变得傲慢自大,而没有长期维持质量的实践。 而且,我们的傲慢总是错位。 我们谁都不像我们认为的那样聪明。 帮助我们维护高质量软件的实践和纪律是我们避免狂妄自大的最佳保障。 但是加班并不能给我们提供维持这些习惯和纪律所需要的一件事:时间。

面对加班,质量总是会受到损害。 也许不是立即。 但是,随着它继续被接受或鼓励,它将侵蚀合理的实践并扼杀甚至最好的开发人员的纪律。 如果我们要维护高质量的软件和高素质的团队,我们将无法正常接受加班。 它永远无法兑现其承诺的回报,而且在成本变得更高之前,我们常常不知道这一点。