1

开发人员是否应该仅限于某些应用程序以供开发使用?

对于大多数人来说,答案是只要开发团队同意这无关紧要。

对于经过安全认证审核的公司,是否有一种方法可以平衡公司的风险和开发人员的灵活性、绩效?

范围

  1. 编码/开发软件
  2. 构建系统软件
  3. 分发中包含的第 3 方软件(库、实用程序)
  4. (附加)工作站上的剩余软件

可能的解决方案

  1. 创建已批准软件的白名单,其中开发人员必须先请求批准所需软件,然后才能使用它。批准将基于业务目的/安全风险。

  2. 为软件创建黑名单。开发人员列出了所有使用的软件。审查委员会定期审查清单。

是否有人不得不在一家限制开发人员工具超出团队设置的公司工作?他们是如何处理这种情况的?

编辑

清理问题。试图减少争论。

4

7 回答 7

17

限制开发人员可以在他们的工作机器上使用的软件是一个绝妙的主意。这样一来,所有的开发者都退出了,公司就不用花那么多钱在工资和设备上,从而获得更高的利润。

真实答案:不!!!

于 2009-09-28T04:06:04.040 回答
7

不,开发人员不应受限于他们使用的软件,因为这会阻止他们成功完成工作。想想你付给你的开发团队多少钱,你真的希望所有的钱都因为你人为地阻止他们解决问题而付诸东流吗?

1)公司封杀电脑,视开发者为秘书

当开发人员需要使用管理权限做某事时会发生什么?EG:注册一个 COM 对象,重新启动 IIS,或者安装他们正在构建的产品?你刚刚关闭了它们。

2)创建批准软件的白名单......

由于软件数量庞大,这也是不切实际的。作为一名 .NET 开发人员,我经常(至少每周一次)使用超过 50 个不同的应用程序,并且不断评估其中许多应用程序的更新升级/替代方案。如果一切都必须通过白名单,那么您的“审批”人员将完全被一两个开发人员所淹没,更不用说他们的团队了。

如果您采取其中任何一项操作,您将实现以下目标:

  1. 当开发人员坐在他们的拇指等待您的批准团队时,您将花费大量的时间和金钱,或者因为不允许他们安装有用的工具而以缓慢而乏味的方式做事

  2. 你会让自己成为开发部门的敌人(如果你想让你的开发人员真正做你要求他们做的事情,那就不好了)

  3. 你会大大降低团队士气。没有人喜欢被关在笼子里的感觉,每当他们想“只要我能安装 grep 就可以在 5 小时前完成”时,他们会不高兴。

如果您遇到开发人员懈怠的问题,更可接受的答案是为 Pidgin、MSN Messenger 等“问题”软件(和网站)创建黑名单。一些开发人员也会对此表示反对,但许多开发人员会对此表示满意,前提是您对黑名单的内容很明智并且不要过火。

于 2009-09-28T04:12:01.500 回答
3

我认为开发人员应该完全控制他们使用的应用程序,只要他们能完成他们的工作。开发人员的工作效率与工作环境直接相关,没有人会喜欢被限制,每个人都喜欢使用自己喜欢的软件。

当然,在版本控制、文档格式等方面应该有一些标准,但一般来说,开发者应该有权使用他们想要的任何程序。

安全性应该是开发人员关心的问题——公司管理员应该关心设置适当的防火墙以防止任何类型的攻击。

于 2009-09-28T04:04:01.857 回答
2

更好的解决方案是为开发人员创建一个安全的独立环境。如果环境受到损害,公司的其他部门不会面临风险。

开发的本质是创造狡猾、巧妙的解决方案。为了实现这一点,必须发生故障。

于 2009-09-28T09:52:34.670 回答
1

无论他们做什么,一般都不要带走互联网。Google = 编码帮助 101 :)

或者也许只是让 www.stackoverflow.com 允许哈哈。

于 2009-09-28T03:57:47.223 回答
1

我想说这取决于很多因素。

一是团队规模。如果您有一个由六名开发人员组成的团队,则可以在需要某些应用程序时进行协商。如果您有一个由 100 名开发人员组成的团队,则可能需要一些策略。

另一个因素是那些开发人员的工作。如果他们使用用于嵌入式平台的专有编译器编译 C 代码,那么情况与在不断变化的环境中生产分布式 Web 或 PC 软件的团队大不相同。

您生产的软件和目标客户也很重要。如果您将 Linux 内核移植到某个新平台,代码是否泄漏可能并不重要。OTOH,在很多情况下这是非常不同的。

还有更多的因素,但最终都归结为两个相互冲突的目标:

  • 您希望给您的开发人员尽可能多的自由,因为这会激发他们的创造力。
  • 您希望尽可能地限制它们,因为这样可以降低风险。(我说的是安全风险以及运送非功能软件的风险等)

你必须找到一个不损害创造力的中间立场,同时允许足够的保证不损害公司。

于 2009-09-28T07:11:20.610 回答
-1

当然!如果您想要一个可重复的构建过程,您不希望它被程序员碰巧用作生成部分代码的工具的任何随机垃圾污染。由于您正在构建的任何应用程序的持续时间都比任何人预期的要长得多,因此您还需要确保用于构建它的工具在大致相同的时间内可用;互联网上的随机工具不提供任何此类保证。

您的团队应该说“允许以下工具用于构建步骤,仅此而已”并尝试使该列表简短。

显然,程序员看什么来决定做什么并不重要,所以整个互联网只要它的外观就可以了。只要您的团队不介意只接受该工具的输出,就好像它是手工编写的一样,他是否通过魔术(或随机工具)生成代码也无关紧要。

于 2009-09-28T04:05:41.653 回答