subway-map-of-agile-development-practices

什么是敏捷

敏捷是一种建立和响应变化的组织能力。用于应对不确定和动荡环境,并取得成功。

敏捷宣言的作者们选择了“敏捷”(Agile)这个词,是因为这个词所代表的适应性和变化响应力对他们的方式方法至关重要。(参见 https://martinfowler.com/articles/agileStory.html)

这种思维是关于你如何理解当今环境所发生的一切,识别你所面对的不确定性,边前进边找出应对措施。

什么是敏捷软件开发

敏捷软件开发不只限于Scrum、极限编程XP或特性驱动开发(FDD)等框架,也不限于结对编程、测试驱动开发、站会、计划会和迭代时间盒,而是一把遵循了敏捷宣言和原则的大树,支撑着上述方法论和实践共同的价值观理念。

下面这张地铁图囊括了各种敏捷实践及名词的集合家谱。







可持续节奏 Sustainable Pace


结对编程 Pair Programming


认领任务 Sign up


每日站会 Daily meeting


迭代 Iterations


速率 Velocity


频密发布 Frequent releases


用户故事 User stories


集体代码所有权 Collective Code Ownership


持续集成 Continuous Integration


简单设计 Simple design


重构 Refactoring


测试驱动开发 TDD


项目章程 Project charters


Scrum of Scrums


微笑日历 Niko-niko


作战室 Team room


心跳式回顾 Heartbeat retrospective


引导技巧 Facilitation


团队 Team


前置时间 Lead time


看板墙 Kanban board


迭代式开发 Iterative development


时间盒 Timebox


三个提问 Three Questions


燃尽图 Burndown chart


任务墙 Task board


完成的定义 Definition of Done


就绪的定义 Definition of Ready


故事点估算 Point estimates


相对估算 Relative estimation


计划扑克 Planning poker


待办列表 Backlog


梳理待办列表 Backlog grooming


用户画像 Personas


用户故事地图


故事拆分 Story splitting


3个C


INVEST原则


增量式开发 Incremental development


持续部署 Continuous deployment


自动化构建 Automated build


版本控制 Version control


统一语言 Ubiquitous language


简单性原则 Rules of simplicity


快速设计会 Quick design session


CRC卡片 CRC cards


角色特性 Role-Feature


给定-如果-那么 Given-When-Then


行为驱动开发 BDD


验收测试驱动开发 ATDD


验收测试 Acceptance tests


模拟对象 Mock objects


单元测试 Unit tests


探索性测试 Exploratory testing


可用性测试 Usability testing








各条线代表了不同敏捷流派或“部落”中的实践集:



























极限编程 Scrum 设计
团队 产品管理创新 测试
精益 DevOps 基础




原文链接: https://www.agilealliance.org/agile101/https://www.agilealliance.org/agile101/subway-map-to-agile-practices/


觉得本文有帮助,长按二维码进行微信打赏