欢迎来到逍遥右脑记忆网-免费提供各种记忆力训练学习方法!

《持续交付》读书心得

编辑: 路逍遥 关键词: 读书笔记大全 来源: 逍遥右脑记忆


目前市面上软件开发类的书籍,大多聚焦于软件开发过程,例如如何进行需求分析,如何利用软件工程模型进行开发等,交付虽然也包含在软件开发过程中,但大多数时候都不会成为关注的主题。然而,我们却不止一次遇到过这样的情况,当明天需要给客户演示新功能的时候,我们突然发现,我们的软件运行不起来了,这里面有很多可能性,例如功能其实并没有完成,但我们是否听到很多次这样的声音,“在我本机上是没有问题的啊,为什么部署到服务器上就不行呢。”,我们的交付能力如此脆弱,如此不稳定。车仔面
  《持续交付》针对交付环节,系统地介绍了什么才是交付的最佳实践,以及如何实现这样的最佳实践。《持续交付》围绕着构建、测试和部署自动化的核心,提出了“部署流水线”这样一个模型。提供了从配置管理、源代码控制、发布计划、构建、测试、部署和发布等一整套解决方案,阐明了持续交付的意义、原则,以及如何在项目中使用这些实践。棉花糖
  持续交付的核心便是在构建、测试和部署自动化的基础上,不断的进行交付或者是交付预演,让交付的流程得到多次的验证,以保证在真正发布的时候,交付流程是被验证过的,从而减小发布的风险。目前的部署发布都是手工进行,这样会带来三个方面的问题:第一,发布依赖于个人,如果是一个比较复杂的部署发布流程,项目就会依赖于一个部署专家,而这个部署的岗位需要调整的话,需要付出很大的学习成本。如果软件发布时,这个部署专家正在休假,这将会给软件的部署和发布带来很大的风险。第二,手工部署有可能引入很多人为的错误,例如,部署人员如果在部署发布的时候,误写了一个环境配置,将导致部署发布的失败,而这类失败将很难追溯和发现,你有可能花了很多时间去查找代码上的问题,到头来结果只是配置信息误写了一个数字。第三,手工部署不具有可重复性,这将导致部署时间不可估算,并且大部分情况下,虽然已经为部署发布做了计划并且留出了部署时间,但实际部署的时候还是会大大超出计划的时间。
  基于以上的分析,要实现持续交付,关键在于使构建、测试和部署的流程自动化,让这个流程依赖于既定的规则而不是某一个人。这样的规则可以是一个自动化脚本,也可以是强大的自动化管理工具。在这其中,构建、测试和部署三个不同的阶段都有各自自动化的最佳实践。其中相对比较重点的是测试阶段的自动化,测试的意义在于与保证交付质量,而测试自动化则是让持续交付产生价值的关键环节,毕竟,就算我们的项目拥有持续部署的能力,而我们忽略测试的结果,让项目一直处于构建或者集成失败的状态,这样,持续交付的流程就没有给我们的项目带来任何意义,而通常一个项目持续交付流程的搭建并不是一个低廉的成本。同时测试的自动化也是一个难点,这里面包括了单元测试的自动化,验收测试的自动化,以及后续一些自动化并不能带来很好效果的测试,例如探索性测试,易用性测试等。这其中,要实践一个很好的验收测试自动化将是一件艰巨而复杂的任务。糖不甩
  由此可见,虽然我们知道持续交付给软件开发所带来的价值,他能减小我们的交付风险,很大程度的提高交付质量,但它相对比较高的门槛和成本使得大部分项目对持续交付敬而远之,但正如说中所说,这虽然是一个痛苦的过程,也许我们并不能一次都做好所有的事情,但我们可以找出我们的瓶颈,一步一步以增量的方式来构建我们的持续交付,哪怕我们只写了一个构建脚本,让在这之后的代码到二进制文件的转化可以通过这个脚本完成,那也是一个不小的进步。到最后我们不停积累,也许有一天你会发现,也只是一个交付方式的改变,却让我们的软件开发过程有了一个质的飞跃。
  交付是一门艺术。
本文来自:逍遥右脑记忆 http://www.jiyifa.net/dushubiji/817438.html

相关阅读:萧红《生死场》读书笔记
《安全意识》读书笔记200字
读书笔记之某些电影站指数为何能过万?
学生名家面对面分享读书心得
海底两万里读书笔记300字大全