首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谁负责建立一个自动生成系统?

谁负责建立一个自动生成系统?
EN

Software Engineering用户
提问于 2011-03-21 05:07:49
回答 6查看 1.6K关注 0票数 14

我是我公司的项目经理。我与几个开发团队一起工作,使用了一个名为CVS的标准的、众所周知的版本控制系统。我希望看到持续集成和自动构建的实现,以帮助防止构建中断和错误部署潜入生产服务器的问题。

我相信我可以自己安排,但我不想自己做这件事,原因有二:

  1. 我没时间做这个。我有自己的责任,包括市场营销,与不属于开发的团队成员的其他利益相关者的沟通,与客户的沟通,以及项目规划。
  2. 最重要的是我是项目经理。我的目的是提供领导,而不是微观管理开发团队

在开发团队中,我能做些什么来找到一个热衷于建立这个平台的人呢?考虑到开发人员需要掌握Java、Spring和Google的知识,开发人员是否是完成这一任务的合适人选?在害怕变革的地方,有什么建议可以帮助促进变革?

EN

回答 6

Software Engineering用户

回答已采纳

发布于 2011-03-21 06:30:50

我首先要研究一些可能性。例如,Hudson是一个相当流行的连续集成服务器,并且非常灵活。您可以通过电子邮件向开发团队发送以下内容:

我想介绍一个持续的集成工具,以便尽早出现有害的修订。我看过hudson,acme CIS,foo,所有这些看起来都能工作。考虑到我们在在此列出注意事项中使用CVS这一事实,我正在寻找建议,我将接受团队的任何决定。戴夫,请你负责达成共识,然后开始运作。团队-请在星期四结束前输入到戴夫,这样我们就可以在周五测试这个了。一旦我们确定好了,请把我的证件寄给我。

这种方法有以下好处:

  • 你是在授权,而不是倾销
  • 人们知道你做了一些研究,你指出的东西的质量有助于确定你对工具的质量的期望。
  • 你已经知道注意事项了,除非他们真的是当前任务的破坏者,否则我们就不要出轨去讨论他们。
  • 你允许一点民主。当然,您可以登录查看是否有任何故障,但是必须与CIS打交道的人将选择这个平台。

在我的模拟场景中,Dave之所以被选中,是因为他的任务最少,在设置新服务器时可能没有问题。根据工作负载的不同,Dave可能只需要是您。这太主观了,我只是简单地提一下。你不能总是说not my job to do that,特别是如果你是唯一有时间这么做的人。如果每个人都在拖延时间,他们对你愿意帮助的感觉就变得更重要了。衡量这是你随着时间而发展的一项技能。

无论如何,您将在周五之前拥有一个CIS服务器,或者详细说明为什么没有额外的一组手就不可能做到这一点。

票数 15
EN

Software Engineering用户

发布于 2011-03-21 05:50:49

我认为有三种可能的方法:

  1. 让开发团队中的某个人对可能的工具进行快速评估,并让他快速地做出一些事情。如果您的单个项目有适当的构建脚本(即您可以在IDE之外构建项目),那么应该很快将它们与CI挂钩。
  2. 将构建基础设施视为团队内的内部项目,并将其作为内部项目管理。比第一点更复杂一些,但是如果做得好,你就会得到一个更好的系统。此外,在团队中传播知识将减少以下提到的过度专业化的风险。你也能从同侪审查中获益。然而,一些程序员可能会认为这个任务是贬低的,因此可能不会花那么多钱,尽管他们应该花在它上。
  3. 雇用一个开发人员作为构建母版,让他安装所有的工具。然后继续使用他来改进系统,添加度量标准,自动化文档生成,自动化测试等等。这是更昂贵的,但如果做得好,对这个人的投资将很快通过提高开发团队的效率来支付。这个人应该精通您的团队所使用的语言和框架,并且希望将它们粘合在一个系统中。另一方面,(从评论中)这可能不在您的预算之内,创建一个专门的职位可能会导致缺乏文档化的解决方案,这可能会使过渡变得困难。

这就是说,在开始任何事情之前,一定要确定你真正想要的是什么。你的问题缺乏一些细节来指导你在正确的技术方向。您需要知道在使用这些工具时您希望获得什么好处,您需要对所需的系统有一个总体的设想。一个人可以在创造一个把一切联系在一起的环境上走很长的路,但是如果没有一个总计划,你也可以运行圆圈,使事情变得比现在更复杂。

我曾经说过,工具是好的,但是没有一个过程,它们是无用的。我只希望他能跟进,他说过,当时间到了,把这些.

因此,如果你决定雇用一个人,有一个明确的优势是找一个程序员,而不是一个有更多的ITish背景。主要的一点是,这个人可以花费一些时间和精力来创建粘合代码和插件,从而将不同的系统集成到一个连贯的系统中。

希望这能帮上忙

票数 16
EN

Software Engineering用户

发布于 2011-03-21 05:40:51

如果您有领导角色,那么您的工作就是确定缺少的组件/实践,以及确保它正确实施的责任。执行的任务可以委托也可以不下放,但归根结底是领导人的责任。

接受的关键是理解,或者至少让你从怀疑中受益。你可以说出你想做的事情,并提出成本和利益。如果讨论没有带来理解,你可以依靠他们对你的决定的信任,但前提是你已经建立了这样的要求。

如果你的委派是基于时间限制的专业知识,在站起来或团队会议上提出它,并要求一名志愿者。如果没有人来,只需像你一样分配它,任何其他的工作。

最新情况:

每家公司都有一个组织结构。领导作用对该级别的资源负有责任。他们也有责任指出和解决任何问题。他们可能需要额外的资源和/或建议,在这一点上,你走上了这条链。如果您能够处理这个问题,您可以自己实现解决方案或委托。这可以而且应该涉及到它将直接影响到的人,最好是与他们合作。

我不能说董事及以上职位不应该直接对公司中的某个人或团体负责。这取决于公司的组织结构。我曾在初创公司工作,CTO直接负责开发人员和测试人员。在更传统的大型公司管理层中,该级别的管理层不具备在较低级别做出适当决策所需的可见性或熟悉性。

票数 3
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/60350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档