guo
-
持续交付是什么:CI/CD实践指南
持续交付是指团队能够快速、安全、可持续地按需发布各类变更。对于希望提升 CI/CD 能力、优化软件交付流程、降低发布风险的团队来说,持续交付不是简单地“更频繁发布”,而是让软件始终保持可部署状态。实践持续交付的团队,可以随时以低风险方式发布软件,并对生产环境进行变更,包括在正常工作时间内完成发布,而…
-
小批量工作如何提升AI软件交付
在任何需要反馈循环,或者希望快速从决策中学习的领域,小批量工作都是一项至关重要的原则。尤其在 AI 软件开发和持续交付场景中,小批量工作能够让团队更快验证假设,判断某项改进是否可能达到预期效果;如果效果不佳,也能及时调整方向,或重新审视最初的假设。 虽然本文中的原则适用于组织转型、流程改进等各类变革…
-
组织转型怎么做:原则与陷阱
理解为什么要确保员工拥有完成工作所需的工具和资源,并充分发挥他们的技能与能力。 每个组织都在持续变化。因此,在推动组织转型、技术转型或组织变革管理时,我们需要不断追问几个问题: 这种变化正在朝哪个方向发生? 我们正在努力实现哪些系统层面的目标? 组织是否越来越善于发现客户需求、服务客户,并借此实现自…
-
VSM价值流图如何改进软件交付
用价值流图可视化软件交付流程 DORA 的研究反复表明,软件交付与运营绩效是预测组织成功的重要指标。这种相关性不仅适用于商业目标,也适用于非商业目标。同时,高绩效的软件交付能力还会对员工福祉产生积极影响,例如降低职业倦怠风险、提升生产力。 能力决定绩效,绩效影响结果。 DORA 强调,高效领导力、良…
-
源代码分支管理模式指南
现代源代码控制系统提供了强大的能力,让创建源代码分支变得非常容易。但分支最终必须被合并,许多团队也因此花费大量时间处理错综复杂的分支关系。对于希望改进 Git 分支策略、持续集成、主干开发、特性分支和发布分支管理方式的软件研发团队来说,理解不同分支模式的适用场景至关重要。 本文介绍几种常见的源代码分…
-
管理工程师:给问题,而不是方案
在研发管理和工程团队协作中,一个常见误区是:管理者太早给出解决方案,却没有充分说明问题本身。《星际迷航:深空九号》第四季第七集《星舰坠落》中,有一个场景很好地说明了管理工程师的一条重要原则:给工程师问题,而不是直接给方案。 在这个场景里,沃夫用典型的克林贡式强硬语气向工程团队下达命令:“你,去做这个…
-
高阶工程师(Staff Engineer)的四种角色原型
大多数职业发展通道,都会为公司内部的高阶工程师设定一套统一的职责期望。清晰的角色预期当然对每个人都有帮助,但职业发展通道更适合描述一类群体,而不是描述具体个人。 对高阶工程师来说尤其如此。很多公司的职业发展通道,往往会把多种不同的角色压缩在同一个头衔之下,从而掩盖这些角色之间的差异。对于想了解 St…
-
高阶工程师(Staff Engineer)到底做什么?
高阶工程师,也常被称为 Staff Engineer 或 Staff-plus Engineer,其角色很大程度上取决于团队的需求,以及工程师自身的优势。根据我的经验,高阶工程师的职责会随着时间不断变化。不过,通常来说,他们的主要工作是参与对公司具有战略价值的项目,推动关键技术设计,并提升整个团队的…
-
DevEx 开发者体验:如何影响开发者生产力与研发效能?
此刻,在某个地方,一位软件开发者正从项目待办列表中打开一张任务卡,期待着开始处理一项新工作。就在他准备阅读任务描述时,笔记本电脑突然被团队生产错误追踪系统弹出的警报淹没,专注被迫中断。 好不容易回到手头任务后,他开始仔细阅读任务卡中的需求说明,却发现任务缺少必要上下文,描述也不够清晰。于是,他发起求…
-
DevEx 开发者体验:真正驱动开发者生产力的因素是什么?
工程领导者长期以来一直致力于提升开发者生产力和研发效能,但如何衡量甚至如何定义开发者生产力,始终是一个难题。过去常见的方法,例如衡量开发者的产出,或衡量完成任务所需的时间,都没有充分考虑开发者日常工作中复杂而多样的活动。因此,问题依然存在:如果想提升开发者生产力,领导者到底应该衡量什么,又应该关注什…