作者都是各自领域经过审查的专家,并撰写他们有经验的主题. 我们所有的内容都经过同行评审,并由同一领域的Toptal专家验证.
卡洛斯·拉米雷斯三世的头像

卡洛斯·拉米雷斯三世

Carlos是一位专攻Ruby on Rails框架的专业软件工程师. 他与美国科技公司合作多年.

工作经验

15

分享

软件产品在其生命周期中从一个开发团队转移到另一个开发团队是很常见的. 产品的不同阶段可能需要不同类型的开发团队:构建初始版本的顾问, 一个独奏 自由开发人员 为了维护它,我们需要一个内部团队来扩大它的规模,或者一个专业设计师来添加一些“流行”元素。.

尽管这种情况经常发生, 许多非技术领域的创始人和产品所有者发现,当需要引进新团队时,他们毫无准备,手足无措. 这通常会导致新团队无法快速进步, 浪费时间, 每个人都感到沮丧.

如果这听起来像是你干的, 要么现在,要么将来, 那你应该有点担心了. 幸运的是, 我们将走过你可以采取的步骤,为这种可能性做好准备,并使过渡尽可能顺利.

传递火炬:新开发团队的培训

在本文中, 我将给你提供一份清单,上面的项目将帮助你为这样的变化做好准备. 您将更加深入地了解您的产品,并获得对制造产品所需的各种服务和技术的更多控制, 什么能让你更自信、更轻松地加入一个新团队.

将火炬传递给新开发者? 确保新团队不会被烧死,你也不会浪费时间救火.

将火炬传递给新开发者? 确保新团队不会被炒.

但如果你不替换整个团队呢? 你应该阅读这篇文章吗?

即使之前的一些团队成员仍然留在船上,他们也可能没有 所有 顺利过渡所需的答案和信息. 虽然他们可以提供连续性和 援助 在将知识从老团队转移到新团队的过程中, 依靠现有的团队成员并不能代替产品负责人负责和促进转移. 除了, 未能负责可能会导致新老团队成员之间的摩擦, 或者让老团队成员承担不必要的任务, 迫使他们浪费太多时间与新团队成员沟通和解决各种问题.

仍然, 如果有团队成员留在船上, 在你的转型过程中,他们是无价的财富. 与他们协商, 让他们保持在循环中,尽量利用他们的经验,而不是用太多与过渡相关的任务淹没他们. 不要指望他们做什么 所有 繁重的工作! 那是你的工作.

闲话少说,让我们开始吧!

收集文档

自由开发人员经常被要求跳到他们以前从未见过的现有代码库中. 对于Toptal软件工程师来说尤其如此. 我们的目标始终是尽可能快地提高速度,这样我们就可以开始对我们的客户产生积极的影响.

有办法清除, 关于项目的详细文档可以极大地加快入职过程, 并帮助开发人员避免可能阻碍前进的陷阱.

好的文档需要至少涵盖以下主题:

  • 搭建开发环境 -任何新人的第一个任务是让应用程序在自己的计算机上运行. 这一过程因技术而异. 在一般情况下, 它需要诸如获取源代码之类的任务, 设置数据库, 安装依赖关系, 使用API密钥和凭据配置环境, 导入示例数据, 等等......。. 开发人员对他们各自领域中这个过程中涉及的所有内容都有一个很好的想法, 并且应该能够相应地调整细节.
  • 运行自动化测试套件 -看到应用程序的测试通过,确保一切都已正确设置,并且未来的更改不会破坏任何现有功能.
  • 部署到登台服务器和生产服务器 -使用最新更改更新实时应用程序是一个高度脚本化的过程, 这些操作的顺序应该一步一步地列出, 尽可能详细.
  • 与新入职开发人员相关的任何其他信息 -每个应用程序都有自己的一套怪癖. 将这些内容写下来可以节省未来的团队在调试问题上所浪费的大量精力,而之前的团队已经知道如何处理这些问题.

良好的文档是任何成功转换的基石. 确保你的新团队拥有接手工作所需的一切.

良好的文档是任何成功转换的基石. 确保你的新团队拥有他们需要的一切.

文档应该由具有以下经验的开发人员编写 亲身体验 设置应用程序并贡献代码库.

在任何转变发生之前, 请求前一个开发团队通过创建涉及上述主题的资源来促进知识的转移!

如果写作不是他们的强项, 要求他们录制一个或多个演示开发环境设置的屏幕视频, 部署, 等. 今天甚至有工具,如 流浪的码头工人 哪一个允许将整个开发环境打包并分发给其他人. 在本质上, 而不是告诉别人怎么做锤子, 把锤子本身给他们.

项目文档是否全面和有效的试金石是新开发人员能够多快地设置他或她的开发环境并运行您的应用程序.

了解你的产品

拥有优秀的文档并不意味着你不需要了解自己产品技术的基础知识. 作为软件产品的所有者, 尽你所能理解你的应用程序是你的责任, 即使你不是很懂技术.

没有技术背景? 没有理由不能正确理解项目的构建模块. 这会让你付出很大的代价.

没有技术背景? 没有理由不能正确理解项目的构建模块. 这会让你付出很大的代价.

以下问题很常见, 你不需要去查就能知道答案:

  • 您的应用程序使用什么技术栈? 有许多常见的应用程序框架 后端和前端,任何新的开发团队都应该熟悉您的应用程序使用的那些. 后端web技术的一些示例如下 Ruby on Rails, 节点.js, Django. 前端web技术的一些例子是 反应.js, 角.js, 灰烬.js.
  • 宿主在哪里?? —不同的web主机有不同的部署进程, 这需要不同程度的经验. 近年来, 云技术创造了许多新的托管选项, 你需要确定你使用的是哪一个,并描述为什么选择它而不是其他的.
  • 开发过程是怎样的? -您的团队是否使用特定的源代码控制管理工具,例如 Git? 如果有,开发、测试、批准和部署新特性的过程是什么? 这个过程必须标准化, 正确记录,而且很容易被新人复制.
  • 您的应用程序使用了哪些第三方服务? —部分应用建立在第三方服务上,如 Shopify. 请记住,对第三方服务的依赖正在逐渐增加, 即使你目前没有使用任何额外的服务, 您的项目以后可能会决定使用第三方服务.
  • 您的应用程序可以在哪些平台上运行? -你的应用是桌面应用吗, web应用程序, 响应式移动网站, 原生iOS应用, 原生Android应用程序, 或者其他任何东西? 它在几个不同的平台上运行吗? 在任何时候,哪个平台是你优先考虑的? 你的产品在哪个平台上最强和最弱? 确保了解应用程序当前平台的所有细节, 甚至它可以扩展成哪些.

获得所有权

今天的软件开发过程利用了大量的第三方服务和工具. 无论您是否知道,您的应用程序也不例外.

在发展过程中, 你以前的团队可能代表你报名了, 甚至用他们自己的账户来获得所需的服务. 过渡到新团队意味着您必须拥有并控制您的应用程序所依赖的每一个服务和工具,以便您可以授予新团队访问权限,而无需通过中间人或追踪原始开发人员.

以下是您的应用程序可能使用的各种外部工具或服务的列表:

询问即将离职的开发团队哪些是适用的. 对于任何服务 拥有 通过开发团队,要求他们将所有权转让给您. 如果不可能的话, 然后请他们帮你创建一个自己的新帐户,并确保应用程序使用你的帐户而不是他们的帐户. 这应该只需要更改应用程序的一些配置设置.

不用说, 确保每个开发合同从一开始就保护你的利益,并确保顺利过渡, 无论如何.

授权访问

充分了解应用程序的生态系统以及应用程序使用的所有各种工具和服务的所有权, 您现在可以为即将到来的团队或个人提供完全访问权限.

大多数服务将允许您向您的帐户添加协作者,并授予他们特定级别的访问权限. 在这里保守一点没关系. 许多创业者, 尤其是个人创业者, 更倾向于让开发者完全访问他们的服务,并让他们处理所有事情. 这有一个负面的副作用,就是把你排除在圈子之外, 我们已经学过了, 会让未来的转型变得更加困难吗.

应该给开发人员完全的管理员权限吗? 这是你的决定,大多数人对这种方法没有问题. 然而, 你总是需要提前计划,并确保你的决定不会对新的开发团队产生负面影响. 如果在项目的早期阶段没有做到这一点,可能会在未来产生令人烦恼的后果.

管理交接

既然你已经万事俱备了, 你需要管理好从一个团队到下一个团队的交接. 这里有一些基本的技巧,可以帮助你应对新员工和即将离职的员工.

确保正确管理项目移交的技术和个人方面. 让你的新团队有宾至如归的感觉,不要与你的老团队对抗.

确保正确管理项目移交的技术和个人方面. 让你的新团队感到宾至如归.

传入的团队

  • 设定预期 -新团队应该知道你最重要的目标是什么,这样他们才能专注于正确的方向. 管理好自己对新团队能马上完成的任务的期望也同样重要.
  • 经常检查 -不要让新团队沉浮. 你要经常检查,以确保他们有他们需要的一切, 也不觉得他们需要自己照顾自己. 试着不要事无巨细地管理. 确保他们知道,如果他们需要,你会在那里支持和帮助他们, 但是不要给他们施加不必要的压力.
  • 要有耐心 -开发人员需要时间来适应新的代码库. 要明白,在新团队能够赶上前一个团队的步伐之前,会有一些学习时间.

即将离任的团队

  • 收集所有未完成的代码 -确保所有源代码都签入主存储库, 你知道哪些已经部署,哪些还没有部署. 新团队需要确切地知道从哪里开始工作. 我自己就经历过这样的情况:我接管了一个团队,该团队已经部署了代码,但没有将其放入主存储库. 这就导致了bug, 重复的工作, 如果即将离职的团队将源代码保持在一致的状态,那么这些问题本可以很容易地避免.
  • 更新他们的访问级别 -如果你们友好分手的话, 您可能希望让他们访问您的代码和/或部署. 许多团队都乐于在过渡阶段提供帮助,直到新团队完全接管. 如果不是, 考虑降级或取消访问权限,以防止任何意外问题或与新团队的冲突.
  • 感谢他们的工作 -过渡可能会很紧张. 在你忙着应付新团队的时候, 不要忘记感谢即将离任的团队对项目的贡献.

结论

生活中的任何转变都是可怕的, 带来的不确定性是否会成功, 对未知的恐惧, 等等......。. 过渡到一个新的开发团队也是一样, 但是你可以而且应该采取措施让它变得更容易. 在大多数情况下,它只需要一点长期的计划.

对软件产品有更深入的技术和非技术理解, 开发过程, 这个过程中的所有事情都将有助于从一个团队到另一个团队的过渡尽可能无缝和无痛.

最重要的是,你的新团队会尊重并感谢你的出色表现! 你可能会节省他们的时间和精力,这也意味着你会省钱. 此外,新团队越早意识到坚持高专业水准越好. 一旦他们接管了项目,他们很可能会继续执行这些实践, 确保下一个过渡顺利进行.

因此,让我们回顾一下在转让软件产品所有权之前应该注意的关键点:

  • 收集或创建尽可能多的关于应用程序的文档, 开发环境, 以及部署过程.
  • 彻底了解你的产品.
  • 保持对…的控制 所有 应用程序的第三方服务和依赖项, 还有所有东西的用户名和密码.
  • 准备好让你的新团队接触到他们需要的一切,让他们开始运作.
  • 要积极主动,不要把任何事情留给机会,或者留给即将离职的开发团队.
聘请Toptal这方面的专家.
现在雇佣
卡洛斯·拉米雷斯三世的头像
卡洛斯·拉米雷斯三世

位于 圣拉斐尔,加州,美国

成员自 2014年12月6日

作者简介

Carlos是一位专攻Ruby on Rails框架的专业软件工程师. 他与美国科技公司合作多年.

Toptal作者都是各自领域经过审查的专家,并撰写他们有经验的主题. 我们所有的内容都经过同行评审,并由同一领域的Toptal专家验证.

工作经验

15

世界级的文章,每周发一次.

订阅意味着同意我们的 隐私政策

世界级的文章,每周发一次.

订阅意味着同意我们的 隐私政策

Toptal开发者

加入总冠军® 社区.