如何管理分布式团队
如今,寻找和雇用所有必要的人才来建立你的数字产品是具有挑战性的。因此,许多企业选择替代解决方案,并将其项目的某些部分外包。因此,他们可以扩大专业知识,实现更大的灵活性,提高生产力,并降低成本。在外包模式中,分布式软件开发团队是值得考虑的。这种模式涉及在其他地区、国家或大陆雇用远程专家。它使你能够进入全球IT人才库。因此,你可以选择可靠的技术合作伙伴,不受地域限制。分布式团队使用多种工具和技术进行沟通、规划和管理项目。这篇文章将分享管理分布式软件开发团队的工作流程时使用的见解、有价值的提示和高效的技术。
分布式团队和远程工人之间的区别是什么?
在外包数字产品开发时,许多人对企业可以选择的各种模式之间的区别感到困惑。那么,建立一个分布式软件开发团队和雇用远程专家之间有什么区别?让我们澄清这些术语来了解一下。
远程团队
远程软件开发或虚拟团队是一群不在你办公室的员工,但被认为是你内部团队的一部分。他们通过聊天、视频通话和在线会议进行工作沟通。在大多数情况下,你仍然可以把你的核心团队留在办公室,把特定的任务委托给远程工人。因此,对工作流程的管理和控制仍然是你的责任。这意味着,你应该确保你的远程员工适应其文化。此外,你还必须进行入职培训,控制专家的职业发展,并与人力资源管理部门打交道,以保留你的团队成员。同时,对于分布式团队,你将不需要直接参与上述所有过程。相反,为你提供团队的供应商会承担起所有这些责任。
分布式团队
分布式开发团队是一个典型的外包模式。它涉及到雇用几个供应商或独立承包商在不同地点工作。与虚拟团队不同,分布式团队不是集中的。他们中的每一个人都可能在项目的一个特定方面工作。项目经理确保良好的组织和对工作流程的控制。另外,分布式团队应该使用有效的沟通和协作工具,让所有的利益相关者和团队成员都能在同一起跑线上。简而言之,一个分布式团队与两家公司合作,每个人都做自己最擅长的事情。创业公司负责创意、战略、资金和其他商业流程,而供应商则负责人员配置、保留和实施你的创意。这样的角色分配往往是相当有帮助的。为什么呢?因为对最佳人才的竞争是非常激烈的。所以初创企业缺乏雇用和保留合适候选人的能力。
分布式开发团队的好处是什么?
分布式模式可以获得更广泛的人员配置机会,对工作过程采取灵活的方法,以及团队的敏捷性,这在今天是非常需要的。为你的软件产品开发建立一个分布式团队的主要优势在这里。增加灵活性。 分布式模式本身在人员配置和项目管理方面是灵活的。雇佣的供应商可以在没有客户参与的情况下增加所需的专业知识,因此在扩大项目规模时,你不会浪费时间和精力。广泛的人才库。快速增长的IT人才短缺是当今企业面临的关键挑战之一。而你可以通过分布式团队模式来解决这个问题,该模式提供了进入全球人才库的机会。敏捷的方法。敏捷方法涉及设定目标,并通过进行短期但高效的冲刺来更快地实现目标。分布式团队经常转向这种方法,争取更好地组织和适应需求的变化。成本效益。转向离岸供应商或建立一个分布式团队要比内部解决方案便宜得多。你可以投资于更紧急的业务需求,而不是大量的劳动力支出。生产力。分布式团队通过多种软件和工具组织充分的沟通流。它还可以促进各种流程,从项目管理到文件维护。有效的项目管理。分布式团队模式使客户不需要浪费时间来处理众多的管理问题。许多与人员配置、团队扩展、风险管理、积压更新等相关的小需求都在供应商那边执行。
分布式团队管理的秘诀和黑科技
我们的团队在众多的项目中工作,以满足客户的期望和个人要求。我们的主要原则之一是让客户感觉到他们的内部团队和我们加入项目的远程专业人员之间没有区别。特别是,我们有在分布式软件开发团队模式下工作的经验。在处理这类项目时,我们已经开发了特定的战术和项目管理技术,并已证明其有效性。我想分享一些关于管理分布式开发团队的最有价值的见解。
最佳经验
我们所做的产品是用于监控和管理云资源的复杂软件。简而言之,这是一个努力促进DevOps工作的产品,为他们提供多种指标、系统健康检查、调试功能等。我们已经在这个项目上工作了两年多了。
分布式团队由三部分组成:
客户在美国的内部团队(超过20位专家,其中5或6位与我们保持联系)
我们的团队(10名专家,包括5名开发人员)
另一个来自东欧的团队(7名专家)
我们的团队负责项目的用户界面和前端开发。因此,整体的分布式团队是相当大的,而项目是复杂的,并经历定期的变化。
挑战和解决方案
由于客户的项目是一个初创公司,任务的分配造成了特殊的物流问题,直接影响到团队的互动。这很可能发生在项目的早期阶段,当时各团队还不习惯对方的方法,而且还存在具体的沟通问题。因此,我们的关键目标之一是与其他团队协调所有的计划和期望,以避免不必要的工作和给其他参与者带来麻烦。为了解决这个挑战,值得在像Swagger这样的工具中提前准备规范。它可以让所有分布在各地的团队成员更好地了解彼此的目标,从而解决一个有组织的工作流程。
沟通流程
在最初的开发阶段,从事该项目的各团队之间存在着某些误解。然而,我们通过高质量的沟通和妥协解决了所有这些问题。为了工作流程的效率,团队成员应该尽其所能。建立良好的沟通是分布式团队成功的关键。我们开始使用电子邮件和Discord,但这些沟通方式被证明是不方便的,所以我们转移到Slack的共享工作空间。我们为以下目的创建了频道。
我们团队的内部频道
一个用于与后台和API团队沟通的频道
额外的频道,用于与经理们进行小组聊天。
Slack是一个非常有益的工具,它可以帮助分布式团队把所有的东西放在一个地方,快速解决问题,并在所有的渠道中保持联系。此外,我们在客户方面使用Jira进行有效的项目管理。它还通过减少额外的电话和会议帮助我们节省时间。此外,我们没有把时间浪费在不必要的官僚主义上,而是直接给那些从事具体工作的人打上标签,没有决策者和等级制度的参与。此外,我们在聊天中调整了特定的机器人。它们在工作日结束时被触发,唤起跨团队的沟通。因此,问题在渠道中被立即讨论,这减少了对定期耗时会议的需求。最后,产品负责人向我们提供所有必要的信息并澄清问题点,包括与后台有关的要求和更新。
会议和电话
在产品的测试版发布之前,我们每天都进行会议,提出问题,得到需求的澄清,并分享我们阻碍开发过程的问题。这种会议的主要目标是在挑战出现时立即解决,并立即报告开发进度。同时,这也是我们商定发布日期、冲刺计划、里程碑等的地方。此外,每隔两三天,我们会进行冲刺审查。这是必要的,因为工作范围的不断变化。在这样的会议上,我们实时纠正和更新冲刺计划。最后,我们定期与其他团队进行同步会议。我们在这些会议上讨论我们的共同问题,以确保每个人都在同一起跑线上。
内部沟通流程
至于我们的内部沟通,我们一直保持着联系,并每天进行会议。其中两个是语音或视频电话,其他的是聊天,这样可以节省很多时间。此外,为了讨论一些小问题,必要时我们会发短信或打电话给对方。我们的团队成员在每周的技术会议上讨论所有的技术决定、库、方法等等。通常情况下,我们在聊天中钉上相关的问题,之后每个人都会讲述他们的进展、成就和失败。这使我们能够跟上与快速发展的项目有关的最新事件。还会设计一个两周的冲刺计划,钉在频道上,标明最后期限和负责该任务的团队成员。冲刺计划的审查每两三天就会进行一次。此外,开发人员讨论工作流程的挑战,建立重构计划,并在回顾性会议上讨论基本问题。如果需要的话,也可以召开讨论新功能、需求和任务分解的会议。
以下是我们应用的其他一些做法,以改善我们团队中的沟通:
在Github上设置带有标签的行动,以加速审查
打私人电话来讨论紧急和关键的任务
在聊天中告知其他团队成员我们的缺席或日程变化
在项目的中间阶段展示当前的成果,以减少对工作范围的误解
明确表达我们对冲刺阶段的期望
对已实施的未达成一致的变化给出理由
团队管理
为了保持团队成员的工作效率和参与度,我们为他们的发展组织计划。每位员工每三个月与团队领导和经理有一次1-2-1的会议。我们讨论他们对当前任务的兴趣和在项目中发展的愿望。为每个新的团队成员提供一个负责他们有效入职的导师也是值得的。导师应该向新人解释业务逻辑、项目、团队和内部流程。这个指导过程可能会持续两个月之久。它可以帮助新成员感到更有信心和了解项目的具体情况。
录制视频
最后,使用视频向分散的团队成员传递信息是有价值的。我们经常使用这种方法来向新员工解释项目的具体内容。项目经理录制视频,描述知识库应用程序的工作方式。我们将视频与关键团队的通话和关于新功能的讨论存储在一个私人的YouTube频道,而带有所有链接的基地则在Confluence中。我们选择YouTube是因为它有方便的标签,可以快速搜索。这种方法适用于任何任务。例如,你可以为未来的项目制作一个视频,演示设计布局的功能。然后,将制作布局的人可以观看这些功能是如何工作的,看到一些交互场景,并得到按钮的描述。
另外,这种方法对于回顾会议来说也很方便。它可以帮助跟踪一个特定的功能是如何变化的,有哪些实现的想法被考虑过。其中一些可能没有被用于MVP,但对接下来的开发阶段是有帮助的。
以下是录制此类视频的几个关键原因:
它能够存储任何数据,不管接受这些数据的人是否还在公司工作。
它有助于回答一般在开始时出现的问题,并引出更详细的问题,有助于新团队成员的沉浸感。
问答环节能够在观看特定视频后实时提出更多问题。
如何让分布式开发团队的工作变得有利,而不是有压力
管理一个分布式开发团队需要一个完善的、细致的方法。乍一看,这样的模式可能看起来相当复杂和具有挑战性。然而,通过适当的组织、有效的项目管理以及强大的工具和技术,分布式团队模式为现代企业提供了许多机会和好处。有了经验丰富的技术伙伴和正确的管理方法,转向分布式团队模式将可能帮助你无痛而有效地实现你的商业目标。
构建创业公司突击小团队
国际化环境下系统架构演化
微服务架构设计
视频直播平台的系统架构演化
微服务与Docker介绍
Docker与CI持续集成/CD
互联网电商购物车架构演变案例
互联网业务场景下消息队列架构
互联网高效研发团队管理演进之一
消息系统架构设计演进
互联网电商搜索架构演化之一
企业信息化与软件工程的迷思
企业项目化管理介绍
软件项目成功之要素
人际沟通风格介绍一
精益IT组织与分享式领导
学习型组织与企业
企业创新文化与等级观念
组织目标与个人目标
初创公司人才招聘与管理
人才公司环境与企业文化
企业文化、团队文化与知识共享
高效能的团队建设
项目管理沟通计划
构建高效的研发与自动化运维
某大型电商云平台实践
互联网数据库架构设计思路
IT基础架构规划方案一(网络系统规划)
餐饮行业解决方案之客户分析流程
餐饮行业解决方案之采购战略制定与实施流程
餐饮行业解决方案之业务设计流程
供应链需求调研CheckList
企业应用之性能实时度量系统演变
如有想了解更多软件设计与架构, 系统IT,企业信息化, 团队管理 资讯,请关注我的微信订阅号:
作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
该文章也同时发布在我的独立博客中-Petter Liu Blog。