要支撑如此大规模的研发团队和对应业务的发展 , 我们必须建立一套行业领先的移动应用开发平台 , 并且要通过大量的实践和各种极端场景的打磨来不断优化 。 因此我们很早就建立了公司级的移动研发平台 , 代号:MARS , 通过它来统一支撑上层各个业务应用的开发工作 。 如今大家在用的抖音、头条等APP都是基于MARS进行开发和迭代 。
从层次角度 , MARS整体可以分为5个板块:
- 首先是项目管理 , 通过抽象字节内部的研发特点 , 我们建立了统一的项目管理平台用于支撑日常业务迭代管理 , 特别是发版等特殊流程的优化 。
- 其次在应用开发环节 , 这一步效率是很关键的 , 我们针对效率采用低代码的方式来进行进一步的提升 。 比如针对设计人员提供了通过设计直接生成代码的方式 。 对于运营人员、研发人员 , 我们采取了这种可见即可得的方式 , 通过拖拉拽去帮助业务人员能更容易更便捷地构建业务应用 。
- 然后面向传统的编码和研发阶段 , 我们面向APP、前端以及小程序等不同的端都输出了一套完整的端到端的开发平台 。
- 另外在质量管控 , 我们也提供了一站式全链路测试平台 , 基于海量真机真实模拟线上实际场景 , 最大限度检测潜在异常 。
- 最后是全链路监控平台 , 能够覆盖“终端-网络-后台应用-基础环境”的完整应用链路监控 , 帮助研发人员精准定位问题 , 解决问题 。
回到今天分享的主题 , 在整个字节技术发展的背后 , 数据驱动和敏捷开发是两个重要的理念 , 但这两个理念并不是割裂的 , 二者是一体的 。 因为对于数据驱动而言 , 我们需要有更多的实验 , 来找到好的方案进行推广 , 找到不好的点进行改进 。 而敏捷开发就能保证每天都有大量的实验能够进行 。 反过来通过数据驱动 , 我们又能够去找到里面有价值的东西 , 同时也能沉淀更多的数据 , 这样就构建了整个业务高速发展的闭环 。
文章图片
这里也分享一些数据 , 在字节跳动内部 , 我们每天新上的实验有1500个 , 实验总量有80多万个 , 同时运行的实验有1万多个 , 覆盖了内部500多个业务线以及各种各样的场景 。 包括个性化的场景、推送的场景、建站的场景、服务端的场景、广告营销的场景等等 。
而我们底层的技术、平台的技术 , 还有业务层的技术 , 也正是因为这两个理念在不断的积累和迭代 , 最终去推动业务的高速发展 。
其实道理非常简单 , 就像大家说天下武功唯快不破一样 , 道理都是很简单的道理 , 但是要做好这些事情的背后 , 我们需要工具平台和方法的不断积累 , 以及把这些方法形成日常的习惯 , 最终形成业务推动的原动力 。
以上就是我对字节跳动在数据驱动、敏捷开发两方面技术实践的概括与分享 。 希望对大家有所启发 。 里面提到的很多技术 , 基本都在火山引擎上实现了对外产品化 , 也非常期待大家能使用这些产品 , 反馈意见 , 创造更大价值 。
谢谢大家!
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
