当前位置: 首页 > 编程日记 > 正文

保持分布式团队同步

分布式团队最大的挑战是沟通,这对建立协作的基本原则必不可少。调整工作时间,互相适应,而团队联络员有助于沟通和同步工作。以信任、尊重和开明为基础的团队会鼓励组织中的人们互相帮助,培养一种使团队保持同步的文化。

\\

SkuVault项目经理Marat Kiniabulatov将在Atlassian 2018欧洲峰会上发表演讲,剖析分布式团队。该活动将于9月3号到5号在西班牙巴塞罗那举行:

\\
\

和其他用户一起加入我们的团队,获得灵感,倾听有关Atlassian工具最佳用法的专家建议,了解最新的技术和产品更新,庆祝我们的团队让世界变得更美好。

\
\\

InfoQ将以Q\u0026amp;A、概述和文章的形式对此次活动进行追踪报道。

\\

InfoQ采访了Kiniabulatov,内容涉及分布式团队的挑战、SkuVault的产品经理和利益干系人如何协作以及工作流如何管理、分布式团队如何有效沟通及同步他们的工作、SkuVault如何培养保持团队同步的文化。

\\

InfoQ:在SkuVault,当和分布式团队共事时,你们面临着什么挑战?

\\
\

Marat Kiniabulatov: 好的,有许多,从语言障碍,到工作时间不重叠,再到团队融合和激励。但是,最大的挑战是沟通,由此我们得出,工作流程和过程要尽可能得简单。集中团队可以通过面对面的交流来弥补低效的过程。但是,对于远程或分布式团队,重要的是要确定协作的基本原则。

\
\\

InfoQ:产品经理和利益干系人如何协作来定义、按重要性排序和审批需求?

\\
\

Kiniabulatov:不久之前,我们有需求质量的问题,任务在产品经理/分析师与开发之间来回好几次,因为当开发人员开始开发新特性时,没有充分研究和足够的数据。在某些产品领域,没有描述标准,你有时候会得到相当模糊或相互矛盾的业务逻辑。你知道,这是一家初创公司,每个人都做许多事,质量就有点受损:)

\\

在查问和跟踪我们如何处理需求之后,我们提出了一个单独的方案,将来的特性要和QA及开发团队一起仔细讨论,由利益干系人签字,产品经理按重要性排序。

\\

该项目的流程包括以下几步。

\\
  1. 初步评估:由产品经理研究几乎所有人都建议的特性。\\t
  2. 稍后,由大部分利益干系人签字(通常一周一次)。\\t
  3. 之后,我们和QA、PO、开发团队一起详细讨论用户故事的细节,尽可能在我们开始开发之前更多地发现陷阱。如果需要任何线框图,则UX/UI团队会帮助我们,为我们提供这样的资料。\\t
  4. 最后,我们准备好了开发桶,等团队把特性拉进来。\

这样,我们就能够显著提升需求质量,我们就不用来回多次澄清边缘情况。

\
\\

InfoQ:你们如何管理工作流程?

\\
\

Kiniabulatov:我先介绍一点背景:我们有两个特性团队、一个应急团队和两个服务团队。

\\

特性团队采用Scrum,从产品经理按重要性排好序的全局列表上,把特性项加入他们的冲刺待办事项列表。

\\

应急团队利用看板,由于不可预见,所以紧急Bug不会让你提前进行恰当地计划。应急团队背后的主要思想是,响应紧急问题,使特性团队的工作不被打断。为了防止倦怠,我们会轮转团队。

\\

后两个团队是支持运营的DevOps团队和核心团队。

\\

除DevOps团队之外,大部分团队都使用同样的开发工作流程:待办、进行中、代码评审、测试、完工——通常,看板桶有WIP限制。

\\

我们使用Atlassian Jira任务跟踪器为我们的分布式团队虚拟地反映这个工作流程。

\
\\

InfoQ:工作时间不重叠的分布式团队如何有效沟通、同步工作呢?

\\
\

Kiniabulatov:每个团队都是独特的,团队成员决定什么最适合他们;他们只需要随着时间推移进行检查和调整。当团队成员彼此之间相距甚远时,没有一个单独的协作模式目录,那减缓了分布式团队的采用。

\\

大多数团队都没有充分的自由可以在现场一起开始项目,因此,我的工作是帮助团队了解各种协作技术,弄清楚哪一种适合他们。

\\

最有效的方式是调整工作时间,互相适应。这样,他们就可以有一段重叠的工作时间。为了和境外的成员保持同步,我们有的团队甚至把回顾和冲刺规划混在了一起。

\\

当你需要连接分布式团队的两个部分,或者联系工作时间内不可达的其他团队时,有一个团队联络员的概念。一名团队成员被选为联络员,在每日例会、 Scrum of Scrums或任何其他公司范围的讨论中,代表他的同事。这是一个轮流担当的角色。

\\

在我的博客上,我写了一篇敏捷沟通技术概述,面向工作时间不重叠、有语言障碍或简单的分布式团队。

\\

但是,如果没有需求标准、更详细的文档(在某种意义上,把所有决定都写下来,而且可以在整个知识库中搜索)和简单易用的工作流程,那么上面那些概念都不会有效果。

\
\\

InfoQ:如何培养一种使团队保持同步的文化?

\\
\

Kiniabulatov:只有当员工理解并亲自分享时,健康的文化才得以扩展和维持。在完美情况下,文化反映了共同的目标,影响了动机,要做到这一点,就要让员工听进心里,把他们的能力贡献给项目和组织,并获得职业上的发展。

\\

最终,人是主要资产,激励员工,不管是不是分布式,都可以给生活带来令人印象深刻的产品。就像组织本身一样,代表它的文化是动态的,会随着时间的推移而变化。

\\

以信任、尊重和开明为基础的团队会鼓励组织中的人们互相帮助,会参与其他团队的活动倾听进行中的工作,说出自己的麻烦,发表有关他们取得的成果的幽默博文,并在聊天中互相赞扬。

\\

可以把人们团结在一起的有趣的娱乐活动包括:在猫图中查找发布说明(确保整个团队都参与到寻找代表重大项目发布的猫图中)、每个圣诞节互送小礼物、一起参与编外项目(基于网络摄像机的汽车修理或游戏开发)、Skype喝啤酒会议。

\\

因此,使员工出彩,他们会把文化转变成一种和他们一样充满活力、充满激情的文化。

\
\\

查看英文原文:Keeping Distributed Teams in Sync

相关文章:

Word2010开发——操作文档

参考: http://blog.csdn.net/akipeng/article/details/6534375 http://www.haogongju.net/art/19029 首先建立一个Word外接程序(Word AddIn)(家里的Vs竟然是中文版,汗!) 接着在项目中新增项&…

【驱动】ubuntu安装内核头文件

1、检查是否已经安装 使用dpkg-query命令检查是否有可用的内核头文件。 $ dpkg-query -s linux-headers-$(uname -r) 如果输出显示install ok installed说明已经安装成功 Package: linux-headers-4.15.0-142-generic Status: install ok installed2、安装内核头文件 $ sudo…

嫌Terminal终端太单调?快收下这几个有趣的改造工具!

整理 | Rachel责编 | 琥珀出品 | AI科技大本营(ID:rgznai100)【导语】Terminal(终端)是程序员常用的工具之一,常用于系统的相关配置修改。系统自带的 terminal 较为简单,很多 Github 的开源项目都尝试对终端…

关于matlab向文件写入数据的方法——留着备用

MATLAB数据采集的时候,往往需要把得到的数据保存下来。 fid fopen(文件名,‘打开方式’); 说明:fid用于存储文件句柄值,如果fid>0,这说明文件打开成功。打开方式有如下选择: ‘r’&#xff…

js在页面滚动到一定位置时触发事件?

function getTop(e) {var offsete.offsetTop;if(e.offsetParent!null) //只要还有父元素,也就是当前元素不是根节点就继续往上累计元素的高度offsetgetTop(e.offsetParent);return offset; } var myBlockTop getTop(document.getElementById("homepageBanner")); va…

【C语言】学习笔记3——字符串

1. 字符串(charcacter string)是一个或多个字符的序列 2. C语言没有专门用于存储字符串的变量类型。字符串都被存储在char类型的数组种。 3. 数组由连续的存储单元组成,字符串种的字符被存储在相邻的存储单元中, 每个单元存储一个…

Facebook 的AI翻身之战!

作者 | Michael K. Spencer译者 | 王艳妮,责编 | 屠敏出品 | CSDN(ID:CSDNnews)Facebook最近举办了F8会议,这是了解这个平台未来发展的绝佳机会。 F8是Facebook的年度开发者大会——一个为期数日的活动,期间…

【Linux驱动】ThinkPad笔记本wifi模块rtl8821ce在ubuntu16.04的驱动(默认没有)

0、wifi模块型号 在win10下设备管理器中查看,型号为:Realtek 8821CE Wireless LAN 802.11ac PCI-E NIC 1、问题描述 在ThinkPad上安装win10ubuntu16.04双系统后,在win10下wifi可以正常使用,但是在ubuntu下没有wifi列表。 2、…

关于Linux的inode和dentry的一组文章

先mark一下,有时间再看。 http://www.ruanyifeng.com/blog/2011/12/inode.htmlhttp://teaching.idallen.com/dat2330/04f/notes/links_and_inodes.htmlhttp://www.thegeekstuff.com/2012/01/linux-inodes/http://blog.chinaunix.net/uid/7828352/frmd/-1.htmlhttp:/…

为什么Rust连续4年获“最受喜爱编程语言”?

作者 | Mike Tang责编 | Aholiab出品 | 区块链大本营(blockchain_camp)2015年5月15日,Rust编程语言核心团队正式宣布发布Rust 1.0版本。4年来,它优雅的解决高并发和高安全性系统问题的能力,受到了越来越多开发者的喜爱。并且连续4…

【Windows】清除win10开始菜单中失效打程序标签

1、问题描述 安装新版本Qt程序,卸载旧版本Qt后,在开始菜单中,还有残留,但是已经失效,需要删除这些失效的程序标签。 2、显示隐藏文件夹 打开此电脑——查看——勾选“隐藏项目”: 3、删除失效的程序标签…

解析equals(Object obj)和compareTo(T obj)

背景:最近在研究静态扫描的东西,遇到一个规则:"equals(Object obj)" should be overridden along with the "compareTo(T obj)" method 然后就想深度扒一扒equals和compareTo有什么区别 1.java.lang.Object是所有类的父类…

安装和部署Exchange Server 2007

为什么Exchange Server 2007使用服务器角色? 简化部署和管理 增强可扩展性 改进安全性 见下图:什么是邮箱服务器角色? 邮箱服务器角色: 存储用户邮箱和公共文件夹 通过群集, LCR, CCR实现高可用性 并不在邮箱之间转输邮件邮箱服务器: 不应该能从Internet直接访问 必须是活动…

AI时代,中国技术创新如何弯道超车?

2019 年 5 月 26 日 - 27 日,杭州国际博览中心,由工信部人才交流中心指导,CSDN 和数字经济人才发展中心主办的 CTA 核心技术及应用峰会圆满落下帷幕。本次大会聚焦机器学习、知识图谱等 AI 领域的热门技术,关注技术在行业中的实践…

【TX2】英伟达Nvidia TX2连接蓝牙设备

1、问题描述 买了一个蓝牙键盘(航世B.O.W 折叠键盘HB099,200大洋),尝试在连接TX2的蓝牙,试试好使不 2、安装蓝牙 Blueman 是一个适合在 GNOME 桌面环境使用的图形化蓝牙管理工具。 sudo apt-get install blueman b…

usermod

功能说明:用于修改系统已经存在的用户账号信息。 参数选项:-c comment 修改用户password文件中用户说明栏,同useradd -c功能。-d home_dir 修改用户每次登入时所使用的家目录,同useradd -d功能。-e expired_date 修改用户终止日期…

asp.net 获取当前时间的格式

在平时的编程中,经常会用到获取当前的系统时间,格式也很特定,今天就把一些格式整理了一下,贴出来,以便以后的使用。 //获取日期时间 DateTime.Now.ToString(); // 2008-9-4 20:02:10 DateTime.Now.ToLocalT…

史上最大规模ACL大会放榜,百度10篇NLP论文被录用!

近日,自然语言处理(NLP)领域的国际顶级学术会议“国际计算语言学协会年会”(ACL 2019)公布了今年大会论文录用结果。根据 ACL 2019 官方数据,今年大会的有效投稿数量达到 2694 篇,相比去年的 15…

【Ubuntu】安装Ubuntu+Win双系统后,每次开机默认是进入Ubuntu,如何设置成默认进入Win?

1、问题描述 安装UbuntuWin双系统后,每次开机默认是进入Ubuntu,如何设置成默认进入Win? 2、解决方法 1)记住开机选择中windows 10是第几个,从0开始记,如下图本人的是4 2)进入ubuntu系统&am…

MFC 多线程及线程同步

一、MFC对多线程编程的支持 MFC中有两类线程,分别称之为工作者线程和用户界面线程。二者的主要区别在于工作者线程没有消息循环,而用户界面线程有自己的消息队列和消息循环。  工作者线程没有消息机制,通常用来执行后台计算和维护任务&…

太火!这本AI图书微软强推,程序员靠它拿下50K!

如何能够短时间内抓住技术重点,集中突击?如何不在惧怕“算法”?如何才能在面试中对答如流,打造属于自己的“offer收割机”?也许这本书——《百面机器学习 算法工程师带你去面试》就能帮你实现!《百面机器学…

【Qt】错误处理:error: undefined reference to `qMain(int, char**)‘

1、问题描述 在一次编译Qt项目时,报错 H:\Qt\Qt5.14.2\5.14.2\mingw73_32\lib\libqtmain.a(qtmain_win.o):-1: In function `WinMain@16: C:\Users\qt\work\qt\qtbase\src\winmain\

Android WebView与ViewPager的滑动冲突分析

前言 如题所述,我使用的架构是ViewPagerFragmentWebView进行开发的,由于WebView的html页面代码是第三方的,这里不好放出来,所以只能放一个大致的架构图,如图所示,ViewPager包含了两个fragment,可以左右滑动…

关于outlook2010帐户设置

安装了office2010后,首次使用outlook,关于帐户设置,以qq邮件为例 开启imap服务2.打开outlook2010软件 由于有文字限制,其他的图解请链接http://wlinfang.blog.51cto.com/2961560/902193转载于:https://blog.51cto.com/wlinfang/90…

如何构建可解释的推荐系统?| 深度

作者 | gongyouliu来源 | 大数据与人工智能(ID:ai-big-data)推荐系统的目标是为用户推荐可能会感兴趣的标的物。通过算法推荐达到节省用户时间、提升用户满意度、为公司创造更多的商业价值的目的。要想达到这个目的就需要让用户信任你的推荐系…

【Qt】获取、比较Qt版本的宏和函数

1、版本号宏定义 版本号宏定义在QtCore\qconfig.h中,以Qt5.14.2为例 #define QT_VERSION_STR "5.14.2" #define QT_VERSION_MAJOR 5 #define QT_VERSION_MINOR 14 #

Spring Cloud企业微服务分布式云架构技术点整合

spring cloud本身提供的组件就很多,但我们需要按照企业的业务模式来定制企业所需要的通用架构...下面我针对于spring cloud微服务分布式云架构做了以下技术总结,希望可以帮助到大家:View: H5、Vue.js、Spring Tag、React、angular…

学习 JS navigator 对象

集合描述IEFOplugins[] 返回对文档中所有嵌入式对象的引用。 该集合是一个 Plugin 对象的数组,其中的元素代表浏览器已经安装的插件。Plug-in 对象提供的是有关插件的信息,其中包括它所支持的 MIME 类型的列表。 虽然 plugins[] 数组是由 IE 4 定义的&am…

【Ubuntu】解决ubuntu系统root用户下Chrome无法启动问题

1、问题描述 ubuntu系统在root用户下无法启动Chrome,报错: Running as root without --no-sandbox is not supported. See https://crbug.com/6381802、解决方法 如果是用命令行启动,启动时加上参数“–no-sandbox”即可; 如果…

程序媛眼中的程序猿原来是这样子的!

2019独角兽企业重金招聘Python工程师标准>>> 一直都想写一篇关于描述程序员的文章,但是一直没能开头,一来因为文笔不好,更主要的原因是貌似对程序员既熟悉又不熟悉,很怕写出来的是以偏概全,给大家造成对程序…