you build it, you run it

“you build it, you run it”,构建代码的人,还得负责让代码在在生产环境中跑起来。相比我在之前一篇博文中提到的“eat your dog food”,职责范围又扩大了。开发人员不满了,代码是我写的没错,咱得分工啊,测试负责测试,运维负责部署,我都要参与,还能不能安静的写代码了?

这个观点不是运维或测试人员提出来的,所以不存在推卸责任的问题。这话是Werner Vogels说的,Werner何许人也,Amazon首席CTO。CTO代表着开发方,提出这样的观点,说明技术团队在整个软件价值链交付过程中的重要地位。在我看来,技术团队的职责不仅向后延伸,还得向前扩展,参与到前期需求的分析中。针对目前很多开发团队渐渐沦为设计团队的实现工具,我感到很是心痛。

这句话如果仅从字面上来理解,很容易让人误解,特别是还在采用传统接力棒模式的团队。

价值是衡量工作成果的唯一标准,代码如果没有部署到生产环境中,对用户提供价值。那就是一堆代码而已,没有任何意义。能否快速的部署,也是衡量代码质量的标准。在本地一切正常的代码,部署到正式环境,就会有出现问题,这样的场景大家都不陌生。对于上线系统的问题,开发人员是最清楚的,解决起来也最迅速,却在被排除在过程之外。势必降低价值交付的质量。

别让反馈环断了。

基础设施即代码

Written on October 24, 2019