写点什么

敏捷开发 & 远程团队——你应该知道的六条生产力秘诀

  • 2018-04-26
  • 本文字数:3768 字

    阅读完需:约 12 分钟

本文要点

  • 不能“仅仅”自动化开发流程,远程团队应该关注真正有意义的自动化。抛弃不必要的敏捷工具和过程,专注于少数但最有效的部分。我们不用一次把 Slack、Asana、Spark、Skype 全用上。
  • 保持敏捷过程的简洁。不要对过程着迷;我们的主要目标应该是把实际的工作做完。
  • 敏捷是指快速执行和快速发布。没什么完美。你每天做什么决定了你会交付什么。
  • 冲刺要短且符合现实情况。罗马不是一天建成的。把项目路线图分解到月、周、天,然后执行。
  • 执行,但是要度量执行结果。然后,你就可以知道哪里需要的工作最多,哪项计划进行地最好。

几年前,定期和软件开发人员会谈是我重点关注的方面之一。然而,通过几次会谈,我发现,冗长的会谈并不是他们擅长的。那只会打乱他们编码的心境。但是,我也知道,我必须与内部的技术团队,这些开发人员保持同步:那是工作得以顺利开展的粘合剂。不久,我了解到了敏捷风格的会谈,我们开始在 Google Hangout 中召开虚拟会议,内容涵盖亮点、工作量分解、保持较好的责任感。

随着世界各地的组织都在尝试精益转型,现如今的分布式敏捷工作环境肯定在增加。敏捷开发和远程工程团队——两种不同的精益方法——在当今时代互相补充,所以,有理由把这两种方法结合在一起应对软件项目,让企业可以从全球雇用员工并以简洁的方式构建代码块。

你可能会问,这会带来什么?这会带来:

  • 更快的生产周期
  • 并行编码
  • 持续部署的能力,而且障碍更少
  • 降低职业倦怠的可能性

敏捷环境背后的思想是让集群团队或内部团队更有生产力。敏捷文化运转的基础是团队协作原则、持续学习 & 规划以及无障碍互动。随着企业发展到全球,扩展到不同的地区,团队变得越来越分散,来自竞争力较弱的市场的人才夜以继日地做着项目。使用敏捷实现远程团队之间的高效协作,作为新时代的其中一种开发模型,这已被证明是非常有效的。然而,敏捷开发和远程团队有时候会产生摩擦,变成不同类型的挑战,诸如:

  • 与团队成员建立良好的关系;
  • 跨时区协调;
  • 在两个团队短暂同时在线期间组织会议;
  • 在不同的开发文化之间协作。

为了减轻这种矛盾的状况,组织需要一种混合的敏捷开发方法,专门用于简化和支撑远程软件开发。这种方法可以帮助远程团队分清事情的优先级并变得更有生产力,而不会引入其他的矛盾。

让这种方法发挥作用:下面是面向分布式开发团队的六条生产力秘诀。

1. 有意义的自动化

持续审核过程是工作中实现高生产力的关键。务必要根据情况审核你的过程,旨在找到一种解决方案,让过程尽可能地高效、简洁。投资一种综合应用程序,减少不同的过程所需要使用的不同应用程序,以便可以更快、更高效地执行任务,确保过程不重复。

当项目时间比较长,或者需要管理远程团队时,创建一种持续集成的文化就特别有价值。

自动化可以从多个方面节省时间:它可以快速跟踪整个交付过程并报告这个过程,赋予参与者责任感,它百分之百可用,这全都要感谢最新的技术进步。例如, Jira 就是团队规划并构建优秀产品的一个跟踪器选项。许多团队选用 Jira 捕获并组织问题、分配工作及跟踪团队活动。无论团队在哪,它都能完成任务。

用户故事:让我们看下德国汽车巨头奥迪在日常工作中是如何使用 Jira 的。

奥迪在全世界雇用了数以千计的工程师、设计师、软件开发人员和 QA 团队。但是,虽然奥迪的办公室遍布全球,它的研发中心(R&D)都在德国,雇用了 6000 多名员工。2007 年,他们开始用 Jira 跟踪问题,用 Confluence 管理知识,如今,它们被用来支持所有的团队和项目——不管哪个部门。在路试场所,测试人员在试车过程中会把软件缺陷记录进 Jira 中。除了跟踪外,团队使用 Confluence 存储文档、部门协议、会议记录、政策法规,帮助企业保持高效、透明。

工具建议

2. 简化敏捷过程——把时间花在实际的工作上

成功的秘诀是简单,真的——少说,多做。许多敏捷团队都执迷于开发模型本身。敏捷模型是为了提高生产力,如果我们不能灵活的使用敏捷提升团队的优势,那么敏捷就是失败的。

例如,对于远程团队,距离会导致他们坚持到底,避免改善解决方案,以防出现挑战或障碍。这对整个团队而言是反生产力的。定期调度,每周或每天,这有助于保持团队对所分得的工作的责任感。让团队成员参与到决策,尽可能地确保他们的参与度与他们实现那个决策的占比相匹配。

组织会议的时候,确保那个时间点有利于相应的时区,并且要根据整个过程中员工的参与度优化会议时间。你还可以考虑轮转会议时间,不要让特定时区的团队总是承担调整到其他时区的责任。跟踪一下,看看这些会议对于生产力的影响,并相应地减少或增加频率。一旦项目结束,务必要在团队之间共享最终成果,突出每个团队的参与。

用户故事:在采用新的业务实践方面, Amazon 一直是潮流的引领者,其中一个值得一提的举措是,他们大范围地采用 Scrum。这对公司来说非常有效,它促成了去中心化的决策灵活性,使得团队可以用一种简洁、非官僚的方式创建、交付、运营高质量的软件。在 Amazon,Scrum 实现是自下而上的,这让他们的团队可以在发现需求时直接响应,消除了障碍。

3. 日常的力量——创建一种仪式,把它变成习惯

本质上讲,敏捷允许团队随着原型的发布、评估针对短期规划开发项目的细节和活动,但长期活动更具普遍性。

敏捷是指快速执行、快速发布。没什么完美。这是对的。因此,你每天做什么决定了你会交付什么。完成每天的目标或者迷你可交付成果对团队而言是一个巨大的激励促进,会让团队觉得离最终目标更近了。

工具建议:

  • Basecamp 3 :Basecamp 一直是我们同外部客户通信的工具。新版本还多了一点功能,而不再只是一个消息发送渠道——Basecamp 3 提供了“待办”特性,可以帮助团队轻松地自动化日常任务。

4. 一切都关乎冲刺

有调度很好,但不要让会议占用团队的工作时间。

简洁明了是最最重要的,因此,冲刺务必要短,这会带来更高的生产力,要让团队能够快速发布。毕竟,这不只关乎发布和生产力,这关乎让团队变得真正的敏捷、永不停滞的理念。冲刺更短,规划就更现实,因为那是基于当前的情况。

工具建议:

把类似 Jira 这样的工具和 Slack 集成,让你可以把 Jira 里的重要事件通知自动推送到 Slack 频道。这使得团队成员实时更新冲刺进展,而不必因为等待响应而陷入停滞。

5. 制定一个连接各团队的项目路线图

罗马不是一天建成的——需要时间、精力和大量的集思广益!类似地,你需要制定一个项目路线图,因为那是你要和敏捷团队传达的行动计划——不管他们在哪——让他们知道产品或解决方案如何随着时间演化。

分布式团队意味着时段不同,这让计划变成了一项挑战,因为你无法像了解身边的团队那样了解一个远程团队。在这种情况下,类似滚动计划这样的方法可能更有效,对于时间上比较近的事情就详细地计划,而时间上比较远的事情就在较高的层面上计划。这样一份在多个敏捷团队之间共享的计划将为团队的日常工作提供一个关键的上下文,并对竞争环境的变化作出响应。你所要做的是把它分解到月、周、天。定义每天的可交付物,因为你每天交付的东西对于最终目标的实现很重要。

用户故事:一个敏捷工作生态系统可以推动一种分布式团队文化,就像现如今的几个行业巨头所证实的那样。以微软为例,他们甚至已经把敏捷模型成功地运用在企业层面上。

但是,在开始的时候,它也有自己的瓶颈,确实对质量和过程产生了不利的影响。不过,他们使用类似SAFe 这样的第三方框架解决了在把敏捷运用到企业级项目上时产生的问题。他们开始时先制定规划和架构,然后构建一个特性,最后解决代码。他们使用 Telemetry 跟踪系统运行,并自动测试。借助敏捷软件开发,微软成功地把发布周期从数月缩减到数周,更快地响应了客户的需求。

6. 度量、改变、发布

不能只部署,还要度量。往往,最不经意的事情会发生。当那样的事情发生时,你需要改变策略、行为等。成为敏捷团队意味着你应该能够做任何需要做的事。这会带来变革。根据数据和度量指标制定下一步的路线图

对于敏捷和精益过程,基本指标有提前期、循环时间、团队速度、打开/ 关闭比。这些指标可以辅助规划,帮助制定合理的过程改善决策。如果这些参数中的任何一个超出了预期范围或者趋势令人担忧,那么不要假设原因。和团队一起,公开把它找出来,一起做决定解决那个问题。

小结

敏捷团队的概念慢慢的扩展成了企业敏捷性。敏捷是一个很棒的软件开发模型,因为它聚焦于自管理团队、自治以及可视化到按优先级排序的待办事项列表。敏捷扩展的过程似乎也很简单:如果它在一个部门里有效,那么你就可以把它运用到所有现有的团队和部门,从而构建一个敏捷企业生态系统。请记住,世界很小,即使是对分布式团队也是如此——而大量的通信平台,如Slack、Jira、Skype,让这个世界变得更小了。促成同样密切的沟通是保证分布式团队敏捷过程的关键所在。

关于作者

Tanya Kumari 是应用程序开发机构 Classic Informatics 的一名敏捷专家。她是个书迷、音乐爱好者,也是一个技术发烧友,她喜欢追踪技术领域发生的最新进展。如果她没有在写关于敏捷团队动态的最新文章,那么你就可以看到她在咖啡机旁,向同事介绍健康生活的好处以及如何做到健康生活。

查看英文原文: Agile Development & Remote Teams - 6 Powerful Productivity Hacks You Should Know

2018-04-26 18:202114
用户头像

发布了 1008 篇内容, 共 393.1 次阅读, 收获喜欢 345 次。

关注

评论

发布
暂无评论
发现更多内容

智汇华云 | 混合IT下的云管理套件核心技术解析

华云数据

为了让医院把医护还给患者,他们用了这个….

华为云开发者联盟

数字化转型 医院 华为云 devcloud 全流程一体化

Tapdata 在线研讨会:实时数据同步应用场景及实现方案探讨

tapdata

MySQL oracle mongodb

IOS技术分享| 在iOS WebRTC 中添加美颜滤镜

anyRTC开发者

音视频 WebRTC 视频通话 ios技术分享 美颜

云行·数治·慧用丨边缘云一体机赋能基层实现边缘侧数据智能

云计算

智汇华云 | ArSDN之分布式路由及浮动IP简介

华云数据

职场奇袭!3分钟完成一天工作

博文视点Broadview

webpack5之HMR原理探究

rayyang00

大前端 webpack

接口测试要测试什么?

与风逐梦

软件测试 接口测试

接口测试进阶接口脚本使用--apipost(预/后执行脚本)

Proud lion

大前端 后端 Postman 开发工具 接口文档

4种Golang并发操作中常见的死锁情形

华为云开发者联盟

缓存 协程 并发 死锁 Go 语言

去中心化钱包开发,imtoken钱包开发

configparser 配置文件解析器

林十二XII

五岳核心版上线!这份阿里开发手册核心版又将被多少人疯狂转载?

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

Apache Pulsar 新增 2 位 PMC 成员:林琳与陈航

Apache Pulsar

腾讯云 Apache Pulsar

【重磅】微信开源PhxSQL:高可用、强一致的MySQL集群

OpenIM

自动化测试框架指南

FunTester

自动化测试 测试框架 数据驱动 FunTester 测试自动化

Promise.any() 原理解析及使用指南

devpoint

Promise 9月日更

Tapdata肖贝贝:实时数据引擎系列(三) - 流处理引擎对比

tapdata

华为云严选上新啦!高效准确的数据同步方案来了

华为云开发者联盟

数据库 华为云 数据同步 英方软件 严选商城

Week2 Homework

Ray_c

#架构实战营

String split()方法踩坑

梁小航航

string

Nebula Graph 源码解读系列 | Vol.00 序言

NebulaGraph

图数据库 源码解读 分布式图数据库

华云大咖说 | 对象存储在金融行业的应用

华云数据

深入了解现代web浏览器(第三部分)

GKNick

华为云数据库内核专家为您揭秘:GaussDB(for MySQL)并行查询有多快?

华为云开发者联盟

MySQL 关系型数据库 华为云数据库 GaussDB(for MySQL) 并行查询

☕【JVM技术指南】「难点-核心-遗漏」TLAB内存分配+锁的碰撞(技术串烧)!

洛神灬殇

JVM TLAB 锁升级 内存分配 9月日更

第一波场DAPP系统搭建|DAPP介绍

Geek_23f0c3

DAPP智能合约交易系统开发 波场链DAPP开发 第一波场

华云大咖说 | 混合IT架构的统一管理——安超云套件产品介绍

华云数据

9月日更挑战正式开始啦~

InfoQ写作社区官方

9月日更 热门活动

mycat入门:简介和安装

小鲍侃java

9月日更

敏捷开发&远程团队——你应该知道的六条生产力秘诀_文化 & 方法_Tanya Kumari_InfoQ精选文章