最新 如果您在分布式开发的敏捷转型中需要帮助,您可以 联系我们!
分布式开发
概念
分布式开发项目是跨多个业务工作场所或地点完成的研发(R&D) 项目。这是一种研发形式,项目成员可能不会面对面见面,但他们都在为项目的成果而共同努力。分布式包含离岸(offshore)分布和在岸(onshore)分布。它与外包不同,因为所有组织都在平等的水平上一起工作,而不是一个组织将工作分包给另一个组织
现状
根据 Digital.ai 在2024年发布的第17次敏捷现状调查显示,91% 的受访者表示他们的团队是完全分布的,这是这项调查开展 17 年来规模最大的一次。团队如何做到这一点?对于 81% 的团队来说,答案是持续的培训和指导。只有 19% 的受访者表示他们的组织没有提供额外的培训或指导
问题
- • 缺少面对面沟通
- • 适应文化差异
- • 缺乏企业文化
- • 时区差异
- • 缺乏问责制
- • 缺乏信任
- • 集成障碍
分布式开发敏捷实践
在分布式环境中,人们可能很难跟踪每个人的工作量和对可交付成果的贡献。通过采用敏捷原则和实践,可见性变得更加清晰,因为存在多次迭代,人们可以在项目的初始阶段可视化问题或关键点。 编程代码的持续集成是敏捷软件开发的重点之一,它还可以减少分布开发的集成障碍。采用敏捷原则会对团体之间的沟通产生积极影响,因为循环的进步使成员更容易看到短期目标。 Sprint 评审是改善外部通信的有效方法,同时有助于在合作伙伴或利益相关者之间共享有关功能和优先级的判断。敏捷实践还通过可交付成果的传达,有助于在与流程相关的各个团队之间建立信任。 Passivara、Durasiewicz 和 Lassenius 的调查表明,由于项目中采用了 Scrum 方法,软件质量和通信得到改善,沟通和协调工作也相对更加规范。 目前 AgileDo 已经总结了 70+ 具体的技术实践、模式和案例,以达到分布式团队高效协同工作的目标。这里分享其中的 9 个:
分布式组织架构
每个区域的团队是独立的敏捷团队,团队之间关键角色有代理人机制,明确每个区域成员的角色和职责,避免工作的交付没有确定的负责人。不同团队的Scrum Master协调资源和风险,并由SoSM对整个组织负责
沟通和协作工具
分布式源代码管理、CI/CD 工具、Wiki(可用于知识管理)、视频会议和 Skype、微信等协作工具对于分布式团队的有效运作非常重要
减少依赖
即使使用工具,分布式的特点也会降低沟通的效率。为此,减少不同区域团队间的依赖是首选。这些依赖包括业务的依赖、代码的依赖、资源的依赖等
透明
项目的透明本身有利有弊,透明程度越高,好处很明显,同时也会增加项目的成本和一线员工的抵触。但是对于分布式开发,针对不同区域团队的依赖领域,要求透明程度越高越好,这样可以很大程度上降低沟通的成本。好的做法是通过成熟的项目管理工具来实现透明
了解工具面对面的交谈
安排不同区域团队的关键角色,包括代理人,在研发周期的关键节点坐在一起工作,建立融洽关系,并对如何协作达成共识
统一的交付文化
不同区域的团队根据自己的特点可以选择不同的敏捷实践,但是作为一个整体,需要有统一的交付文化,作为协作和交付的基础。交付文化包括但不限于:明确的完成标准、对质量的承诺、对交付期限的承诺等
调整典型的敏捷实践
由于现实的沟通问题,一些典型的敏捷实践需要在分布式开发中做出调整。例如:
- • 跨区域对文档的详细程度要求更高
- • 结对编程在跨区域场景中不如本地结对效果好
- • 分布式更关注研发效能的度量
定期反馈
定期向所有区域的团队成员提供关于他们的贡献、成就和需要改进领域的反馈。承认和庆祝成功,并及时解决任何问题或疑虑,以保持团队士气和团队间的信任
最新 如果您在分布式开发的敏捷转型中需要帮助,您可以 联系我们!