学习敏捷:构建高效团队

Book description

敏捷方法革新了软件团队的开发方式。然而,目前的敏捷实践门类众多,很多团队不知如何选择。本书立足实际情况,帮助准备接受敏捷的团队理清头绪。作者首先介绍敏捷方法背后的原则,进而详细讲解四种常用的敏捷方法:Scrum、极限编程、精益和看板方法。

上述每一种方法都侧重于开发过程中的一个不同方面,但目标都是改变团队的思维方式,将服从计划的独立个体凝聚成共同决策的团队。无论是初次接触还是重新尝试,你和你的团队都可以借助本书学习如何选择最合适的敏捷方法。

  • 理解敏捷价值观和原则的初衷
  • 理解Scrum为何强调项目管理、自组织和集体承诺
  • 通过测试先行、结对编程等极限编程实践聚焦软件设计和架构
  • 使用精益思维给团队增添力量,避免浪费并快速交付软件
  • 学习看板方法如何在实践中管理流程,协助交付优秀的软件
  • 在教练指导下采用敏捷的实践和原则

Table of contents

  1. 封面
  2. 扉页
  3. 版权
  4. 版权声明
  5. O’Reilly Media, Inc.介绍
  6. 本书赞誉
  7. 目录 (1/2)
  8. 目录 (2/2)
  9. 前言
    1. 致谢
    2. Safari® Books Online
    3. 联系我们
    4. 电子书
  10. 第1章 学习敏捷
    1. 1.1 什么是敏捷
    2. 1.2 本书的读者对象
    3. 1.3 本书的目标
    4. 1.4 努力建立敏捷思维
    5. 1.5 本书结构
  11. 第2章 理解敏捷价值观
    1. 2.1 团队主管、架构师和项目经理走进了一间酒吧……
    2. 2.2 没有银弹
    3. 2.3 敏捷可以拯救乱局吗
      1. 2.3.1 引入敏捷,带来变化
      2. 2.3.2 “聊胜于无”的结果
    4. 2.4 视角割裂
      1. 2.4.1 视角割裂带来的问题
      2. 2.4.2 为什么视角割裂只能做到“聊胜于无”
    5. 2.5 敏捷宣言帮助团队认识实践的目的
      1. 2.5.1 个体和互动高于流程和工具
      2. 2.5.2 可工作的软件高于详尽的文档
      3. 2.5.3 客户协作高于合同谈判
      4. 2.5.4 响应变化高于遵循计划
      5. 2.5.5 原则高于实践
    6. 2.6 理解敏捷的“大象”
    7. 2.7 着手采用一套新方法
  12. 第3章 敏捷原则
    1. 3.1 敏捷软件开发的12条原则
    2. 3.2 客户总是对的吗
    3. 3.3 交付项目
      1. 3.3.1 原则1:最优先要做的是尽早、持续地交付有价值的软件,让客户满意
      2. 3.3.2 原则2:欣然面对需求变化,即使是在开发后期。敏捷过程利用变化为客户维持竞争优势
      3. 3.3.3 原则3:频繁交付可工作的软件,从数周到数月,交付周期越短越好
      4. 3.3.4 改进电子书阅读器团队的项目交付计划
    4. 3.4 沟通和合作
      1. 3.4.1 原则4:在团队内外,面对面交谈是最有效、也是最高效的沟通方式
      2. 3.4.2 原则5:在整个项目过程中,业务人员和开发人员必须每天都在一起工作
      3. 3.4.3 原则6:以受激励的个体为核心构建项目,为他们提供环境和支持,相信他们可以把工作做好
      4. 3.4.4 在电子书阅读器项目中采用更好的沟通方式
    5. 3.5 项目实施——推进项目
      1. 3.5.1 原则7:可工作的软件是衡量进度的首要标准
      2. 3.5.2 原则8:敏捷过程倡导可持续开发。赞助商、开发人员和用户要能够共同、长期维持其步调,稳定向前
      3. 3.5.3 原则9:坚持不懈地追求技术卓越和设计优越,以此增强敏捷的能力
      4. 3.5.4 改善电子书阅读器团队的工作环境
    6. 3.6 项目和团队的持续改进
      1. 3.6.1 原则10:简单是尽最大可能减少不必要工作的艺术,是敏捷的根本
      2. 3.6.2 原则11:最好的架构、需求和设计来自自组织的团队
      3. 3.6.3 原则12:团队定期反思如何提升效率,并依此调整
    7. 3.7 敏捷项目:整合所有原则
  13. 第4章 Scrum和自组织团队
    1. 4.1 Scrum的规则
    2. 4.2 第1幕:Scrum的适用条件
    3. 4.3 Scrum团队中每个人都要对项目负责
      1. 4.3.1 Scrum主管指导团队的决策
      2. 4.3.2 产品所有者帮助团队了解软件的价值
      3. 4.3.3 每个人都对项目负责 (1/2)
      4. 4.3.3 每个人都对项目负责 (2/2)
      5. 4.3.4 Scrum有一组自己的价值观
    4. 4.4 第2幕:状态更新只是社交网络的玩法
    5. 4.5 整个团队参与每日Scrum例会
      1. 4.5.1 反馈和“可见−检查−调整”周期
      2. 4.5.2 最后责任时刻
      3. 4.5.3 召开有效的每日Scrum例会
    6. 4.6 第3幕:将冲刺计划写到墙上
    7. 4.7 冲刺、计划和回顾会议
      1. 4.7.1 迭代式与增量式
      2. 4.7.2 冲刺成也在于产品所有者,败也在于产品所有者
      3. 4.7.3 可见性和价值观
      4. 4.7.4 计划并执行有效的Scrum冲刺
    8. 4.8 第4幕:尽力之后
  14. 第5章 Scrum计划和集体承诺
    1. 5.1 第5幕:出乎意料
    2. 5.2 用户故事、速度和普遍接受的Scrum实践
      1. 5.2.1 提升软件价值
      2. 5.2.2 以用户故事构建用户真正会用到的功能
      3. 5.2.3 满意条件
      4. 5.2.4 故事点和速度
      5. 5.2.5 燃尽图
      6. 5.2.6 通过用户故事、故事点、任务和任务板来计划并实施冲刺
      7. 5.2.7 广受认可的Scrum实践
    3. 5.3 第6幕:第一次胜利
    4. 5.4 回顾Scrum价值观
      1. 5.4.1 具体实践没有价值观也有效果(只是别管它叫Scrum)
      2. 5.4.2 你的公司文化与Scrum的价值观兼容吗 (1/2)
      3. 5.4.2 你的公司文化与Scrum的价值观兼容吗 (2/2)
  15. 第6章 极限编程与拥抱变化
    1. 6.1 第1幕:开始加班
    2. 6.2 极限编程的主要实践
      1. 6.2.1 编程实践
      2. 6.2.2 集成实践
      3. 6.2.3 计划实践
      4. 6.2.4 团队实践
      5. 6.2.5 为什么开发团队抵制变化,上述实践如何提供帮助
    3. 6.3 第2幕:计划有变,但我们还是看不到希望
    4. 6.4 极限编程的价值观帮助团队改变心态
      1. 6.4.1 极限编程帮助开发人员学会与用户协作
      2. 6.4.2 开发团队的怀疑会破坏实践的效用
    5. 6.5 正确的思维从极限编程的价值观开始
      1. 6.5.1 极限编程的价值观
      2. 6.5.2 以善意铺就
    6. 6.6 第3幕:势头的变换
    7. 6.7 理解极限编程价值观,拥抱变化
      1. 6.7.1 极限编程的指导原则
      2. 6.7.2 极限编程指导原则可以加深对计划的理解
      3. 6.7.3 极限编程指导原则与实践相互促进
      4. 6.7.4 反馈循环 (1/2)
      5. 6.7.4 反馈循环 (2/2)
  16. 第7章 极限编程、简化和增量式设计
    1. 7.1 第4幕:再次加班
    2. 7.2 代码和设计
      1. 7.2.1 代码异味和反模式(如何判断你是不是聪明过头了)
      2. 7.2.2 极限编程团队主动寻找和修复代码异味
      3. 7.2.3 钩子、边界情况以及功能过多的代码
      4. 7.2.4 代码异味会增加复杂性
    3. 7.3 把编码和设计决定留到最后责任时刻
      1. 7.3.1 决然重构,偿还技术债务
      2. 7.3.2 持续集成,排查设计问题
      3. 7.3.3 避免一体式设计
    4. 7.4 增量式设计与极限编程的整体实践
      1. 7.4.1 有时间进行思考,团队才能做好工作
      2. 7.4.2 团队成员彼此信任并共同作出决定
      3. 7.4.3 极限编程的设计、计划、团队和整体实践形成了一个带动创新的系统
      4. 7.4.4 增量式设计与为了复用而设计
      5. 7.4.5 简化单元交互,系统实现增量式成长
      6. 7.4.6 优秀的设计源自简单的交互
    5. 7.5 第5幕:最终得分 (1/2)
    6. 7.5 第5幕:最终得分 (2/2)
  17. 第8章 精益、消除浪费和着眼全局
    1. 8.1 精益思维
      1. 8.1.1 你已经理解了很多精益价值观
      2. 8.1.2 承诺、选择意识和集合式开发
    2. 8.2 第1幕:还有一件事……
    3. 8.3 创造英雄与神奇思维
    4. 8.4 消除浪费
    5. 8.5 加深对产品的理解
      1. 8.5.1 着眼全局
      2. 8.5.2 找到问题的根本原因
    6. 8.6 尽快交付
      1. 8.6.1 使用面积图可视化工作进度
      2. 8.6.2 限制进行中的工作,控制瓶颈
      3. 8.6.3 拉动式系统帮助团队消除约束 (1/2)
      4. 8.6.3 拉动式系统帮助团队消除约束 (2/2)
  18. 第9章 看板方法、流程和持续改进
    1. 9.1 第2幕:紧赶慢赶的游戏
    2. 9.2 看板方法的原则
      1. 9.2.1 找到一个出发点并由此进行实验性的演进
      2. 9.2.2 用户故事进去,代码出来
    3. 9.3 用看板方法改进流程
      1. 9.3.1 将工作流程可视化
      2. 9.3.2 限制进行中的工作
    4. 9.4 测量并管理流量
      1. 9.4.1 用CFD和进行中工作面积图测量并管理流量 (1/2)
      2. 9.4.1 用CFD和进行中工作面积图测量并管理流量 (2/2)
      3. 9.4.2 用利特尔法则控制系统的流量
      4. 9.4.3 用进行中工作上限管理流量,自然地创造缓冲
      5. 9.4.4 让过程策略明确统一
    5. 9.5 看板方法下自然发生的行为 (1/2)
    6. 9.5 看板方法下自然发生的行为 (2/2)
  19. 第10章 敏捷教练
    1. 10.1 第3幕:还有一件事(又来了?!)……
    2. 10.2 教练要理解人们为什么不想改变
    3. 10.3 教练要理解人们如何学习
    4. 10.4 教练清楚如何让一套方法起作用
    5. 10.5 进行敏捷指导时的原则
  20. 关于作者
  21. 关于封面

Product information

  • Title: 学习敏捷:构建高效团队
  • Author(s): Andrew Stellman, Jennifer Greene
  • Release date: February 2017
  • Publisher(s): Posts & Telecom Press
  • ISBN: 9787115447555

You might also like

book

精通機器學習

by Aurélien Géron

建立智慧系統的概念、工具與技術 “這是一本卓越的機器學習資源,有清楚、直觀的解說,以及大量實用技巧。” —François Chollet Keras作者,《Deep Learning with Python》作者 “這本書詳細介紹以神經網路解決問題的理論與做法;建議想要實際運用ML的人都要看這本書。” —Pete Warden TensorFlow行動主管 深度學習經歷了一系列的突破之後,已經大幅推動了整個機器學習領域,如今,即使你對這項技術一無所知,也可以使用簡單、高效的工具,製作可從資料中學習的程式。這本暢銷書新版本使用具體的案例、精簡的理論,以及Python準生產框架,協助你直觀地認識智慧系統的概念與建構工具。 你將學到可快速上手的技術,只要具備程式編寫經驗,就可以藉由各章的習題來學習。你可以在GitHub取得本書的所有程式碼,這些程式已經更新為TensorFlow 2,以及最新版的Scikit-Learn。 使用Scikit-Learn與pandas,透過端對端專案建立機器學習基礎 …

book

Python数据处理

by Jacqueline Kazil, Katharine Jarmul

用传统的电子表格来处理数据不仅效率低下,而且无法处理某些格式的数据,对于混乱或庞大的数据集更是束手无策。本书将教你如何利用语法简单、容易上手的Python轻松处理数据。作者通过循序渐进的练习,详细介绍如何有效地获取、清洗、分析与呈现数据,如何将数据处理过程自动化,如何安排文件编辑与清洗任务,如何处理更大的数据集,以及如何利用获取的数据来创作引人入胜的故事。学完本书,你的数据处理和分析能力将更上一层楼。 快速了解Python基本语法、数据类型和语言概念 概述数据的获取与存储方式 清洗数据并格式化,以消除数据集中的重复值与错误 学习何时对数据进行标准化,何时对数据清理进行测试并将其脚本化 使用Scrapy写网络爬虫 利用新的Python库和技术对数据集进行探索与分析 使用Python解决方案将整个数据处理过程自动化

book

基于Python的智能文本分析

by Benjamin Bengfort, Rebecca Bilbro, Tony Ojeda

从新闻、讲话,到社交媒体上非正式的聊天,自然语言是最丰富、且尚未充分利用的数据源之一。不但数据源源不断,在使用环境中还在不断调整、变化;还包含了很多传统数据源未能传达的信息。 打开自然语言宝藏的钥匙,就是基于文本分析的创造性应用。这本 实战指南介绍了从数据科学家角度如何建立语言感知产品并有效应 用机器学习。 您将学到如何用Python实现健壮、可重复和可扩展的文本分析,包括上下文特征和语言特征工程、向量化、分类、主题建模、实体解析、图分析和可视化操作。在本书的最后,您将获得解决众多复杂现实问题的实用方法。 预处理并将文本向量化成高维特征表示。 执行文档分类和主题建模。 通过可视化诊断指导模型选择过程。 提取关键短语、命名实体和图结构,实现文本数据推断。 建立对话框架,实现聊天机器人和语言驱动交互。 用Spark扩展处理能力,用神经网络实现对更复杂模型的支持。

book

SQL经典实例

by Anthony Molinaro

了解SQL查询语言的基本原理,但仍感觉无法自由运用SQL?想在数据上线前用SQL跑一遍数据库?想进一步提高SQL技能? 以上需求,《SQL经典实例》都可以满足。本书致力于让广大数据库相关人员了解SQL的强大数据处理能力。书中汇集了150多个SQL示例,给出了常见问题的解决方案,帮助读者扩宽思路并用学到的技术来解决新问题,既适合SQL初学者更深入理解SQL,也适合SQL中高级用户进阶及日常查询参考。 where子句等常见查询语句 查询结果排序 连接查询 如何获取数据库元信息 常见数字运算实例 字符串处理 日期处理 数据仓储和复杂报表生成领域的查询 与层次化有关的一些实例