需求管理
-
领导力与追随:优秀技术领导者为什么要学会支持他人
关键在于,把全局视角落实到局部工作中。 这意味着,让团队的技术规划和路线图与整个工程组织的技术战略保持一致,同时审慎判断,什么时候应该偏离既定方向,以满足团队直接利益相关者的现实需求。 这意味着,与团队经理合作,借鉴其他团队在招聘、入职和生产运营方面的成功经验,同时把本团队中行之有效的做法分享出去。…
-
技术质量管理:如何系统提升代码质量与工程质量
当我能够帮助改进一份出发点良好、确实在解决真实需求的提案时,我会感到格外有成就感。 有时,提出方案的团队缺少足够的经验或背景知识,无法制定出真正抓住机会的计划。在这种情况下,一份结构清晰、重点明确的方案,往往既能大幅缩小项目范围,又能最大限度地保留价值,从而更快产生影响。 技术质量管理并不是一次性的…
-
Staff+ 工程师做什么?工作方式与成长路径
有人曾给过我一条非常重要的建议,我也一直把它分享给其他工程师: 很多人误以为,成为 Staff+ 工程师之后,就能掌控自己的工作,所有人都会听你的,并按照你的想法行事。事实恰恰相反。 许多工程师之所以选择 Staff+ 工程师这条职业发展道路,是因为他们认为,工程管理岗位需要参加太多会议,也要花费大…
-
ADR 是什么?什么时候应该编写架构决策记录?
摘要:如果你做出了一项会显著影响工程师开发软件方式的技术决策,就应该写一份架构决策记录。 架构决策记录(Architecture Decision Record,ADR)是一种用于记录重要技术决策的文档。它通常会说明决策背景、可选方案、最终选择,以及采用该方案可能带来的影响和后果。 对于研发团队来说…
-
Pull Request 与持续集成:如何平衡代码审查和快速交付?
Pull Request 已经被许多软件团队广泛采用。有人非常喜欢这种协作方式,也有人怀念更接近持续集成初衷的开发模式——那时,开发者不需要频繁创建长期分支,团队成员会持续把各自的变更合并到主干。 从很多方面看,Pull Request 的确改变了软件开发方式。现代代码托管平台提供了强大的代码审查能…
-
工程领导者如何通过制衡机制实现卓越运营
要成为一名优秀的软件工程领导者,你需要尽可能给予团队自主权,同时又必须对最终结果负责,尤其是在问题发生时。 这正是管理工作中最困难的部分之一:你要为所有结果承担责任,却无法、也不应该直接控制每一项具体工作。 优秀的管理者通常不会通过加强控制来解决这个问题,而是会建立合适的流程、工具和机制,让自己能够…
-
软件开发成本与价值:开发、部署与运行模型
企业应该在开发者工具上投入多少时间和资金?改进开发平台究竟能够创造多大的商业价值?企业该如何量化应用程序 CPU 利用率优化所带来的业务影响?开发阶段与集成阶段又应该分别运行哪些测试? 这些问题都指向同一个核心主题:企业应该如何理解和衡量软件开发成本、软件价值以及研发流程中的资源投入。 尽管商业软件…
-
开发者生产力度量:EngThrive 模型
尽管 SPACE 和 DORA 等框架已经证明,开发者生产力是一个多维度问题,但许多组织仍然难以将这些原则转化为真正能够推动改进的运营系统。对于希望提升研发效能、改善开发者体验、评估 AI 编码工具影响的工程团队来说,仅仅统计代码行数、拉取请求数量或任务数量,已经无法准确回答“开发者是否更高效”这个…
-
价值流工作可见性如何提升交付效率
工作可见性,指的是团队对从业务想法到客户交付的完整工作流程有多清楚,以及团队是否能够掌握这一流程的动态变化,包括产品和功能当前所处的状态。对于希望提升软件交付效率、识别流程瓶颈、改善研发协作的团队来说,价值流中的工作可见性是一项基础能力。 工作可见性是精益产品管理能力中的重要组成部分。与它相关的能力…
-
WIP在制品限制如何提升交付效率
当工作太多、人手不足时,经验不足的管理者往往会让员工同时处理多项任务,希望以此提高效率。但结果通常恰恰相反:任务完成时间变得更长,团队成员也更容易精疲力竭。对于软件研发团队来说,合理设置 WIP 在制品限制,是减少多任务切换、暴露流程瓶颈、提升软件交付效率的重要方法。 更有效的做法是: 制造业长期以…