百科
-
机器学习持续交付(CD4ML):自动化机器学习应用的端到端生命周期
机器学习持续交付(Continuous Delivery for Machine Learning,简称 CD4ML)旨在将持续交付的原则和实践应用到机器学习应用中,帮助团队自动化机器学习应用从数据准备、模型训练、测试验证到部署监控的端到端生命周期。 机器学习应用正在行业中变得越来越普遍。但与传统软…
-
黄金路径是什么:如何解决软件生态系统碎片化问题
“香料带来的幻象向他展示了无数个人类走向灭绝的未来,也展示了人类得以幸存的唯一未来。他将这个未来命名为‘黄金之路’,并决心让它成为现实。” 以上引文来自海外某百科社区对弗兰克·赫伯特 1976 年科幻小说《沙丘之子》的简介。这段话非常贴切,以至于我几乎可以确定,海外某音频科技公司的团队中,至少有一位…
-
技术迁移失败,未必是因为人手不足:如何诊断架构迁移问题
最近,我和一位朋友聊天。他提到,他们公司遇到了一个很常见的开发者生产力瓶颈:公司强制要求团队从单体架构和单体代码库迁移出去,但技术迁移进展非常缓慢。 为了加快迁移,负责基础设施的团队决定停止维护旧的单体架构,转而专注于新的服务化环境。两年后,工程师们开始陆续离职,只为避免在迁移过程中同时承受两套系统…
-
持续集成(CI)是什么?核心实践、优势与适用场景
持续集成(Continuous Integration,简称 CI)是一种软件开发实践:团队成员频繁地将代码变更集成到共享主线,并通过自动化构建和测试尽早发现问题。它的核心价值在于缩短反馈周期、降低交付延期风险、减少集成过程中的浪费,并帮助团队长期维护健康的代码库。 本文将从实际开发流程出发,介绍持…
-
制定工程战略的五个步骤:探索、诊断、完善、方针与运营
你经常会看到一些杂乱无章的想法被贴上“战略”的标签。即使这些文档内容很多,也往往很难读懂。这也是为什么很多工程师会说,他们所在的公司没有清晰战略。 不过,根据我的经验,所有公司其实都在遵循某种战略,只是这种战略未必被明确写成文档。对于工程管理者和技术负责人来说,真正的挑战不是“有没有战略”,而是如何…
-
人工智能辅助软件开发的未来:AI的速度,人类的判断力
最近举行的一项国际大学生程序设计竞赛,传递出一个令人难以忽视的信号:在某些编程任务上,人工智能已经展现出超越人类程序员的能力。尽管一些吸引眼球的标题可能夸大了这一结果的现实意义,但这场技术实力的展示依然令人惊叹。不过,对于绝大多数企业管理者而言,现在远不是裁撤开发团队、让人工智能全面接管软件开发的时…
-
工程战略中的诊断:如何做好战略诊断
完成战略探索之后,下一步就是进行战略诊断。所谓战略诊断,是指理解这项工程战略必须面对的限制条件、现实约束和关键挑战。尤其重要的是,在充分理解问题的细节、背景和边界之前,不要急着寻找解决方案。 如果你很想跳过诊断阶段,直接进入方案设计,那么你也许需要先意识到一点:我见过的所有失败战略,几乎都源于诊断过…
-
如何制定工程战略?解决工程战略缺失的实用方法
在我的职业生涯中,我经常听到同事、团队成员,甚至素不相识的网友抱怨同一个问题: “我们公司没有工程战略。” 所谓工程战略,并不是一句宏大的口号,而是帮助工程组织在技术决策、架构演进、研发效能和资源投入上形成一致判断的方法。我认为,缺少战略并不是工程部门独有的问题。产品、设计和业务团队中,也经常有人抱…
-
如何衡量一个工程组织?工程指标、研发效能与团队绩效度量方法
过去几年里,我一直在组织工程高管学习小组。我们讨论最多的话题,是职业发展:下一步该怎么走?第二常被讨论的话题,则是如何衡量工程团队和工程组织的绩效。 典型问题是这样的: “我的 CEO 要求我每月汇报工程指标,我应该在报告里放哪些内容?” 任何关于工程组织度量方式的讨论,都会很快引发激烈分歧。 “什…
-
技术债务如何治理?迁移是解决技术债务的唯一可规模化方案
我参与过的最有趣的系统迁移项目之一,是某海外出行平台从基于配置管理工具的服务部署模式,迁移到完全自助式的部署模型。在新的模型下,公司里的任何工程师只需点击几下,就能启动一个新服务。 他们不仅可以这样做,而且确实每天都会这样做:工程师可以在服务尚未完全完成之前,就先部署多个新服务。甚至每位新入职的工程…