异构开发环境是否有优势?


10

我与一组开发人员一起工作,他们可以选择运行什么硬件和软件。我们的感觉是,这种情况使我们在进行测试之前就可以看到各种各样的目标系统。我们的经验是,引入问题后不久,我们便在不同的浏览器和操作系统中发现了许多奇怪的问题。但这只是一个小组的经验。

对于我们的基础架构和安全团队来说,各种各样的系统很困难,因此经常会出现一个痛点。

在一个开发人员团队中拥有同构或异构开发环境是否更有益?


1
诸如此类的大多数软件开发问题均未经权威研究。如果您正在寻找一种说服上司或同事的方法,则需要找到其他方法来做到。就是说,在这里看看:netlib.org/utk/papers/practical-hetro/node2.html
Robert Harvey

我认为值得您单独进行小组测试。这样,您可以查看是否需要在使用同质环境时维护开发人员的利益,并确定您是否正在获得这些团队声称将获得的安全性和基础结构利益。并不是说这些事情很简单,而是要找到优秀的程序员是困难且昂贵的,所以我不确定其他想要改善自己领域的团队是否真的只是在摇尾巴。
JeffO

1
最终,产品/服务要求和管理人员应熟悉您所描述的异构性的优势和成本,这是一个极好的问题。以我的经验,不必要的多样性往往会增加成本,尤其是当它从原本无聊的需求中分散出来时,会很有趣。一旦创造者离开另一个挑战,维护其技术多样性就存在代价。我也对相关案例研究感兴趣。+1
bvj

6
许多成功的商店都将开发安全性和基础结构留给了开发人员。您将经过同行评审的代码提交到存储库,并且如果您的笔记本电脑被黑客入侵,它也不会起作用,因为我们知道您的源是干净的。我们之所以这样做,是因为我们对黑客的信任程度不亚于对您笔记本电脑的黑客。但是因为我们是这样工作的,所以您可以拥有根。我已经双向工作了。我宁愿扎根。因此,异质开发的优势在于,这是试图扎根我的人们的痛点。
candied_orange

2
我建议您的团队似乎更喜欢能够选择自己的环境这一

Answers:


3

优势之一是您在开发过程的早期就遇到并且必须解决跨平台的兼容性和差异性问题。每个人都习惯于应付这种猴子扳手和障碍。

您还会看到这种差异的负面影响:由于这些差异,因此更难以建立,维护,保护和开发环境。每个人都必须尽早而经常地处理分歧问题。一开始就把混乱的猴子放开可能会大大分散前进的注意力。

以我的经验,除非您特别致力于必须跨平台的产品,否则分散麻烦是不值得的。但是,这是不同团队必须做出的判断。我更希望项目团队之间至少保持一点相同性,但现实是,这是一种愿望,而不是我可以强制执行的事情。有些人使用Windows,有些人使用macOS,有些人使用Linux。将乘以开发人员可能要使用的所有工具的时间。

您可以制定一些核心项目标准,例如Python 3.5,PostgreSQL 9.5+,基于gulp的资产管道,git,Github,重新建立的分支等,每个人都必须遵守。这有助于减少发散,从而适应和纠缠所需的时间/精力。您的组织越是机构化和步调一致,您就可以坚持更多的标准化和通用性。但是,开发人员往往是隐喻不可捉摸的猫。因此,保持分歧到“沉闷的吼声”通常是您实际上可以做的最好的事情。


我认为这不是一个好答案,因为OP明确询问了一些研究和论文,而不是个人意见。
KjMag

1
@KjMag欢迎您提出您的意见。多年来,我已经以专业身份多次问过这个问题,包括公司和政府团队付出高昂的代价来听听答案。从根本上建立Stack Exchange网站是为了收集和分享众包经验。这是我的。如果您想进行完整的研究报告搜索并发布您的参考书目,请访问。
乔纳森·尤妮丝

@KjMag要求研究和发表论文不在这里,所以我将其编辑掉了。该答案将从一些外部链接中受益,但它是自给自足且“有用的”。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.