我继承了许多经历过高开发人员转换率的网络项目。有时这些网络项目是乐队援助解决方案的可怕拼凑。其他时候,它们可以是一些可维护的半完成功能的马赛克,每个功能都采用不同的建筑风格。每次我继承这些项目,我希望以前的开发人员能够向我解释为什么事情变得如此糟糕。
令我困惑的是业主(经理,中间人公司或客户)的反应。他们似乎在想,“好吧,如果你离开,我会找到另一位开发人员,因为你是可以消耗的。”或者他们认为,“哦,重构系统要花很多钱吗?我知道另一个开发人员能够以一半的价格做到这一点。如果我买不起你,我会雇用他。”我猜测高开发人员的转换率与业主的心态有关“我的想法总是好主意,如果你不同意,我会找到另一个(可能更便宜)开发人员同意我的意见我想要的是”。对于业主来说,这种方法似乎有效,因为他们的业务蓬勃发展。不幸的是,这对开发人员来说并不好玩,因为他们在使用糟糕的代码,严格的时间表和客户反馈不足的3-4个月之后就会擅离职守。
所以我的问题如下:
项目的以下症状对企业来说真的是一件坏事吗?
高级开发人员翻身率
构建不良的技术 - 通常是不同且使用不当的建筑风格的拼凑而成
所有者没有明确的网络项目路线图,他们随心所欲地提出要求
我看到很多企业都因上述症状而兴旺发达。 作为一名程序员,尽管我的直觉告诉我上述观点非常糟糕,但我还是要退后一步,问道:“在宏大的计划中,事情真的那么糟糕吗?”如果没有,我将重新评估我对这些项目的态度。我是否建立长期解决方案或创可贴解决方案?
**由于这篇文章因非编程相关而被关闭,我想认为我认为这与编程有关,因为这个问题的答案会影响开发人员处理项目的方式。他会更好地了解他应该在多长时间内规划他的发展(即建立短期或长期解决方案),因为他知道他可能随时退出。
答案 0 :(得分:8)
这三种症状都很糟糕。他们真的对企业来说是件坏事。话虽如此:
存在制作工具的软件开发。而已。它本身并不是目的 - 你是一个工具制造者。
有很多成功的企业使用不良工具进行操作。它们可能不会像应有的那样运行良好,但良好的结果可能并且经常会来自糟糕的工具。但请记住,消除这三种症状可能会使公司更加有效,特别是从长远来看。
答案 1 :(得分:6)
高开销率是一种症状,而不是原因。原因是管理不善。如果这些企业繁荣发展,通常是在短期内,通常先于买断,合并或彻底失败。我已经看到它一遍又一遍地发生。
答案 2 :(得分:2)
如果你能负担得起 - 跑。那里有坏公司,但也有好公司 - 至少比你描述的混乱更好。
答案 3 :(得分:2)
所有这三件事都不好让我专注于营业额。 我现在看到它发生了。管理层/公司很便宜所以他们不关心团队,技术或流程,只关心底线。所以反过来(最终)团队成员不关心项目,只是他们的底线。几个月后,他们认为压力并不值得继续前进。我们是一个由6名开发人员组成的小团队,今年有3人想出去,而且只是7月。 2个人进来了,还有一个人来了。似乎我们所做的只是过渡和项目周转。团队不成熟,无效。我们的客户感觉到这一点,而不是给团队更多的项目(更多的钱为公司),他们将其限制在某些应用程序。我想知道管理层什么时候会意识到廉价是昂贵的!
答案 4 :(得分:2)
如果我可以暂时采取魔鬼的倡导者观点:
有些人喜欢挑战。对于一些人来说,实现极其困难的事情是非常令人兴奋的,并且有些开发人员喜欢找到那些非常困难的问题并且在这些问题上工作。有些事情很难吸引一些人。
营业额意味着每次有人从头开始而不是保留前任开发人员在构建软件时所拥有的所有想法和想法,无论它打算做什么。有时多头可以做出好事。毕竟,有多少人开发了Windows 7? ;)
构建不佳的地方是有人可能会想到的,“哦,我可以通过修复这些东西来照亮这里,”有时它可以工作一段时间。嘉清!
缺乏路线图并且几乎提倡"Cowboy coding"风格可能会吸引那些想要很大的自主权并且只是自己动手的人。毕竟,当一个人拥有超自然的力量来制作这些令人敬畏的东西时,谁需要方法论和最佳实践呢?
问题是开发人员的转换率的根本原因是什么?只是项目正在杀死开发人员或者工资几乎在其他任何地方都会变得更好或者更糟糕吗?这里有一些值得思考的东西,因为可以通过字面和比喻来摆脱开发人员。
要认真对待这一点,有些人确实喜欢高压情况,有些人则不惜一切代价避免这些情况。大多数人都处于两个极端之间。你认为你在哪个范围内会出现这种情况?
答案 5 :(得分:2)
我将轮流解决你的三个问题。任何行业的高营业额都被认为对企业和管理问题不利。但是,我读过几本关于企业政治和文化的书籍以及这些关于企业底线的影响。我读过的一本书研究了20多年来的几家大公司。它发现有毒文化增长缓慢,往往是底线绩效问题的“滞后指标”。它还发现,当一些公司能够雇用最终“翻船”的新CEO时,需要10 - 15年才能阻止流血。因此,从非常全局的角度来看,是营业额是有毒的,尽管它确实是更大问题的症状。不应忽视的症状。 (尽管通常会长时间忽略它。有人注意到人力资源需要很长时间才能意识到部门的营业额可能与糟糕的经理有关吗?)
制造不良的技术基础设施 - 或者销售给客户的产品显然不利于底线。我认为只有非技术人员才能理解这一点。当然,“不是最佳但是工作”之间存在一个范围,“只要你每周恢复一次数据库,它就不会起作用”。我认为发生这种情况的原因是“圣三位一体”的成本部分总是选择有利于质量。根据我的经验,这保证是一个坚硬而快速的规则。如果管理层必须在成本,质量和进度之间做出选择,那么质量总是首先被抛到了一边。
没有明确的路线图和功能蔓延的业主的问题是缺乏业务纪律的症状。功能蠕变需要花钱。当它足够糟糕时,它实际上可以防止任何事情的完成。
答案 6 :(得分:1)
一般来说,员工的高转换率在任何公司都不好。谈到软件,高级开发人员翻身是不好的,因为必须为新人进行所有的辅导,以及走出门外的“全局”知识。因此,如果软件对企业很重要,那么高流动率对企业来说是不利的。
仅执行没有路线图的请求功能是bloatware的单向路径。如果您没有明确的产品策略,目标或目的,那么您唯一要做的就是客户请求,这可能很糟糕。这是因为客户可能实际上不知道他们想要什么,从而请求他们不会使用的功能。
答案 7 :(得分:1)
关于你的问题,有趣的是你说他们作为一家公司蓬勃发展,所以这让我想知道这项技术对他们来说是否同样重要。也许问题是他们没有看到更好的技术的价值(他们可能是正确的,我不知道他们是什么样的业务)。
答案 8 :(得分:1)
从一个角度来看,你引用的态度是可以理解的。软件开发并不便宜,大多数人/企业都试图在任何地方省钱。但是我认为他们通常会因为这种行为而自责。
处理这个问题的一个建议是获取The Mythical Man Month的副本,并阅读有关为什么在晚期项目中添加更多程序员只能在以后制作它的部分(它是标题 - 和第二个(在我的副本中)的部分) - 论文)。许多相同的想法适用于替换开发人员...除非你独自工作,否则很可能你也可以重新开始,因为弄清楚前一个人所做的事情可能比从头开始花费的时间更长。在您阅读完论文之后,请复制一下那些采取您引用态度并要求他们阅读的人。不能保证它会有所帮助,但值得一试。