良好的软件开发人员基础设施问题?

在杰夫的博客文章“ 吸血鬼(程序员)与狼人(系统pipe理员)

从我的angular度来看,公司的重点是谈论我们正在做的事情。 当然要做好事情是很重要的,但是我们必须不时地写下我们正在做的事情,我们如何做,以及为什么我们要这样做 – 首先包括我们所有的怀疑和疑虑和担忧。

那么,当你问软件开发者请求服务器时,你有什么问题?

一般来说,我问软件开发人员同样的问题,我会问其他人: “你想在这里完成什么? 我怎样才能帮忙?
为了打破这一点,给你一些启发你的想法:

  • 理想情况下,您应该从最高级的概述开始:
    公司的目的是什么?

  • 接下来是开始使这与系统pipe理员相关的问题:
    技术如何帮助实现这一目标?将使用什么技术?

  • 现在你可以开始谈论细节。 细节问题取决于技术,但常见的是:
    我们需要运行什么操作系统? (很多也取决于这一点)
    基础操作系统之外的其他软件是必需的?
    该系统有多可靠? (正常运行时间和冗余考虑)
    你会有多less用户? 和其他工作量相关的问题

  • 然后是过程问题:
    我们多久会部署新版本的软件?
    我们将如何获得这些新版本? (源代码构build?预构build包?商业?)
    什么样的testing套件可用?
    我们如何监控软件? (关键指标,可以自动化的检查等)

  • 最后还有生产维护问题:
    软件需要什么样的日常维护? (如果这个问题的答案不是“无”,则需要确定需要多less人力)
    可能会出现什么样的问题? 我们该如何解决呢?

Voretaq7的前两个要点是理想的公司中的每个人都应该考虑的事情。 IT人员(开发人员,系统pipe理员,服务台,桌边部署组等) 必须对第一个答案有一定的了解,并且应该能够相互交stream他们所做的一切是如何处理第二个问题的。

这是高飞的概述。

除此之外,平台的要求(这是一个“双向”的事情 – 在部署的那一天应该没有什么惊喜,因为它应该事先讨论)。 如果你的应用需要.net 4框架,然后给我一些通知。 如果说生产服务器不能升级到.net 4的原因,那么在部署的那一天,当我说“不,不好意思”的时候,你不应该听到这个消息。

您应该同意正常运行时间要求,支持路线(双向),应用程序依赖性和testing用例,以确保所有工作正常。

有一点我想同情的是“ 同意”这个词。 这应该是一个三方对话。 系统pipe理员,开发人员和服务台(谁需要参与这个,因为他们将会接到这个电话,如果他们唯一的答案是愤怒的用户是“WHAT $ foobar应用程序?那些@£ $%£$%!!!!'ing开发人员和系统pipe理员一直在改变的东西,而不是再告诉我们“那么猜猜看,你们看起来很糟糕)都需要同意之前发生的事情。