敏捷实践系列

常有人问我:“什么是敏捷?”或者“敏捷是什么?”

对于这样的问题,我很多时候都找不出一个合适的词,或者一句话,来告诉对方,敏捷到底是什么,或者什么是敏捷。我每每为此苦恼,越是搜肠刮肚地想努力用最简洁、最精炼的话表达出来,越是觉得词穷。

有关敏捷、精益的书,读了一本又一本;有关敏捷的培训和课程,参加了一场又一场;敏捷团队和具体实践的分享,见了一个接一个;关于敏捷的课程和培训,也给别人讲了一次又一次。在敏捷的框架、价值观、技术、实践等方面,对敏捷的理解越加深刻,却越是感觉无法给“敏捷”下一个准确的定义,很难用一句话来说清楚“敏捷是什么”。

俗话说,厚积薄发。对知识的学习,要由薄到厚,再由厚到薄。越是不能说清楚,越是说明还没有真正地把概念吃透,或者还没有系统地把握和理解相关的知识、方法、技术、技巧和实践。那就更说明需要更多地思考、反思和精炼,真正达到融会贯通、触类旁通和举一反三。目前,就基本到了“厚”的程度,接下来,需要逐步总结、思考、梳理,由“厚”到“薄”,真正能够用一句话,精确表达“什么是敏捷”。

今后的重点,将“思考、写作、讲学”这三点上。思考,就是要把所学、所见系统地进行梳理、凝练,分门别类地进行总结和提炼,使之系统化、体系化。写作,就是要把所思、所想、所感、所悟,落实到具体的文字上,系统地表达出来,凝练成具体的文字和文章。讲学,就是要讲出来、讲出去、讲清楚、讲明白。

所幸的是,自2001年敏捷运动正式发端开始,关于敏捷的具体技术、流程、框架、方法和工具,业界积累了大量的书籍、文章和资料可供借鉴。这些已有材料,都是可用的无价之宝。

所以,今后会尝试撰写系列敏捷文章,介绍敏捷领域的有关概念、流程、角色、工具、方法、价值观和实践经验。这些内容,包括但不限于:

  • 心情大理石(Mood Marbles)
  • 规划扑克(Planning Poker)
  • 敏捷回顾(Retrospective)
  • 案例展示(Showcase)
  • 社交契约(Social Contract)
  • 每日站会(Daily Stand-ups)
  • 用户故事卡片(Story Cards)
  • 待办事项梳理(Backlog Refinement)
  • 燃尽图与燃起图(Burn-down chart & Burn-up chart)
  • 产品负责人(Product Owner)
  • 用户故事估算(User Story Estimation)
  • 故事点(Story Points)
  • 迭代规划(Iteration Planning)
  • 持续改进(Kaizen & Continuous Improvement)
  • 看板(Kanban)
  • 发布规划(Release Planning)
  • 用户故事的验收标准(Acceptance Criteria)
  • 用户故事的就绪标准(Definition of Ready)
  • 用户故事的完成标准(Definition of Done)
  • 工作墙(Walls of Work)
  • 跨职能团队(Cross-functional teams)
  • AB测试(AB testing)
  • 技术债管理(Technical Debt Management)
  • 自动化数据与数据库对象迁移(Automated Data and Database Object Migration)
  • 自动化部署(Automated Deployment)
  • 自动回滚(Automated Rollbacks)
  • 自动职责分离(Automated Separation of Duties – SoD)
  • 行为驱动开发(Behavior-driven development)
  • 蓝绿部署(Blue / Green Deployment)
  • 配置与脚本的代码化管理(Configuration and Script Management as Code)
  • 持续构建与集成(Continues Build and Integration)
  • 部署认证(Deployment Certification)
  • 可测试应用设计(Testable Application Design)
  • 功能解耦(Feature Decoupling)
  • 软件配置管理(Software Configuration Management)
  • 测试自动化策略(Test Automation Strategy)
  • 测试驱动开发(TDD)
  • 测试环境的变更控制(Test Environment under Change Control)
  • 测试虚拟化(Test Virtualization)
  • 版本控制(Version Control)
  • 精益开发(Lean)
  • 精益创业(Lean Start-up)
  • 最小化可行产品(MVP)
  • Scrum Master
  • 用户故事地图(User Story Mapping)
  • 影像地图(Impact Mapping)
  • 整体团队(Whole Team)
  • 问题牛眼图(Issue Bull’s Eye)
  • 设计思维(Design Thinking)
  • DevOps
  • 敏捷成熟度评估模型(Agile Maturity Assessment Model)
  • 大规模敏捷(Scaled Agile)
  • 敏捷可视化(Agile Visualization)
  • 敏捷教练(Agile Coach)
  • 结对编程(Pair Programming)
  • 重构(Refactoring)
  • 编码标准(Code Standard)
  • 可持续步伐(Sustainable pace)
  • 简单设计(Simple Design)
  • 短小发布(Small Release)
  • 敏捷框架(Agile Framework)
  • 敏捷的流派(Agile Methodology)
  • 精益画布(Lean canvas)
  • 开放空间(Open Space)