Doist目标:我们的系统用于管理完全远程团队的工作

我们如何平衡个人的自主性和责任感,以实现公司的宏伟目标

DO系统横幅
插图作者玛格丽达·穆塔

当我加入时多伊斯特2016年,我们是一家40人的完全远程公司,生产和支持两种产品。都没有任何正式的项目管理体系。

如果你有一个想法你想工作,你可以发现开发人员和设计师有动力与你一起工作,把一个团队,并开始。没有一个清晰的过程来将一个想法转化为一个项目,获得所有必要的资源来完成它,也没有执行它的时间表。例如,在我的第一个项目——改造Todoist Onboarding——中,我与我们的Android开发者之一Pedro Santos和产品设计师之一Panos合作。我们花了六个月的时间来运送我们的用户将从中受益的任何东西。

以我们想要的方式执行项目的自由是令人兴奋的,而且它在团队规模相对较小的时候起作用。但随着公司的发展,这种临时的、草根的项目管理方法显然是不可持续的。项目开始时,对预期的内容、需要多长时间、需要什么资源、以及这些资源是否可用于今后的实施没有任何明确的了解。推出新功能尤其困难,因为它需要每个平台的开发人员—iOS、Android、Web和桌面。当项目之间发生冲突时,没有人知道应该优先考虑哪些工作。项目有时拖了几个月或完全停滞。

作为一家公司,我们自然对流程和官僚作风持怀疑态度。我们尽量优先考虑个人的自主性。但我们需要一种更有条理的方式来构建一个人人都能支持的路线图,并确保有足够的资源从头到尾执行该路线图。

在与OKRs短暂的(失败的)调情之后,我们决定从其他几家公司和系统中吸收能引起我们共鸣的元素-大本营,点化,目标体系,敏捷的-把他们改造成我们想要的公司运作方式。2017年,Doist目标(DO)系统诞生。

DO系统背后的原理

DO系统

DO系统的目标是在保持队友的积极性和幸福感的同时,高效地运送高质量的工作。它既是我们价值观的反映,也是我们价值观的应用:

  • 独立性:我们如何使公司围绕同样的高层次优先事项,同时给予个人尽可能多的工作自主权?
  • 沟通:我们如何确保在不妨碍实际完成工作的情况下,围绕工作进行及时、清晰的沟通?
  • 精通:我们如何在系统中为个人的技能学习和成长腾出空间?我们如何确保流程不会妨碍深入、专注的工作?
  • 抱负与平衡:我们如何创建一个系统,使我们能够高效地交付高质量的工作,并让彼此对截止日期负责,而不会导致不必要的压力和倦怠?
  • 冲击:我们如何建立一个系统,使人们所从事的工作与对我们的北极星指标产生最大影响的工作保持一致?

有了DO系统,我们找到了一个系统,使我们能够作为一个公司发展壮大,同时反映和加强我们的价值观。

DOs的工作原理

每个DO代表一个明确定义的项目,我们在一个DO循环中进行工作。DO周期为每四周。

一个更大的项目可能需要最多三个DO周期,然后才能将某些东西发送给用户,尽管每个周期都有一个明确的范围,以跟踪进度并对时间表负责。

每个DO都有一个团队,其中包括从头到尾完成DO所需的所有团队成员,没有其他相互依赖关系。例如Todoist板DO团队包括一名产品设计师、一名Android开发人员、一名iOS开发人员和一名前端开发人员。他们不需要任何外部资源来建立董事会。

对于所有新功能,DO中还添加了支持专家和产品营销人员,以提供反馈、支持beta测试、将产品更改传达给他们的团队,并在我们准备发布时与用户沟通这些更改。

do系统团队

每个DO都有一个班长作为项目经理,确保DO保持在正轨上,有效地做出决策,并将障碍和延迟传达给更广泛的团队,以便进行调整。任何人都可以当班长。

每个DO都有一个专用的扭曲通道与DO和a相关的所有对话Todoist项目跟踪具体任务、被指派者和截止日期。班长在中途点和DO周期结束时向DO协调员报到-简单的“是”我们在正轨上,或者“否”我们不是因为XYZ的原因。除此之外,小队通常可以自由地管理他们认为合适的工作。队员们可以向队外的队友征求意见和反馈,但他们对自己的工作有最终的决定权。

do系统业务模型

深入挖掘:我写了更多关于小队内部如何运作使工作正常进行。

不同工作类型的DOs

随着时间的推移,我们发现不同类型的工作需要不同类型的DOs:

DO类型 这是怎么一回事?
敏捷DOs
  • 从总体目标和一系列要求开始

  • 给定时间预算(例如,3个DO周期)

  • 有很大的自由来决定解决方案

  • 示例:即将到来的视图&电路板视图

  • 改进DOs
  • 计划在更大的发射后3个月

  • 改进以处理用户反馈和/或添加在第一版中不得不推迟的内容
  • 捆绑DOs
  • 将几个较小的改进打包在一起,每个改进需要几天时间才能实现

  • 抛光现有功能

  • 从一个非常明确的变更规范开始

  • 探索性DOs
  • 解决方案不明确的大型开放式项目

  • 目标是设计探索而不是实现

  • 然后将设计拆分并限定到将来的实现中

  • 示例:“新扭曲”
  • 内部DOs
  • 在一个团队中发生的行为,通常只有一个人

  • 包括提高透明度和问责制以及更准确的资源规划
  • 个人DOs
  • 为期一个月的个人项目,以支持学习和专业发展

  • 每人每年可以做一件私人事情
  • 敏捷DOs

    当一个DO需要完全从头开始构建一个新特性时,我们已经开始尝试我们称之为敏捷DOs的方法。这些敏捷团队不是从一个明确定义的规范和每个周期的工作范围开始,而是从产品团队的一个更一般的目标和一组需求开始。然后,他们有一定数量的DO循环的时间预算来决定解决方案并将一些东西发送给用户。具体数字因项目规模而异。

    这种工作方式给了小分队更大的独立性和工作自主权,让小分队用最少的指导方针和要求从头开始(几乎)构建一些东西。小队不仅可以更快地执行任务,而且参与解决问题比简单地执行预先确定的解决方案更有趣。我们用敏捷的DOs来装运即将到来的视图董事会去年,执行的速度和质量都取得了巨大的成绩。

    改进DOs

    当在时间限制下发货时,小队必须做出艰难的决定,决定在第一个版本中包含什么,在我们能够获得真实世界的反馈之后,在以后的版本中可以忽略什么。

    在推出大型功能(如Board)之后,我们初步计划在推出后三个月内进行改进,届时我们可以看到我们的假设是如何成立的,确定用户反馈中的模式,并相应地调整设计或添加新功能。这有助于最初的DO小队做出艰难的权衡,因为他们知道他们将有机会回来获得第二个版本。

    捆绑DOs

    我们偶尔会安排捆绑DOs,其中包括一些较小的改进,每个改进需要几天的时间来实现。Bundle-DOs让我们有机会专注于改进已经存在的特性,而不是从头开始构建新的东西。

    doist系统todoist包

    探索性DOs

    对于那些预期结果不明确的大型开放式项目——例如,重新设计扭曲-我们可能会安排一个探索性的DO,这个周期致力于探索所有的可能性,权衡利弊,并决定一个方向,然后将这个方向划分成未来的DOs来完善和实现设计。

    内部DOs

    DO系统最初是为了确保每个跨职能项目都有跨团队的资源来完成工作而创建的。然而,我们意识到Doist的很多工作是在团队内部进行的,通常只有一个人。为了正确评估可用资源并确保我们在整个公司的工作透明化,内部工作需要公开化。我们现在在DO计划中包括内部DO。

    个人DOs

    同时鼓励每个Doister每年进行一次个人doe。他们和他们的经理一起定义一个他们想承担的个人项目,他们想从项目中学到什么,以及学习对公司的影响。虽然在这段时间内它们可能还有其他正在进行的工作,但它们不会被添加到任何其他DOs中。个人DOs是将我们的精通价值付诸实践的一种方式,帮助人们不间断地投入时间来探索他们的兴趣,并优先考虑他们在各自领域的个人成长。

    do系统Piotr
    每个Doister启动一个捻线提出他们的个人建议,并在整个周期内每周更新。

    一个想法是如何变成一个目标的

    设计、开发和营销团队负责人与团队协商,制定并维护自己的项目路线图。对于要在其上执行的那些项目,需要将它们转换为具有范围和规范的DOs。

    这个范围定义DO将在给定的时间内完成的任务以及完成该任务所需的资源。它与一个特定的做和做循环有关。

    A.规格是对问题和建议解决方案的更详细的概述,小组将记录其工作、探索的解决方案、作出的决定以及未来可能的改进。范围与特定的DO/DO周期相关,而spec是我们公司手册中的活文档,可以在未来的周期中根据需要重新访问和更新。

    do规范
    我们用于创建新特征规格的Dropbox纸张模板。

    有时要做的工作是明确的,把它变成一个做是相当简单的。有时,为了准确确定要完成的工作范围,需要安排一个探索性的任务。

    产品团队(由来自设计、开发和成长的成员组成的跨职能团队)每月召开会议,决定哪些产品应优先考虑,并与所有团队负责人协商,根据可用资源确定时间表。做计划不是一门精确的科学,我们如何决定我们的路线图可能是它自己的文章。对于产品任务,我们优先考虑适合我们自己设定的高级主题的项目(例如下一个是Todoist”, “Todoist基金会“,”Todoist Team“,”New Twist“等)。这些主题的长度从四分之一到一年不等,就像我们的北极星一样,使每个团队保持一致,并与我们对产品的更大愿景保持一致。

    吸取的教训和作出的改变

    在DO系统开始的时候,我们遇到了很多的坎坷。由于错过了最初的最后期限,不得不增加一个或多个新的周期来完成工作,很大一部分监督事务成为“滚动”。

    普遍缺乏可用性、承诺和责任感,也缺乏关于项目状态的及时有效沟通。我们遭受了不同项目的优先顺序冲突,想法被转化为DOs时定义不清,或者跨越不合理的时间长度。此外,还缺乏对波兰语、平台特定功能、通过辅助项目学习以及其他不适合DO系统的重要工作的关注。

    结果,人们压力很大。多年来,为了让DO系统为我们的团队工作,我们做了几项关键的更改:

    将DO周期从6周缩短到4周,以获得更大的关注

    我们一开始有六周的周期类似于大本营,但发现四周的周期迫使我们更加关注完成DO的绝对必要性,并使我们能够更加灵活地进行运输和改进功能。

    小队总是会利用你给他们的全部时间。一支球队的时间越长,他们就越会努力改进这个特点。这并不一定是坏事,但我们更喜欢团队在beta版中提前在用户面前发布一些东西,并经常根据真实世界的数据测试假设和完善解决方案,而不是在没有反馈的情况下孤立地完善一些东西。我们总是可以选择安排另一个周期,如果它是合理的产品明智的。

    每个人最多做一件事,以防止优先级冲突

    一开始,人们常常同时处理多个DOs。它分散了人们的注意力,导致不明确的优先顺序,哪一个应该优先,并最终对团队造成不必要的拖延和压力。

    我们制定了每人最多做一件事的总方针,以确保更大的重点,减少开支语境转换,确保重点明确。这不是一个僵化的政策,而是我们遵循的准则,除非有充分的理由不这样做。

    不再做“帮手”来避免“厨房里厨师太多”

    我们过去常常给小队分配“助手”来提供反馈和输入,但我们发现这样会减慢DOs的速度,并为那些必须及时了解DO的最新情况的助手添加了不必要的上下文切换。现在,我们只在需要特殊任务(例如,对后端团队进行一个小的更改)时才包含一个助手,这只需要几天的工作。

    虽然球队可以在需要时要求反馈,但这不是要求。这增加了球队的独立性和自主权,也避免了DOs的出现陷入基于共识的决策.

    清晰、直截了当的沟通准则,以便及早发现问题

    拒绝服务延迟的主要原因之一是通信问题。当事情不按计划进行时,人们就不会沟通问题所在,也不会调整期望值,以便团队为延迟做好准备。我们介绍了三个简单的指导方针,有助于全面改善沟通。组员需要:

    • 在24小时内回答DM或@提及
    • 将每周的片段发布到每周一的签到中
    • 一旦他们遇到一个他们知道会耽误球队的问题,就立即升起红旗

    他们尊重我们的价值观和我们的远程环境——我们不能也不想期望人们总是在线并立即回复信息——但他们仍然为每个人创建了一个框架,让他们知道在整个DO过程中工作的位置。

    将DOs限制为3个周期或更少,以防止项目疲劳

    我们发现,经过三个周期的努力工作后,项目疲劳开始出现,影响球队的精力、动力和心理健康。我们试图将最大的产品更改限制在三个DO周期内,尽管我们可能会添加第四个DO周期,以避免运送低于标准的工作。

    设计和开发协同工作,防止不必要的延误

    一开始,我们以瀑布式的方式组织DOs,有一个设计周期,然后是一个或两个实现周期。这意味着设计在移交给开发之前主要在筒仓中工作。当实现开始时,我们常常不得不重新设计那些设计没有考虑到的东西。我们的发布速度比较慢,因为开发是在设计完成后才开始进行必要的基础性更改的。

    现在设计和开发工作从手拉手开始。团队组织时间线,这样开发人员就可以在设计迭代实体模型、获得反馈和完成设计的同时,开始进行不需要最终实体模型的开发工作。例如,在实现Todoist即将发布的视图时,DO的一个要求是用户能够无限滚动所有平台上的到期日。当设计师致力于改进UX和UI设计时,开发人员已经在进行修改,以确保无限滚动将是快速和平滑的。

    轮换团队“英雄”来分诊比较被动,不做事

    系统团队2
    每个月英雄们都要做更多的反应性工作,比如bug分类,让小队专注于他们的任务。

    DO系统致力于设置高级别的优先级,但实际上它意味着DO工作的优先级往往高于bug修复和应用程序的较小改进。为了防止代价高昂的上下文切换,让人们能够完全专注于自己的DOs,我们提出了hero系统。

    每做一个循环,每个队的一名队员成为“英雄”。正如我们的前端开发负责人Henning所解释的:

    “[英雄]的主要职责是与支持团队沟通,分类bug,将它们归档到我们的bug追踪器中,并修复最紧急的bug。在这些任务之上,英雄负责较小的平台奇偶校验改进,以确保我们的各种应用程序不会出现太大的差异,以及重构,以改善我们代码库的总体健康状况。”

    每个DO循环,我们都会更新扭曲英雄群体和那个月有这个角色的人在一起。这样,团队的其他成员就可以在相关线程中标记英雄组,并知道将通知正确的人。

    安卓系统英雄
    我们更新英雄扭曲中的组所以每个月正确的人被标记在正确的线程中。

    亨宁写了一篇文章深入了解英雄和相关的“管家日”,如果您有兴趣了解我们如何平衡DOs的深层次工作和更具反应性的工作,例如作为一个团队的bug报告。

    保持灵活性,防止疲劳

    即使有了这些改进,我们仍然有延迟,但他们感觉更容易控制。当一个班长标记一个潜在的延迟时,我们评估情况,决定我们是否需要额外的时间来完成工作,或者我们是否可以在一个单独的DO循环中处理额外的工作。有时我们决定不想优先考虑导致延迟的因素,我们将其添加到未来改进的路线图中。

    估计只是估计。这不是一门精确的科学,有时拖延是不可避免的。不同的是,我们现在有几天的延误,而之前我们有几个月的延误。

    我们的首要任务一直是维护我们团队的精神健康,而不是在任意的截止日期前耗尽精力。例如,当大流行来袭时,我们将周期改为两个六周,而不是三个四周,以给人们更多的呼吸空间。这种灵活性使我们有时间进行调整,我们在2020年的出货量仍然比往年多,质量更高。

    DO系统的下一步是什么?

    我们在Doist采取的任何程序都是为我们的人民服务的,而不是相反。这意味着DO系统的任何方面都不是神圣的。如果在某个时候,它不再服务于我们的团队,我们会很高兴摆脱它或改变它。

    随着我们不断地扩展团队并在更多的DOs上执行,我们希望尽可能地自动化DO系统中的重复任务。同样,我们的重点将始终是完成工作,而不是管理要完成的工作。

    我们还希望通过资源、反馈、回顾等方式对班长进行继续教育和支持,以帮助所有的班长提高领导水平。

    最终,无论做出什么改进,我们的目标始终是为我们的员工创造最佳的环境,为他们创造成功的产品,给予他们更多的自主性、独立性和空间,让他们发挥创造力,有效地执行他们最疯狂的想法。

    想了解更多我们的工作方式吗?从这里开始: