美文网首页
持续交付-第一章 软件交付的问题

持续交付-第一章 软件交付的问题

作者: LYF闲闲闲闲 | 来源:发表于2017-06-06 10:18 被阅读33次

    前言

    • 书名来源于敏捷宣言的第一原则:“我们的首要任务是尽早持续交付有价值的软件并让客户满意”。
    • 本书的一个主要目标是改善负责软件交付相关人员之间的协作,尤其是开发人员,测试人员,系统和数据库管理人员以及经理。
    • 本书的中心模式是流水线模式,本质上来说就是指一个应用程序的构建、部署、测试到发布这整个过程的自动化实现

    常见的发布反模式

    首先我们要知道为什么会出现反模式,这是由于软件发布时需要很多的手工操作,很容易出错。为了可靠的发布,避免一些错误。
    下面是一些与可靠发布过程相对应的常见反模式

    • 手工部署软件

    无论规模大小,部署的过程比较复杂,而且所需要的步骤时独立的原子操作,由团队或者个人执行,但很容易发生人为错误。而且还有部署顺序的不同导致的差异性。

    • 开发完成之后才向类生产环境部署

    软件第一次被部署到类生产环境时,是大部分工作完成时,或者开发团队认为“该软件开发完成了”。
    这样做会出现很多的问题,由于部署工作的很多步骤根本没有在试运行环境上测试过,所以经常遇到问题。
    对策:将测试,部署和发布也纳入到开发过程中。使用大量的持续集成和持续部署是我们所描述的方法的基石。

    • 生产环境的手工配置管理

    由专门的运维团队管理生产环境的配置,如果需要修改一些东西,就要登陆到生产服务器手工修改。

    如何实现目标

    作为软件从业者,目标是尽快的向用户交付有用的可工作的软件。
    即要找到一种可以高效、快速、可靠的方式交付高质量且有价值的软件的方法。为了实现这些目标,我们需要频繁且自动化的发布软件。

    • 对于频繁且自动化的发布,反馈很重要,下面关于反馈的三个标准。
      • 每次修改都应该触发反馈流程
      • 必须尽快接收反馈
      • 交付团队必须接收反馈并作出反映

    收效

    前面的方法,最主要的是创建了一个发布流程(可靠的,可重复的,可预见的,缩短发布周期)

    • 授权团队
      使测试人员,运维人员,和支持服务的人员做到自服务,团队能够更好的进行工作,协作更有效。
    • 减少错误
      指的是由不良好的配置管理引入到生产环境的错误
    • 缓解压力
    • 部署的灵活性

    候选发布版本

    有两种存在差异的理解

    • 代码的任何一次修改都有被发布出去的可能
    • 维基百科
      指可能成為最終产品的候选版本,如果未出現問題則可释出成为正式版本。在此階段的产品通常包含所有功能、或接近完整,亦不會出現严重问题。

    软件交付的原则

    • 为软件发布创建一个重复且可靠的过程
      • 几乎将所有的事情自动化
      • 把所有的东西纳入版本控制
    • 提前并频繁的做让你感到痛苦的事
    • 内建质量
    • “DONE” 意味着 “已发布”
    • 交付过程每个成员的责任
    • 持续改进

    问题

    • 既然手工部署即复杂又费时费力,又有自动化的存在,那么手工方式到底有没有被替代。
    • 怎样进行的部署?
    • 配置管理(第二章)的内容不是很清晰,还有就是和我们平时的配置的内容有关系吗?配置管理是配置信息的管理?
    • 候选发布版本的准确理解是哪一种?

    总结

    • 对软件交付的过程有了一个大致的了解,对于开发的过程有了一个大致的认识,与我们自己开发还是有很大的区别的
    • 要尽可能的自动化,会减少很多的麻烦和不必要的错误
    • 把所有的东西纳入版本控制中
    • 团队合作在开发中十分重要,从开始要保证由各个成员参与到发布中,大家可以有机会频繁且有规律的进行交流。那么这个频繁的交流是怎样来确定的。

    相关文章

      网友评论

          本文标题:持续交付-第一章 软件交付的问题

          本文链接:https://www.haomeiwen.com/subject/skqifxtx.html