保持冷静并过渡到新的开发团队

本文概述

  • 传递火炬:加入新的开发团队
  • 收集文件
  • 了解你的产品
  • 取得所有权
  • 授予访问权限
  • 管理交接
  • 总结
在产品生命周期内, 软件产品通常会从一个开发团队过渡到另一个开发团队。产品的不同阶段可能需要不同类型的开发团队:建立初始版本的顾问, 维护该版本的独身自由开发人员, 将其规模扩大的内部团队, 或由专业设计师添加一些” 流行” 。
尽管这种情况发生的频率很高, 但许多非技术创始人和产品所有者发现, 当需要组建下一个团队时, 他们自己并没有做好准备。这通常会导致新团队无法快速进步, 浪费时间, 并使每个参与人员感到沮丧。
如果现在或将来听起来像是你, 那么你应该有所担心。幸运的是, 我们将逐步指导你为可能发生的情况做准备, 并使过渡尽可能顺利。
传递火炬:加入新的开发团队 在本文中, 我将为你提供项目清单, 以帮助你为进行此类更改做准备。你将更深入地了解你的产品, 并获得对制造该产品的所有各种服务和技术的更多控制权, 这将使你能够自信而相对地轻松地组建新团队。
保持冷静并过渡到新的开发团队

文章图片
将火炬传递给新开发人员?确保新团队不会被淘汰。
鸣叫
但是, 如果你不替换整个团队怎么办?你是否应该阅读此书?
即使某些先前的团队留在公司, 他们也可能没有顺利过渡所需的所有答案和信息。尽管他们可以提供连续性并在将知识从旧团队转移到新团队的过程中提供帮助, 但是依靠现任团队成员并不能替代产品负责人并促进转移。另外, 不负责可能会导致新老团队成员之间发生摩擦, 或使老团队成员承担不必要的任务, 从而迫使他们浪费太多时间与新团队成员进行沟通并解决各种问题。
但是, 如果某些团队成员留在公司, 那么他们可能是你过渡工作中的宝贵资产。与他们进行咨询, 使他们保持联系, 并尝试利用他们的经验, 而又不让他们承担太多与过渡相关的任务。不要指望他们会做所有繁重的工作!那是你的工作。
【保持冷静并过渡到新的开发团队】因此, 事不宜迟, 让我们开始吧!
收集文件 自由开发人员经常被要求跳入他们从未见过的现有代码库。对于srcmini软件工程师来说尤其如此。我们的目标始终是尽快起步, 以便对客户产生积极的影响。
可以访问有关该项目的清晰, 透彻的文档, 可以极大地加快入门过程, 并帮助开发人员避免可能阻碍前进进度的陷阱。
好的文档至少需要涵盖以下主题:
  • 设置开发环境-任何新手的首要任务是在自己的计算机上启动和运行应用程序。这样做的过程因技术而异。通常, 它需要执行诸如获取源代码, 设置数据库, 安装依赖项, 使用API??密钥和凭据配置环境, 导入示例数据等任务。开发人员对各自领域中此过程涉及的所有事物都有很好的了解, 并且应该能够相应地调整细节。
  • 运行自动化测试套件-看到应用程序的测试通过, 可以确保一切均已正确设置, 并且以后的更改不会破坏你的任何现有功能。
  • 部署到登台服务器和生产服务器-使用最新的更改更新实时应用程序是一个高度脚本化的过程, 应逐步概述这些操作的顺序, 并尽可能详细。
  • 与新加入的开发人员有关的任何其他信息-每个应用程序都有自己的一套怪癖。写下这些内容可以节省将来的团队很多麻烦的调试问题, 而先前的团队已经解决了这些问题。
保持冷静并过渡到新的开发团队

文章图片
良好的文档记录是任何成功过渡的基石。确保新团队拥有他们所需的一切。
鸣叫
文档应由具有第一手经验的开发人员编写, 该人员具有设置应用程序和为代码库做出贡献的经验。
在进行任何过渡之前, 请以前的开发团队通过创建涉及上述主题的资源来促进知识的传播!
如果写作不适合他们, 则请他们录制一个或多个截屏视频, 以演示开发环境的设置, 部署等。如今, 甚至还有Vagrant和Docker之类的工具, 这些工具可以打包整个开发环境并将其分发给其他人。本质上, 不要给别人指导如何制作锤子, 而是给他们锤子本身。
测试项目文档的全面性和有效性的试金石是, 新开发人员可以多快完成他或她的开发环境设置并运行你的应用程序。
了解你的产品 拥有出色的文档并不能免除你需要了解自己产品技术的基础知识的麻烦。作为软件产品的所有者, 你有责任尽最大可能了解你的应用程序, 即使你不是很熟练。
保持冷静并过渡到新的开发团队

文章图片
没有技术背景?没有理由不能正确理解项目的构建基块。这可能会花费你很多钱。
以下是常见的问题, 应该无需查找即可知道答案:
  • 你的应用程序使用什么技术堆栈? -后端和前端有许多通用的应用程序框架, 任何新的开发团队都应该熟悉你的应用程序所使用的框架。后端Web技术的一些示例是Ruby on Rails, Node.js和Django。前端Web技术的一些示例是React.js, Angular.js和Ember.js。
  • 它在哪里托管? -不同的Web主机具有不同的部署过程, 这需要不同程度的经验。近年来, 云技术创造了许多新的托管选项, 你需要确定正在使用的特定主机, 并说明为什么选择了其他主机。
  • 开发过程是什么? -你的团队是否使用诸如Git之类的特定源代码管理工具?如果是这样, 开发, 测试, 批准和部署新功能的过程是什么?该过程必须标准化, 正确记录并易于新手复制。
  • 你的应用程序使用哪些第三方服务? -某些应用程序基于Shopify等第三方服务构建。请记住, 对第三方服务的依赖正在逐渐增加, 即使你当前不使用任何额外的服务, 你的项目也可能会在以后决定使用第三方服务。
  • 你的应用程序可以在哪些平台上运行? -你的应用程序是桌面应用程序, Web应用程序, 响应式移动网站, 本机iOS应用程序, 本机Android应用程序还是其他?它可以在几个不同的平台上运行吗?在任何给定时间, 你优先选择哪个平台?你的产品在哪个平台上最强和最弱?确保知道你应用程序当前平台的所有详细信息, 甚至可以将其扩展到哪些平台。
取得所有权 当今的软件开发过程利用了大量的第三方服务和工具。无论你是否知道, 你的应用程序也不例外。
在开发过程中, 你以前的团队可能已经代表你注册了, 甚至使用他们自己的帐户来访问所需的服务。过渡到新团队意味着你必须拥有所有权并控制应用程序所依赖的每一项服务和工具, 这样你才可以授予新团队访问权限, 而无需经过中间人或追逐原始开发人员。
以下是你的应用程序可能使用的各种外部工具或服务的列表:
  • 源代码管理管理-GitHub, Bitbucket, Gitlab
  • 虚拟主机-Heroku, EngineYard, Digital Ocean, Bluehost, Amazon Web Services
  • 文件托管-Amazon Web Services(S3)
  • DNS提供商-GoDaddy, DNSimple, 悬停
  • 开发服务-NewRelic, FileStack, Segment, Bugsnag(以及其他无数)
  • 付款服务-Stripe, Braintree, PayPal
  • 博客服务-WordPress, Tumblr, Ghost
  • 电子商务解决方案-Shopify, Squarespace
  • 分析/跟踪-Google Analytics(分析), Mixpanel, Kissmetrics
  • 电子邮件营销:MailChimp, 持续联系
询问你即将离任的开发团队哪些是适用的。对于开发团队拥有的任何服务, 请他们将所有权转让给你。如果无法实现, 请要求他们帮助你创建自己的新帐户, 并确保应用程序使用你的帐户代替他们的帐户。除了更改你的应用程序的某些配置设置外, 这不需要什么。
毋庸置疑, 无论从哪一天开始, 都要确保每一份开发合同都能保护你的利益并确保顺利过渡。
授予访问权限 有了对应用程序生态系统的深刻理解, 以及对应用程序使用的所有各种工具和服务的所有权, 你现在就可以为进入团队或个人提供完全访问权限。
大多数服务将允许你向你的帐户添加协作者, 并授予他们特定的访问权限。可以在这里保守一点。许多创始人, 特别是独立企业家, 更愿意为开发人员提供完全的管理员访问服务的权限, 并让他们处理所有事情。这样做会带来负面影响, 使你脱离循环, 正如我们所了解的那样, 将来可能很难过渡。
你是否应该赋予开发人员完整的管理员权限?这是你的电话, 大多数人对此方法没有任何疑问。但是, 你始终需要提前计划, 并确保你的决定不会对新开发团队产生负面影响。在项目的早期阶段不这样做可能会在将来带来恼人的后果。
管理交接 既然你已经涵盖了所有基础, 则需要管理从一个团队到下一个团队的移交。这里是一些与即将到来的团队和即将离任的团队打交道的基本技巧。
保持冷静并过渡到新的开发团队

文章图片
确保你正确管理项目交接的技术和个人方面。让你的新团队有宾至如归的感觉。
鸣叫
进队
  • 设定期望-新团队应该知道你最重要的目标是什么, 以便他们可以朝正确的方向聚焦。同样重要的是, 管理自己对新团队可以立即完成的工作的期望。
  • 经常检查-不要让新团队沉没或游泳。你想经常检查一下, 以确保他们拥有所需的一切, 而又不想自己自生自灭。尝试在不进行微管理的情况下执行此操作。确保他们知道你在需要时可以提供支持和帮助, 但不要对他们施加不必要的压力。
  • 请耐心等待-开发人员需要一段时间才能适应新的代码库。请理解, 新团队要赶上上一个团队的步伐还需要一些学习时间。
外向队
  • 收集所有未完成的代码-确保所有源代码都已签入主存储库, 并且你知道已部署或未部署内容的状态。新团队将需要确切地知道在哪里接送并开始工作。我本人曾遇到过这样的情况:我接管了一个部署代码但未将其放入主存储库的团队。如果离任的团队将源代码保持在一致的状态, 这会导致很容易避免的错误, 重复的工作和麻烦。
  • 更新他们的访问级别-如果你以良好的态度分道扬, , 则可能希望让他们可以访问你的代码和/或部署。许多团队乐于在过渡阶段提供帮助, 直到新团队可以完全接任为止。如果不是, 请考虑降级或撤消访问权限, 以防止任何意外问题或与新团队发生冲突。
  • 感谢他们的工作-过渡可能会很忙。当你忙于与新团队打交道时, 请不要忘了感谢即将离任的团队为你的项目所做的贡献。
总结 生活中的任何转变都可能令人恐惧, 带来不确定性是否会成功, 对未知事物的恐惧等等。过渡到新的开发团队也没有什么不同, 但是你可以并且应该采取步骤使其变得更容易。在大多数情况下, 只需要进行一些长期规划即可。
对你的软件产品, 开发过程以及过程中涉及的所有事物都有更深入的技术和非技术理解, 将有助于使从一个团队到下一个团队的任何过渡都尽可能地无缝和轻松。
最重要的是, 你的新团队将尊重并感谢你在比赛中处于领先地位!你可能会节省他们的时间和精力, 这也意味着你会省钱。此外, 新团队越早意识到坚持高专业水准就越好。一旦接手项目, 他们将有可能继续实施这些做法, 从而使下一次过渡也很顺利。
因此, 让我们回顾一下软件产品所有权转让之前的要点:
  • 收集或创建尽可能多的有关应用程序, 开发环境和部署过程的文档。
  • 全面了解你的产品。
  • 保持对你应用程序的所有第三方服务和依赖项的控制, 并拥有所有内容的用户名和密码。
  • 准备让新团队访问他们启动和运行所需的一切。
  • 要积极主动, 不要给机会或即将离任的开发团队任何机会。
相关:如何不管理你的远程开发人员团队

    推荐阅读