“敏捷开发”到底是什么意思呢? 在软件开发行业的历史上,人们多次因为非常重大的项目的失败,变得沮丧和厌烦。检查和记录失败的原因,引申出很多的文章,然而改变确很慢。Robert L. Glass在1976写的《The Universal Elixir and Other Computing Projects which Failed》一书,现在仍在出版。许多计算机和管理科学试图找到一种方法,可以引导软件开发,避免隐患。
我们已经从这些结果中得到了语言、管理技术、图表语言等,但是仍然有项目遇到麻烦。 许多人都觉得,在“瀑布”式开发中,项目管理是一个基本的问题。本质上讲,这个开发模式呈现给你一个可……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
“敏捷开发”到底是什么意思呢? 在软件开发行业的历史上,人们多次因为非常重大的项目的失败,变得沮丧和厌烦。检查和记录失败的原因,引申出很多的文章,然而改变确很慢。Robert L. Glass在1976写的《The Universal Elixir and Other Computing Projects which Failed》一书,现在仍在出版。许多计算机和管理科学试图找到一种方法,可以引导软件开发,避免隐患。我们已经从这些结果中得到了语言、管理技术、图表语言等,但是仍然有项目遇到麻烦。
许多人都觉得,在“瀑布”式开发中,项目管理是一个基本的问题。本质上讲,这个开发模式呈现给你一个可以记录所有需求的阶段,软件架构师设计架构的阶段、程序员实施的阶段。需求审核通过以后,产品就可以发布了。
如果这种开发模式曾在以前起作用的话,那么现在一定不管用了。一切都从业务需求、程序语言工具的实践和标准来看,演变的非常迅速。认识到了这一点,各种各样的技术兴起了。我把它们归并为“敏捷”开发。
敏捷思想总览
敏捷软件开发强调的是认识到各级开发中不断变化的需求,需要快速迭代并不断的协作。在agilemanifest.org上的一个“敏捷软件开发宣言”的声明,包含以下应该重视的几点:
- 个体和交互胜过过程和工具
- 可工作的软件胜过面面俱到的文档
- 客户合作胜过合同谈判
- 响应变更胜过遵循计划
其目的是建立团队,能快速适应需求变化中必然发生的事情,确定在不断交付可用的软件上取得的进展。当然,在早期阶段,可用软件可以涉及许多待开发的实体模型组件。此外,敏捷开发团队希望不断的完成目前开发的组件测试,尤其是作为一套自动化测试机制,可以返回一个详细列表,什么是正常工作的,什么不是正常工作的。理想地,不管需求和输入的代码如何改变,这个机制都要确保每个组件按既定的方式运行。
单元测试和断言
在软件代码中,“单元测试”用来核实单元代码正确处理期望的输入,并产生所需的输出。单元测试的组合,可以用来作设计书的基础资料。单元之间的相互依赖性可以用虚拟对象或 方法代替。
一些语言提供了“断言”的声明,这对单元测试非常有用。一个断言定义了逻辑的测试,设计师期望望结果为true,代码继续执行。例如,一个声明可以断言,在指定的代码中,数据库的连接必须存在。
一个典型的断言,除了是可执行文件,还可以成为文档中一段代码的的一部分。在Java中,断言执行在运行时,如果断言失败,将停止程序,并提示一个自定义的错误信息。
上面提及的所有技术随着修改而定,在一些像Java或者C++语言代码中,为了促进快速的测试和开发,有时需要大量的修改。 然而,现代化世界的业务流程操作是一个复杂的相互作用的网络,或许由BPEL语言定义,并转换成XML,格式化消息,列出了测试的困难。
相关推荐
-
“以建应变”:敏捷+DevOps驱动数字化转型
数字化转型由软件驱动。如今在数字化转型中,交付软件实际上处于每一个业务的核心,这一软件趋势也正好与CA Technologies一直强调的应用经济相一致。
-
开发运维一体化(DevOps):协作是成功的保障
如今的IT部门存在一个矛盾:敏捷开发者希望可以快速部署常规软件,而运维团队则优先考虑稳定性。开发和运维不同的成功指标使得每个团队都有自己独立的目标
-
为什么必须使用构建服务器?
技术经理有时质疑构建服务器没用,因为似乎单个开发人员通过在本地机器上构建也能达到相同的结果。但是,构建服务器和开发人员自行构建方案相比有几个重要优势。
-
CA Technologies CEO呼吁企业领导者善用软件的颠覆力量
CA Technologies首席执行官 Mike Gregoire日前在CA World ’15上发表了主题演讲,聚焦业务领域对创新速度的更高要求,呼吁企业将软件作为一项基本组织化原则,以在快速变化的世界里保持优势地位。