7

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

我们正在使用 Scrum 流程来开发软件,尽管它是为适应我们的团队和环境而量身定制的,而且效果很好。我们即将结束 sprint,软件正处于产品所有者想要部署它的阶段。

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

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

加起来

很多很好的回应,谢谢。这个问题可能看起来像是我试图摆脱工作或责任,也许我有点;o)我更感兴趣的是其他人的过程。我们在这里面临的问题是,如果开发团队部署了软件,那么我们最终会为软件的生产提供 24/7 的支持。没有问题,除了我们只有两个人。因此,为了让我们能够回到开发软件而不是一直提供支持,我认为让“IT”团队参与开发过程可能会有所帮助。希望这将获得“支持”,然后允许他们部署并提供第一级支持。我们在墨西哥也有一家工厂,开发团队很难去那里部署,当地支持这样做更有意义,

只是为了让您知道,IT 工程师确实在开发人员的指导/建议下部署了该软件。它进展顺利,客户很高兴——他的软件增值了,这不就是全部吗?

4

9 回答 9

6

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

于 2009-03-18T02:48:54.433 回答
4

当软件不工作或系统死机时,谁会在凌晨 3 点接到电话?如果是开发团队,那么无论如何都希望拥有部署(因为您拥有生产)。

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

如果您的生产控制松懈,那就收紧它们。像“可见操作”这样的书是一个很好的指南,可以让事情在适当的水平下得到适当的控制。

于 2009-03-18T06:28:35.483 回答
2

我是一名开发经理,负责多种产品。我让我的开发团队生成部署工件的构建,例如 .war 文件,可以使用它的管理器接口或 Web 服务 API 将其简单地部署到 Tomcat Web 服务器。应用程序的配置全部设置并自包含在 .war 文件中。因此,可以说,进行部署的人只需将其拿走并“放入”即可。

如果我们没有达到这种易于部署的水平,以至于部署可以与开发团队完全分离,那么我认为这是开发团队未能充分完成他们的工作。

进行部署的人继续向众多客户站点发布给定的产品——这对我来说不是让开发人员做的生产活动——他们有产品要设计和创建,因为这是他们的专业知识。

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

我们练习了一些 scrum 方法,但我从来没有认为这个问题与软件开发过程方法本身有关。

于 2009-03-18T05:37:52.997 回答
1
  1. 直到工作软件在需要它的用户手中才完成软件过程 - 否则它只是“搁置件”

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

于 2009-03-18T05:03:57.557 回答
1

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

于 2009-03-18T02:48:54.323 回答
0

我认为你必须手动部署和部署软件。除非您所在的组织存在某种严重的数据安全问题和/或 SOX 问题,允许不洁者处理生产端的事情。

我同意第一条评论——SCRUM 与它无关。事实上,我认为进行部署对您来说要好得多,因为您将直接了解事情的运作情况,并在那里从这些用户那里获得反馈。

于 2009-03-18T06:23:03.357 回答
0

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

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

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

于 2009-03-18T02:52:50.507 回答
0

对我来说似乎相当简单——如果不是你,那是谁?在你开始使用 Scrum 之前,实际的部署责任会落到其他团队身上吗?如果不是,那么我不明白为什么 Scrum 会改变这一点。

于 2009-03-18T02:54:14.467 回答
0

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

如果您不喜欢这样,请向管理层提出,但在另行通知之前完成工作。

于 2009-03-18T02:55:51.623 回答