1 数据管理
如何让数据库的变更也让代码处于可控状态,能随时回滚,平稳更新?管理数据所用的基本原则是一样的。关键是要把创建和迁移数据库全部变成自动化过程。这个过程是部署流程的一个组成部分,确保它的可重复性和可靠性。无论是将应用程序部署到开发环境或包含最小数据集的验收测试环境,还是作为部署的一部分将生产数据集迁移到生产环境中都要使用相同的过程。
2 组件和依赖管理
怎么做到应用程序处于一直可发布状态,团队又能高效开发的,开发生产顺畅无阻碍?原则就是确保团队尽快得到代码修改后所产生的影响。达到这一目标的一种策略就是确保将每次修改都分解成小且增量式的步骤,并小步提交。还有一种策略是将应用程序分解成多个组件。
3 主干开发的好处
主干开发就是开发团队成员几乎把代码提交到主干分支,使用其他分支的情况极少。主干开发的好处:确保所有的代码被持续集成;确保开发人员及时获得他人的修改;避免项目后期的“合并地狱”和“集成地狱”。
4 持续交付管理
持续交付需要组织能上行下效,依赖于交付过程中所涉及的每个人的协作,来自行政管理层的支持,以及基层人员的改进意愿。一旦改革成功,意味着可以更快交付有价值、高质量的软件,从而得到更高的盈利能力和较低的风险。