文档结构  
翻译进度:已翻译     翻译赏金:0 元 (?)    ¥ 我要打赏

虽然大多数应用程序开发人员视敏捷作为主流的开发方法,数据库开发人员,尤其是开发关系型数据库的程序员却较难接受敏捷。因为部署变更时需要理解并遵守数据库状态。因此,数据库专业人员不得不依赖手动流程,不去将开发规模扩大到敏捷核心的快速开发周期。

直到数据库开发过程,特别是关系型数据库(Oracle,SQL Server, DB2)的开发规模扩大到一个相似的水准,他们仍将是另一个敏捷组织的瓶颈。

第 1 段(可获 1.23 积分)

缓解这种瓶颈,需要一个自动化的管道,数据库开发团队可以解决风险,确保质量,在整体上缩短组织的开发周期。本文描述了敏捷数据库开发的五个关键要素。

版本控制

版本控制在数据库开发项目中起到了不同的作用,但仍是追踪数据库定义语言(DDL)每一步变动的极好方式。随着时间的推移,追踪存储函数和过程的版本,让程序员更容易在各版本间评估、比较它们,并诊断出现在产品之路上的问题。

第 2 段(可获 1.23 积分)

自动化测试

即使开发团队和QA团队非常全面的记住所有他们需要测试的,在代码变更需要check-in的时候,手工测试仍旧比自动化测试要慢得多。自动化测试提供了一个基础安全网络,加速了数据库开发。因为它几乎能提供立即保证,新的代码变化不会破坏早期的开发工作。不仅如此,在代码check-in的时候,通过自动化执行测试用例,程序员会立即收到中断反馈,并且能快速的在最恰当位置进行修复,这也是修复缺陷成本最低的时候。

第 3 段(可获 1.33 积分)

静态代码分析

程序员会给同行审视代码,以确保他们没有遗失一些什么,或引入了安全漏洞、犯了逻辑错误,无意中减缓了产品开发进度。静态代码分析软件明显加速整个过程,并通过阅读代码、定义相同的开发模式来确保遵循公司标准。

数据库开发人员,也可以从单元测试后的静态代码分析中获得增益,这甚至超过了应用程序开发人员的同行。由于极端的压力以及数据库开发周期最后期限不断收紧,许多团队匆忙的进行代码审阅,或者完全跳过这个步骤。因此,在数据库开发级别上,可以自动化此流程,减少团队花费的时间,并增加代码审阅的一致性。自动化代码审查可以检查写入的规则,帮助执行公司标准,提高产品的质量、性能、可维护性、安全性、流程化。

第 4 段(可获 1.9 积分)

部署阶段

为了降低数据丢失和其他故障的风险,数据库开发路径通常包括DBA会在部署阶段停止,以便在其投入生产环境之前审查代码更改。虽然自动化DBA停止不是一个好主意,自动创建ALTER脚本以进行部署是缩短开发周期的有价值的步骤。 DBA可以使用自动化工具收集已通过回归测试和静态代码分析的所有队列变化管理部署路径,将它们与生产环境进行比较并生成脚本以提交它们。这不仅可以提高DBA的效率和缩短开发周期,而且还可以确保所有项目的更改应用到生产环境中。自动化随着组织远离手动流程和自动化工具,数据库开发周期将开始缩减,所有团队都可以开始实现敏捷的承诺。以零碎的方式使用软件工具都比纯手动过程快,但它只提供增量的改进。敏捷需要团队工作方式的根本性转变。团队必须寻找一种方法即在不需要团队的进一步交互下,创建完全自动化的管道用于提交更改回归测试,审查和分段部署,而不是让人员管理流程的每个步骤。 DBA可以放心的是,代码更改符合质量标准并遵守公司策略,管理人员可以看到代码将满足项目要求并在生产环境中正常运行。

第 5 段(可获 3.25 积分)

应用程序开发人员长期以来利用敏捷开发的做法,以缩短他们的开发周期并减少代码变更的相关风险。另一方面,数据库开发还是依赖于传统的手动过程,以减少在生产环境中数据库中数据丢失的风险。

由此导致的瓶颈,特别是在关系型数据库环境中,始终将组织作为一个实现敏捷全部承诺的整体:针对市场变化立刻发布软件产品的能力。

对应用软件开发人员,数据库开发人员以及数据库管理人员(DBAs)来说,自动化是同步应用软件团队和数据库团队开发周期的关键。

第 6 段(可获 1.3 积分)

文章评论