这是一个很难的问题,涉及到许多人,这是一个真实的情况,可能会产生真正的后果。
一个由大约100名开发人员组成的大型组织,在不同的团队中工作。团队采用不同的前端技术,为同一公司维护不同的产品。
一个团队拥有角质方面的经验,已经有几年了。他们很擅长这个。但是公司选择在所有其他项目中使用React,并且希望这个团队也使用React。
这是个好做法吗?强迫团队使用所需的堆栈?
有什么对公司更好?-让开发人员选择堆栈,并拥有不同的技术让“架构师”或公司为公司选择一个堆栈,并拥有一项单一的技术。
我知道你们中的一些人会说,开发人员应该选择堆栈,因为他们知道解决正确问题的正确工具。但请不要使用这个论点。假设“开发人员使用他们所知道的工具”,在这种情况下,这两种工具是相似的,两者都可以满足相同的需求。我指的是角度和反应。我不谈后端或其他事情。
让所有团队使用相同的技术栈有一些很好的理由:市场采用、共享代码基础、统一技术。这说得通。但是,强迫一支精通另一组的队伍去改变.这有意义吗?把这些知识扔到垃圾堆里?
发布于 2020-02-05 22:03:19
就我个人而言,规定特定的技术在我的优先事项清单上是很低的。
应根据一系列标准做出技术选择,包括
努力让更多的开发人员在跨团队的一种技术方面拥有更多的经验并非不合理。但这只是一个因素。大多数时候,我看到这些讨论都会出错,因为设计目标甚至还没有设定,也不可能做出合理的决定。
发布于 2020-02-06 20:46:58
你提到了两种方式:
但还有其他方法。例如,
此外,请注意,什么是好的公司(雇用新的团队和解雇旧的)是不必要的,将有利于开发人员,反之亦然。也许这对双方来说都是更好的离婚。
发布于 2020-02-06 22:25:20
归根结底,这是一个管理问题,可以用一次计算来总结。
共享一个技术栈的优势是否超过了不得不转换的团队的生产力损失成本?
我认为程序员的主要技能不是特定于语言/堆栈的。我想大多数程序员在他们的职业生涯中都必须学习新的语言/技术栈。因此,必须进行转换本身不应该是一件大事。
当管理人员错误地判断这种计算时,问题就出现了,开发人员很少需要时间来学习新的堆栈,这就是问题所在。一些常见的打嗝。
当然,在某些情况下,试图将开发集中在一组/几种技术上是值得的。但是,有许多陷阱可以阻止这种改变的成功。
https://softwareengineering.stackexchange.com/questions/404750
复制相似问题