作者:陈勇

出处:blog.csdn.net/cheny_com

自相似性是指一个事物的局部与其更大的局部乃至整体具有相似性。

从大的方面看,敏捷开发具有重视客户价值,提倡持续交付等思想。但一般而言,Product Owner常常具备相当好的客户价值意识,而一线开发人员则比较关注技术本身,所以一旦仅仅停留在思想层面,在实际工作的时候就会发现有所背离。因此应该从自相似性的眼光看待敏捷开发的整体思想与局部实践,从而做到年年月月日日事事均符合敏捷开发的思想。

本文只从“持续交付”这一个敏捷开发思想来分析敏捷开发的自相似性。

“持续交付?是不是就是每个冲刺结束都要有一个可运行的版本?”是,也不是。

冲刺末尾的持续交付

敏捷最大的特色之一,就是阶段性地交付可运行的软件,而不是一堆暂时无法使用的文档。按照精益生产的思想,文档只是一种“中间产物”,不但不容易写好,还很难评审;即使在初期看到了完美的需求文档,也很难保证最后能看到完美的软件。因此敏捷开发决定只要可能(不是绝对的),就尽量绕开这个中间产物,而用可运行的软件来表明软件的进度和质量。

在冲刺的末尾,Product Owner和干系人们不是看着文档,而是看着一个可运行的软件进行评审,是这里持续交付的核心目的。为了方便评审,被交付的往往是一组相关的故事群,而不是“当前最重要的需求”。

冲刺内的持续交付

冲刺期内看平静,大家忙忙碌碌只待最后交付,其实不然。如果每个迭代都始自“需求分析”而终于“系统测试”,敏捷开发就变成迭代开发了。然而即使每个用户故事都独立开发,仍可能发生一堆故事都在“开发中”,但因为这些故事无法独立成章因而无法形成可运行软件的状态。为了防止这种情况,好故事一般都独立、可测试、完整地交付某个客户价值,因而每当完成一个故事,都能形成一个临时的可运行软件。

若能遵循MoSCoW方法(另有博文详述),则可以保证即使冲刺结束时无法完成所有Sprint Backlog项,仍能向Product Owner交付一个可用的软件。

“日创建”的持续交付

“日创建(Daily Build)”因能在每天结束时都能交付软件而闻名(这是微软在开发Windows时的创举),但对于小型软件开发,已经能做到每人每次提交代码在10分钟后就能看到结果的能力。1000人在开发了1000天的软件里边定位1,000,000个缺陷是不可思议的(平均1人1天1个缺陷),但每人在自己每天的代码中定位一个缺陷却是很现实的,前提是你能找到它,日创建就是这个逻辑。

一般常常提到的持续集成+自动化测试指的就是这个层面的持续交付活动,其目标是在提交代码后最短的时间内形成可运行软件,并确认是否存在问题。

版本间的持续交付

很多软件看似越来越强大,但市场反响却并不好(比如很多人安装的“免费”Office都是2003的,也就是7年间完全没有和MS做生意的打算),原因就在于这些软件并没有解决好一个问题:“下个版本到底面向哪个市场的哪类客户?他们为什么购买它?”这时软件很容易跟随公司领导的思绪梦游,或者被一两个大客户牵着鼻子走,或盲目地试图覆盖竞争对手的所有功能而迷失本性。

还是之前那句话:按照商业步调计划版本内容,也就是每个版本出来后,都要满足某些需求、获取某些客户、打败某些对手、取代某些产品……如果能持续找到这些“某些”是谁,那么下一个版本就能成功,如果找不到,兴许产品已经到达退出市场的阶段。如果不能持续找到市场和客户,怎样持续交付可运行的软件都是一件没有意义的事情。

点击下载免费的敏捷开发教材:《火星人敏捷开发手册》

转载于:https://www.cnblogs.com/JPAORM/archive/2011/04/24/2510516.html

从持续交付看敏捷开发的自相似性(敏捷开发的心跳)相关推荐

  1. 测试开发必会:正确理解持续集成和持续交付 CI/CD

    正确理解并掌握持续集成和持续交付(CI/CD)是当下测试和质量保障相关同学的必备技能.本文作者为霍格沃兹测试学院特邀嘉宾,资深技术专家蒋刚毅,原文首发 TesterHome 社区,标题为<持续交 ...

  2. 十诫诗串词_持续交付的十诫

    十诫诗串词 每个人都希望实现持续交付. 毕竟,好处太大了,不容忽视. 提高交付速度,提高质量,降低成本,使人们有更多时间来投入带来价值的事情,等等. 对于任何决策者而言,这些改进就像音乐. 特别是如果 ...

  3. 谈谈企业的持续交付流水线设计

    有一天,业务人员急冲冲的跑过来,对你说生产上出现了一个严重BUG,必须要尽快修复.你听完问题描述后,胸有成竹坐定并迅速定位问题,随后改动了一行代码并提交,系统开始自动编译.各个环境自动化测试.发布上线 ...

  4. 持续交付:价值主张​

    过去十年中,一个划时代的改变就是:基于Web的业务模式对传统企业业务模式的冲击.亚马逊就是历史最长,也最明显的例子之一,而越来越多的公司(从航空到金融服务)开始依赖软件打造其竞争优势了. ​依靠软件来 ...

  5. 敏捷文章总索引及敏捷开发培训课程扩展阅读

    以下内容及链接,是两天培训课程<Scrum敏捷开发>的扩展阅读部分,正好可将所有博文索引起来. 所谓扩展阅读,就是对于那些限于课堂时间而无法深入展开的知识点,讲师会编写额外的资料以供参考. ...

  6. 获得Jolt 大奖的《持续交付》作者David Farley又一新作《现代软件工程》

    戴维 ·法利 (David Farley) 是持续交付的先驱.思想领袖, 也是持续交付. DevOps. 测试驱动开发和软件开发领域的专家. 从现代计算的早期开始,戴维曾担任过程序员.软件工程师.系统 ...

  7. 参考行标对云效以及LinKE的“持续交付”及“敏捷开发管理”能力打了下分,大家看肿么样?

    中国信息通信研究院发布(已在中国通信标准化协会立项)的行标,其中"研发运营一体化(DevOps)能力成熟度模型"中对"持续交付""敏捷开发管理&quo ...

  8. 【华为敏捷/DevOps实践】8. 持续交付,持续部署,傻傻分不清楚

    文:姚冬(华为云DevCloud首席技术布道师,资深DevOps与精益/敏捷专家,金融解决方案技术Leader,中国DevOpsDays社区核心组织者) 前言 "持续交付与持续部署,到底谁应 ...

  9. 从优先级排序看敏捷开发的自相似性

    作者:陈勇 出处:blog.csdn.net/cheny_com 自相似性是指一个事物的局部与其更大的局部乃至整体具有相似性. 从大的方面看,敏捷开发具有重视客户价值,提倡持续交付等思想.但一般而言, ...

最新文章

  1. C语言基础语法总结(一)
  2. 前端学习(2946):vue-cli使用
  3. linux shell跳板机,用shell开发跳板机
  4. Aliyun Serverless VSCode Extension 上架并开源
  5. 容易被忽略的label标签
  6. Week04《Java程序设计》第四周学习总结
  7. 马超计算机博士,湖南大学设计院马超民等博士生团队发明“手势”控制汽车
  8. 去掉CSDN blog 多余的版权申明部分[转贴]
  9. android 注解创建对象,Android ORM 框架:GreenDao 使用详解
  10. html兼容ie低版本,jquery不兼容低版本ie浏览器怎么办?
  11. 【Alist + Teracloud】WebDAV免费畅游互联网个人方案总结,一些支持WebDAV的应用推荐
  12. echarts 自定义legend 初始化为灰色
  13. VB.Net 解决winForm界面卡死
  14. 【Alpha】阶段第十次Scrum Meeting
  15. 《程序员修炼之道》读书笔记(二)--第三周
  16. 《查令十字街84号》读后感
  17. 程序员3~5年后如何规划自己
  18. 天府一品 茶叶商城平台 uni app 开发总结 H5商城
  19. pkcs5 padding和pkcs7 padding的区别
  20. Linux 探索之旅 | 第四部分第二课:SSH 连接,安全快捷

热门文章

  1. HDU 4932 Miaomiao#39;s Geometry(推理)
  2. Andriod Studio 使用心得,持续更新中
  3. 利用jquery 控制select 实例代码
  4. 重读博弈论(四)-重要的基本概念的理解:风险爱好、风险中性、风险厌恶(风险避规)...
  5. 【Java从0到架构师】Spring - 事务管理
  6. 江苏大学21考研计算机技术上岸
  7. 通过命令行安装或卸载Tomcat服务
  8. AD域控exchange邮箱(四)——获取AD域控中计算机有哪些账号登录过
  9. Linux搭建smb共享ftp服务器——windows无法写入samba共享路径 无操作权限的问题解决
  10. 重装也无法修复此计算机,遇到Win7系统崩溃无法修复的情况怎么办