2001年,17个老头子在一块儿一边滑雪,一边讨论工做,制定了《敏捷软件开发宣言》html
从60年代中期开始到20世纪末,软件行业获得了很是迅猛的发展,软件系统的规模和复杂度也愈来愈高,行业广泛面临不知足需求,永远没法交付等一系列严重的问题,史称“软件危机”架构
从长期积累的经验看,早期阶段的时间投入会影响到后期的经济支出,就是需求变化发生的越晚,对软件交付的影响越大,这是瀑布模式存在产生的核心观点,因此瀑布模式主张很是完整的设计,拒绝需求变化工具
拒绝变化带来双向的负面效应,软件需求方得不到本身满意的产品,另外一方面,因为过分强调计划,忽视领导者和管理者在团队中起的做用测试
针对以上两个负面效应,敏捷软件开发宣言中“拥抱变化”和“尊重个体”成为两个核心的观点设计
敏捷软件开发宣言:https://www.scrumcn.com/agile/scrum-knowledge-library/agilevalues.htmlhtm
生命周期 | 需求 | 活动 | 交付 | 流程 |
---|---|---|---|---|
瀑布 | 固定的,需求明确 | 整个项目进行一次 | 一次交付 | 强调文档,用里程碑的方式,严格定义各阶段的输入和输出。不走回头路,若是出现返工,付出的代价巨大 |
敏捷 | 动态的,贴近客户需求 | 重复,直到正确为止 | 频繁小的交付 | 核心是小版本迭代。短、频、快的沟通与反馈机制,减小客户价值创造过程当中的损耗 |
敏捷发展的3个阶段:blog
后面两个阶段的开启受到了如下两个概念的启发:生命周期
2021年美国做家埃里克·莱斯出版了《精益创业》一书中的精简式反馈,以小见大等概念与敏捷软件开发迭代模型有不少类似之处开发
在 SCRUM 中要求每一个迭代都能交付给有用价值的功能(能够工做的软件)文档
埃里克在束中提到的最小可行性产品 MVP 强调用最快,最简明的方式创建一个可用的产品原型,经过这个最简单的产品原型来测试产品是否符合市场预期,并经过不断的快速迭代来修正产品,最终适应市场需求
定义 MVP 的关键在于,须要抓住用户的核心完整需求,在以后的迭代中不断地将核心完整需求变的好用。要求是那些必不可少的且最后是完整可用的
软件开发终究是为商业活动服务的,只有在商业活动也是敏捷的状况下,敏捷软件开发才能发挥最大的威力。惋惜的是精益创业的思想产生比软件敏捷开发思惟晚了整整11年
国内 DevOps 专家乔梁在2019年出版了《持续交付2.0:业务引领的DevOps精要》中提出双环模型强调“只有业务方可以以“精益”方式思考,持续交付才能更显威力”,由此软件开发活动与商业活动有了完整统一的方法论模型
监测环节为精益创业中产品的验证提供数据支持,经过数据来反馈产品是否符合用户预期
变化来自于哪里?
从2001年的敏捷宣言核心观点来看“拥抱变化”,多数的变化能够认为是需求
需求的变化有两种:
本做品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
欢迎转载、使用、从新发布,但务必保留文章署名 郑子铭 (包含连接: http://www.cnblogs.com/MingsonZheng/ ),不得用于商业目的,基于本文修改后的做品务必以相同的许可发布。
若有任何疑问,请与我联系 (MingsonZheng@outlook.com) 。