敏捷开发全景图

简介:

今天的主角是下面这张图,它全景式展现了敏捷开发在不同粒度上的关注点。(看不清可以看最后的Slideshare

 agilefull 

 

    这张图主体上是要给敏捷在不同粒度上下一个定义,并且告诉我们它的产出是“Working software 

 

   从最内部的环开始看,什么是持续要做的呢?测试驱动开发(TDD),编译构建,集成,代码重构,协作开发,这些事情仿佛是心跳一样,不仅不能停还要保持一定的节奏。《Continuous Integration》一文对此做了很好的注解。《Continuous Integration源文档 <http://martinfowler.com/articles/continuousIntegration.html>

 

   外一层要描述的就是敏捷开发每天要做的事情了:站立会议和验收测试。站立式会议在团队范围内实现信息共享,简单,直接,有效。

 

    较之每天的行为,一个粗粒度的概念就是迭代,我个人认为这里是最能体现敏捷精神的地方。我们先看一下迭代需要做的工作:检查,回顾,制定迭代计划。检查是对已完成工作的质量保证的手段,回顾是对之前项目进行中的得失进行反思,而制定计划是在一个有更多参考参数的情况下安排下一步工作。现在敏捷社区在提倡“精益”思想,即根据历史数据动态的调整优化。敏捷开发是一套活理论,不是一堆死方法,这一点我深信不疑。

 

    发布处于迭代外层,可以看到这阶段会制定发布计划,梳理积压未完成的事情,做出评估。

    处于最外层的是策略层,这一层我们看到了目标、视角等等元素。虽然身处开发第一线的我们往往感受不到这些东西的存在,但是这些方面如果没有人考虑或者考虑错了的影响远大于一段糟糕的代码。
   圆圈两侧我们可以看到敏捷开发的倡导的价值观和代表了其可量化的指标。

    从传统的或者习惯的开发模型迁移到敏捷会有种种困难,需要有形式和行为上的真正变化。如果抛开这种想法呢,换一个角度呢?不搞大变革,大动作,我们能否从敏捷开发中取经来改善我们现有的情况呢?比如我们加快了构建的效率,我们坚持做代码检查和站立会议,见缝插针对糟糕的代码进行重构… …实践了这些之后或许我们还不是敏捷开发,但是我们已经拥有了“敏捷态度”。

 

总结

   

      敏捷:不动摇,不懈怠,不折腾

 

   

目录
相关文章
|
7天前
|
敏捷开发 运维 jenkins
从瀑布到敏捷:那些年我们一起敏捷过
本文回顾了技术团队从几人小团队发展到百人规模的过程,重点讲述了从传统瀑布模式转向敏捷开发模式的转型阵痛与解决方案。通过引入TAPD等工具规范敏捷流程,解决了发版频率提高带来的协同挑战。同时,通过集成Junit、SonarQube等工具,提升了单元测试覆盖率和代码质量,实现了自动化构建与测试,最终提高了整体研发效率和产品质量。
23 0
|
5月前
|
敏捷开发 监控 数据可视化
敏捷开发:拥抱变化,持续交付价值的艺术(二)
敏捷开发:拥抱变化,持续交付价值的艺术(二)
108 2
|
5月前
|
敏捷开发 持续交付 开发者
敏捷开发:拥抱变化,持续交付价值的艺术(一)
敏捷开发:拥抱变化,持续交付价值的艺术(一)
164 0
敏捷开发:拥抱变化,持续交付价值的艺术(一)
|
7月前
|
监控
构建高效能团队的敏捷方法论
【5月更文挑战第10天】敏捷方法论助力构建高效能团队,强调个体协作、迭代开发、客户参与和灵活应变。通过选择合适的敏捷框架,建立协作文化,制定明确流程,持续改进,团队能迅速响应市场变化,保证产品竞争力和创新力,促进企业成功和持续发展。
|
敏捷开发 测试技术 程序员
浅谈软件开发模型之瀑布开发和敏捷开发
浅谈软件开发模型之瀑布开发和敏捷开发
|
敏捷开发 架构师
「敏捷开发」企业架构和敏捷开发:对立吸引?
「敏捷开发」企业架构和敏捷开发:对立吸引?
|
敏捷开发 持续交付 UED
什么是真正的敏捷开发?敏捷开发与瀑布开发有何不同
什么是真正的敏捷开发?敏捷开发与瀑布开发有何不同。从本质上讲敏捷开发的一个重要目标是建立持续价值交付的能力。这种能力最终必须服务于业务的创新,促进业务的成功。
721 0
什么是真正的敏捷开发?敏捷开发与瀑布开发有何不同
|
敏捷开发 缓存 前端开发
敏捷开发实践
我们在第一次使用Scrum进行项目管理时,并没有看Scrum的规则,从直觉上做了以下几件事,巧合的是,跟Scrum中项目的前期准备sprint0 很多地方是一致的,这让我们后期切到Scrum更加顺滑。
敏捷开发实践
|
架构师 Devops 调度
从 Etsy 团队看敏捷架构的设计(2)
从 Etsy 团队看敏捷架构的设计(2)
222 0
从 Etsy 团队看敏捷架构的设计(2)