Atlassian首席技术官描述了团队清除杂乱并重新发现构建酷炫事物乐趣的三种方法。
译自 AI Is Helping Developers Fall in Love With Coding Again,作者 Rajeev Rajan。
工程组织要想成为世界一流,需要克服无数障碍。一些显而易见的因素包括过时的工具、僵化的流程和过度风险规避的文化。但一个经常被忽视的人为因素是:开发者体验。
如果每天的工作都是苦差事,就无法进行创造性思考,也无法推动项目更上一层楼。而随着工程团队扮演越来越重要的角色,这会拖累整个公司的绩效。用一句老话来概括就是,如果开发者不开心,没有人会开心。
与此同时,生成式 AI 可以帮助你从项目启动到为你的晚宴创建完美的播放列表,无所不能。我用 AI 来了解会议之前最重要的 Confluence 页面和对话线程。它也能提升员工满意度吗?我相信可以。我已经亲眼目睹了这一点。
自从加入 Atlassian 担任 CTO 以来,我和我的领导团队一直致力于创建一个世界一流的工程组织,包括世界一流的开发者体验。两年过去了,我们看到了令人惊叹的结果。我们减少了 50% 的拉取请求周期时间,将开发人员运行的实验数量增加了 10 倍,最重要的是,将开发者满意度提高了 50%。
冒着过度简化的风险,我们通过发现并消除摩擦点来实现这一点,以便开发者能够保持工作流程——而这正是 AI 的真正承诺。正如一篇病毒式帖子所说,AI 应该处理洗衣和洗碗,这样我们就有更多时间享受乐趣。同意!
根据 Atlassian 最近的开发者体验报告,技术债务、文档不足和缺乏深入工作的時間是这种情况下的比喻性洗衣和洗碗。那么,AI 可以做些什么来为专注编码创造更多空间呢?
让我们从技术债务(也称为“我们存在的祸根”)开始。虽然我们没有魔杖可以清理所有债务,但 AI 可以扫描代码库阴暗、尘土飞扬的角落,以揭示冗余代码,例如陈旧的功能标志或糟糕的测试覆盖率。解决了这项任务后,团队就可以着手处理它。
当你的团队偿还技术债务时,它必须使用 Jira 问题或类似工具来组织这项工作。这就是副驾驶或 AI 代理可以发挥重要作用的地方。自从推出 Atlassian Rovo 平台以来,我们的团队内部已经创建了 500 多个自定义代理来帮助改进特定流程。例如,我们的一个团队构建了一个 Backlog Buddy 代理,旨在通过清理和优先处理任务来简化和组织 Jira 项目,确保我们的项目积压工作保持整洁和最新——并节省数小时的繁琐工作。
当然,AI 可以为开发者提供帮助,而不仅仅是积压工作。Atlassian 的 AI 代理 Autodev 可以通过分析 Jira 问题并生成开发者可以在继续之前调整的技术计划来加快速度。一旦他们满意,我们的工程师就可以让 Autodev 继续执行计划——甚至生成代码——并最终提交拉取请求。
下一步是代码审查。我们的 Autoreview 代理可以检查代码更改,提供建议,并帮助开发者在提交最终批准和合并之前修复任何剩余问题。搞定!
接下来是文档。它分散在多个应用程序中,并且通常缺乏直观的命名约定。想象一下,你正在构建一个你从未使用过的服务。你找不到公司 wiki 上的 API 文档。也许它们隐藏在某个网络驱动器的尘土飞扬的角落?你很可能只能等到合适的人上线才能询问。真是扫兴。
现在,想象一下你正在与一个 AI 搜索机器人聊天,它会为你提供最新的文档、所有相关的 Slack 线程以及如果遇到问题可以提供帮助的团队成员的建议。AI 已经改进了搜索功能,你可以通过单个查询找到所有应用程序和文件格式中的文件。开始编码吧! 展望未来,像Atlassian这样的公司和我们的同行正在开发AI搜索增强功能,这些功能将更深入地分析文件,以提供个性化的搜索结果,从而进一步降低认知负荷。OVO Energy工程团队(英国一家主要的能源供应商,也是Atlassian的客户)指出,以前需要几天才能找到的信息,现在使用更智能的搜索系统可以立即获得。由于可以跨应用程序搜索的AI驱动的搜索,像Atlassian Rovo这样的工具正在改进开发人员的工作流程,使他们更高效,更专注于手头任务。毕竟,开发人员不应该需要图书馆学学位才能快速查找信息。
最后,让我们谈谈专注力。开发团队遇到的最嘈杂、最破坏专注力的状况是什么?事故。它们还伴随着大量的“杂务”。
一旦警报响起,您的团队就会放下所有工作,全力投入修复那个严重错误。他们会筛选数百(甚至数千)个警报,试图弄清楚发生了什么,这既费时又容易出错。
如果AI可以对类似的警报进行分组,检测模式并追溯到根本原因呢?好消息是:可以。随着AIOps的出现,一线响应人员现在可以依靠AI在事故期间显示运行手册和相关文章。在Atlassian,我们在Jira中提供了像警报分组这样的AIOps功能,以便AI可以通过识别传入警报中的模式并根据相似性将它们关联起来,帮助消除噪音。这使得识别最高优先级的事故更容易。
在AI处理繁琐工作的同时,您的团队可以专注于实施修复和协调部署。但这并没有结束。利用对日志和警报的分析,开发人员可以利用AI自动启动事故后审查,并建议您的团队可以采取措施来确保事故不再发生。
我在这里讨论的一切都是真实的。没有炒作,没有幻觉。从在问题发生前识别问题,到实施和记录修复,再到在事故期间保持团队的工作流程,AI消除了软件开发中繁琐的方面,使开发人员更快乐,并能更好地为客户创建创新解决方案。
由于近三分之二的开发人员报告称由于糟糕的开发人员体验而离职,因此将创造的快乐带回这项工作是一种精明的领导策略。从团队最烦人的任务——“洗衣和洗碗”——开始,然后在那里应用AI。这听起来可能微不足道,但效率会随着时间的推移像复利一样成倍增长。您可以将越多的杂务卸载到AI,您就越有空间进行创造。