文章
Compass 和 Jira
使用 Compass 对 Jira 待办事项列表中的技术债务进行优先级排序,并减少技术债务
Katie Silver
Atlassian 首席产品经理
执行摘要
技术债务是由规模和快速交付新功能的必要性造成的,它是软件团队面临的共同挑战。团队承担着快速交付带来的技术债务,但从长远来看,过多的技术债务会导致速度下降。Atlassian Compass 是一个内部开发人员平台 (IDP),它为团队提供了一个集中的软件目录,使开发人员能够更快地找到信息,并了解其软件的运行状况和性能。通过将 Jira 事务与 Compass 中的目录和运行状况衡量标准关联起来,团队可以在确定待办事项列表的优先次序时识别并减少影响大的技术债务,同时以一致的速度交付新功能。
时间
8 分钟阅读。不到 10 分钟即可设置 Compass。
观众
您是软件交付团队中的任何 Jira 用户。开发人员、工程师、产品经理等都能从中受益。
先决条件
- 获取 Compass - 免费试用,几分钟即可开始使用。
- 获取 Jira - 您有一个活动的 Jira 公司管理的项目。
待办事项列表中的技术债务失控了吗?您并不孤单
快速构建、衡量、学习。敏捷软件团队以惊人的速度交付代码。但代价是技术债务,这是一种不可避免的现象,它会增加代码的脆弱性,并拖慢团队的速度。您的团队对技术债务了解多少?可依据哪些洞察信息来了解如何确定待办事项列表的优先次序以减少技术债务,同时继续交付创新的新功能?请继续阅读,了解如何评估 Jira 待办事项列表的优先级并解决团队的技术债务问题,从而加快软件交付速度。
技术债务是指已承诺但未交付给客户的未完成工作、代码中的缺陷或有损敏捷性的工作项目。
技术债务的根源:速度和规模
团队一直面临着快速交付新功能的压力。与此同时,随着产品和团队的发展,复杂性也随之增加,组织会面临服务激增和软件蔓延的问题。所有权变得不明确,知识孤岛形成,查找信息变得更加困难。随着产品复杂性的增加,代码库变得越来越大以及团队继续优先交付新功能,出现缺陷和性能问题的可能性也随之增加。统计数据令人震惊:
77%
of devs say their codebase grew 5x over the past 3 years [1]
15%
percent of a dev’s day that’s actually spent coding [2]
70%
of devs encounter a knowledge silo at least once a week [3]
公司必须快速行动才能保持竞争力,成功的公司将会扩大规模、收入和产品的广度,因此几乎每个组织都必须学会有效管理技术债务。您的团队对技术债务了解多少?
使用 Compass 确定待办事项列表的优先次序,并减少技术债务
在 Atlassian,我们使用 Compass 来维护所有服务、库、API 和其他由我们的团队构建和运行的软件组件的集中目录。有了 Compass,团队可以使用软件目录轻松跟踪服务所有权,连接整个组织的数据,并揭示我们软件的运行状况。这些洞察信息使团队能够有效地确定工作的优先次序、快速行动并保持较高的代码质量标准。现在就利用这些洞察信息解决正确的技术债务问题,从而提高未来的速度。
在本文中,我们将介绍 Atlassian 如何使用我们的开发人员体验平台 Compass 来减少技术债务并确定 Jira 待办事项列表的优先次序。
Compass 帮助团队了解其工作的影响并进行有效规划
Compass 是 Atlassian 的开发人员体验平台,通常也称为内部开发人员平台 (IDP)。Compass 的创建是为了帮助 Atlassian 的微服务之旅,并简化我们的开发人员体验。Compass 可帮助开发人员更快地找到信息和洞察信息,加快生产进程,从而减少他们日常工作中的摩擦:
目录
使用全面的软件组件目录减轻认知负担
运行状况
应用运行状况记分卡,制定和传达政策,改善开发人员体验
可扩展性
关联重要服务详细信息,以节省搜索时间并减少上下文切换
模板
使用预先构建的软件模板,自动实现一致性并加快生产速度
Compass 组件为团队提供了一种对软件进行编目和了解软件的集中方式。组件是存在于代码存储库中的任何东西—服务、库、机器学习模型等。您可以在 Jira 中原生链接这些组件,这样待办事项列表中的事务就可以连接到它们所影响的真实软件部分。这有助于团队了解其工作的影响以及与软件全局的关系。
Atlassian 的平台工程团队依靠 Compass 集中管理信息、标准和实践,帮助我们保持良好的开发人员体验和工程文化。这意味着拥有了自主团队、明确的标准和实践、清晰的服务所有权以及更少的搜索时间。
在几分钟内启动并运行 Compass:设置目录、指标和记分卡以开始使用
只需几个简单的步骤,就可以在几分钟内开始使用 Compass:(1) 导入组件,(2) 指定团队拥有组件,(3) 配置记分卡。
第 1 步:从组件当前所在的任意位置导入组件
对于大多数团队来说,这意味着连接源代码管理 (SCM) 工具,如 Github 或 Bitbucket,或导入与 Jira 项目链接的代码存储库。您也可以从 CSV 文件或这些方法的任意组合中导入组件,以快速建立一个包含开发人员构建和维护的所有内容的综合目录。
只需几分钟,您就可以从组件当前所在的任意导入组件,开始使用 Compass。对于大多数团队来说,这意味着连接源代码管理 (SCM) 工具,如 Github 或 Bitbucket,或导入与 Jira 项目链接的代码存储库。您也可以从 CSV 文件或这些方法的任意组合中导入组件,以快速建立一个包含开发人员构建和维护的所有内容的综合目录。
第 2 步:将团队指定为组件的负责人
一般来说,每个组件都应指定一个团队主要负责其运行。为每个组件添加一个负责人团队,可以强化自主文化,帮助开发人员随时掌握相关信息,即使某个人或主管不在,也能了解每个组件的专家支持范围。Compass 使用 Atlassian Directory 进行团队定义,因此您在 Jira 中使用的任何现有团队都已可用。
有了组件目录,整个组织的开发人员都能快速找到与任何服务或库相关的文档或最近的 CI/CD 活动。这样可以减少搜索信息的时间,消除信息中断(如今可以自助获取信息),从而提高开发人员的工作效率。
连接 SCM 后,Compass 会自动检测部署等事件,并将其汇总到动态订阅源中。Compass 会根据代码存储库中的事件,自动计算现成可用的几个关键指标,如部署频率和构建成功率。您还可以设置 DORA 指标,甚至跟踪自定义数据,如给定组件尚未解决的安全漏洞数量。
第 3 步:配置记分卡以将标准应用于组件
随着目录的填充和指标的输入,是时候开始使用记分卡了。记分卡用于建立标准,并将其应用到整个组织的组件中。记分卡可以为组件指标和字段数据使用任何所需的目标。这有助于确保您的软件组件运行状况良好,团队遵循推荐的实践。Compass 随附了一些现成可用的默认记分卡,其中包含我们建议您跟踪的指标,如组件就绪和 DevOps 运行状况,您还可以创建自己的自定义记分卡。当您看到您的组件有哪些记分卡失效时,就知道需要解决哪些技术债务问题了!
继续上面的例子,让我们用自定义记分卡来解决安全问题,如果在给定时间内存在一个以上开放的安全漏洞,记分卡就会失效。安全漏洞是技术债务的典型例子。首先,创建一个跟踪安全漏洞的指标,并将其配置为从各种组件的正确来源提取。
然后,转到顶部导航栏“运行状况”下的“记分卡”选项卡。点击“创建记分卡”,填写详情,确保添加刚刚创建的安全漏洞指标作为记分卡标准。比方说,如果有一个以上的安全漏洞在给定时间是开放的,记分卡就会失效。对于对软件运行状态至关重要的 1 级服务来说,这是一个不错的选择。将运算符设置为“小于或等于”,并将值设置为 1。将权重设置为 100%,点击“创建”,现在您就有了一种集中的方式来跟踪与安全相关的风险,并为团队提供明确的行动来改善软件的运行状况。
在实践中,您将配置多个记分卡来衡量各种标准,从而全面了解技术债务。
将 Compass 与 Jira 链接起来:识别影响大的技术债务并确定待办事项列表的优先次序
现在,Compass 已配置完成,我们已经具备了开始识别和处理技术债务所需的一切。首先,点击左侧导航栏中的“组件”,选中右上角的下拉字段,确保您的 Jira 项目已选择加入 Compass 组件。如果已选择加入,则应显示“Compass 组件”。
接下来,回到 Compass 检查记分卡。找出记分卡存在风险或已经失效的地方,并根据团队的优先事项,确定要解决的最重要问题。您可以从“运行状况”用户界面查看特定记分卡,了解所有适用组件的衡量情况。您可以按负责人团队进一步筛选,以准确了解自己组件的得分情况,并确定需要您关注的技术债务。
我们再来看一个使用 DevOps 运行状况内置记分卡的例子。您正在查看团队的组件,发现有几个组件未能通过部署频率标准。记分卡的定义是,如果每周的部署次数少于五次,您就会发现有些组件每周只有一次或两次部署。这是一个需要调查的潜在问题。也许是构建流程或部署管道出了问题,也许是您的团队正在为任务的技术难度而苦苦挣扎。不管怎样,这都是值得解决的技术债务问题。
返回待办事项列表,看看是否有现有的事务可以解决部署缓慢的问题。如果没有,您可以直接从 Compass 的“记分卡”页面创建一个新事务。确保这些事务上标记了正确的 Compass 组件,这样就能保持有序,并直接跟踪待办事项列表的影响。
这样,您就可以放心地将这些事务纳入下一个冲刺阶段或添加到看板中。您知道这些事务是高优先级的技术债务,您也知道您所做的工作将影响软件体系结构的性能。在团队解决了该事务后,您可以回到 DevOps 运行状况记分卡,查看随着时间的推移,您是如何提高部署频率的历史记录。这是展示领导力的绝佳可视化视图,也可以在讨论工作的价值时向团队展示。
总结:使用 Compass 确定 Jira 待办事项列表的优先次序,减少技术债务
在现代软件交付中,技术债务是不可避免的,但有效的团队知道如何优先处理影响大的技术债务,以保持高可靠性,同时以一致的速度交付创新的新功能。将 Jira 事务链接到 Compass 中的集中组件目录,可以让团队深入了解工作的影响,只需几个步骤就能在技术债务和功能交付之间做出有效权衡:
- 通过连接 SCM、从 Jira 导入代码存储库或从 CSV 文件导入,在 Compass 中快速设置软件目录
- 从内置记分卡开始,然后利用指标和其他数据源建立自己的记分卡,以便根据组织的标准和实践跟踪软件性能,并识别高优先级的技术债务
- 将 Compass 作为每周例行程序的一部分,将技术债务从“待办事项列表”转移到“已完成”,在持续交付新功能的同时防止事件发生