谁负责部署?

时间:2009-03-18 02:40:35

标签: deployment process release-management

我是一家制造公司的内部开发人员。我们为制造过程制作软件,而不是真正控制软件,更像是流程。

我们正在使用Scrum流程来开发软件,虽然是为了适应我们的团队和环境而定制的,但这种方法运作良好。我们即将结束冲刺,软件正处于产品所有者想要部署它的阶段。

以前,即在Scrum之前,我们会部署该软件。现在我觉得我们已经开发了软件,我们已经通过了所有用户定义/约定的发布测试,并使用模拟器向PO演示了软件,我们已经实现了目标。我们已准备好提供部署支持,但我认为部署它不应该是我们的责任。

其他人的经历是什么?开发团队应该进行部署还是应该将完成的软件移交给PO并提供支持?

总结

很多很棒的回复,谢谢。问题可能看起来像是在试图让我失去工作或责任,也许我是一点点; o)我更感兴趣的是其他人的过程。我们在这里遇到的问题是,如果开发团队部署软件,那么我们最终会为软件的生产提供全天候支持。没有概率,除了我们只有两个人。因此,为了让我们能够重新开发软件而不是一直提供支持,我认为让“IT”团队参与开发过程可能会有所帮助。希望这将获得“买进”,然后允许他们部署并提供一级支持。我们在墨西哥也有一家工厂,开发团队很难去那里部署,在开发人员的指导/建议下,本地支持更有意义。

为了让您知道,IT工程师确实在开发人员的指导/建议下部署了该软件。它很顺利,客户很高兴 - 他的软件价值越来越高,而不是它的全部意义吗?

9 个答案:

答案 0 :(得分:6)

我认为Scrum不是一种解决部署责任的方法。我曾在大型组织工作,部署团队完全独立于开发团队。我还在开发团队处理部署的小型组织工作。理想情况下,部署团队与开发是分开的,但它几乎不会是PO(我假设它意味着产品所有者)。 PO通常会签名,但通常不是处理部署的最佳选择。

答案 1 :(得分:4)

当软件无法运行或系统死亡时,谁在凌晨3点接到电话?如果它是开发团队,那么无论如何都希望拥有部署(因为你拥有生产)。

可以支持的组织的最佳实践是向Operations组提供部署说明和良好愿望。瓶苏格兰威士忌也有帮助。

如果您的生产控制不严格,请将其收紧。像“Visible Ops”这样的书是在合适的手中将事物控制在适当控制范围内的一个很好的指南。

答案 2 :(得分:2)

我是一名负责多种产品的开发人员。我的开发团队生成了部署工件的构建,例如.war文件,可以使用它的管理器界面或Web服务API简单地部署到Tomcat Web服务器。应用程序的配置全部设置并自包含在.war文件中。因此,对于正在进行部署的人而言,直接接受它并“将其放入”中就可以说了。可以这么说。

如果我们没有达到这种易于部署的程度,那么部署可以完全脱离开发团队,那么我认为开发团队的一部分就是没有充分地完成他们的工作。

进行部署的人会将给定产品发布到众多客户站点 - 这对我来说不是一项让开发人员做的高效活动 - 他们拥有设计和创造产品,因为这是他们的专业化专业知识。

在我们的组织中,部署职责也与第一层生产支持职责重叠。

我们实行一些scrum方法,但我从未将此问题视为与软件开发过程方法本身相关联。

答案 3 :(得分:1)

我认为作为“内部”开发人员,您负责部署新软件(除非有专门的部署团队),如果您来自外部公司,那么部署它将由他们负责除非在合同中另有规定,否则他们自己。

答案 4 :(得分:1)

  1. 直到工作软件掌握在需要它的用户手中才能完成软件过程 - 否则它只是“搁置软件”

  2. 如果没有其他人负责部署和配置管理,那么就是这样; - )

答案 5 :(得分:0)

取决于项目以及“部署”对您意味着什么。由于我是一名Web开发人员,主要使用Sql Server数据库部署.NET应用程序,因此我总是更喜欢部署由发布管理器或部署管理器完成。为什么?因为工作分离可以确保在需要时发现问题。

开发人员的工作应该是提供有关如何部署的必需对象或说明,然后其他人部署到暂存环境。如果在部署到暂存期间出现问题,则会更正部署说明,直到部署到暂存工作完美无缺。这样,当使用相同的部署脚本将代码移动到生产时,希望不会出错。换句话说,您不仅必须测试代码,还要测试部署脚本。

当然,在现实世界中,由于人事问题,这并不总是会发生,但这将是我的理想。

答案 6 :(得分:0)

对我来说似乎相当简单 - 如果不是你,那么谁呢?在开始使用Scrum之前,实际部署责任是否会落到其他团队?如果没有,那么我不明白为什么Scrum会改变它。

答案 7 :(得分:0)

如果开发团队在scrum之前提供部署,他们应该继续这样做,除非管理层明确表示其他人应该这样做。如果管理没有说,那么他们并没有真正想过它,只是期望它会像往常一样神奇地发生。

如果您不喜欢这样,请与管理层联系,但在做出不同的工作之前完成工作。

答案 8 :(得分:0)

我认为你必须编写和部署软件。除非您在一个组织中工作,这个组织存在某种严重的数据安全问题和SOX问题,允许不洁的人处理事情的生产结束。

我同意第一条评论 - SCRUM与此无关。事实上,我认为你进行部署要好得多,因为你会直接知道事情的运作情况,并且能够从那些用户那里获得反馈。