精益开发实战——用看板管理大型项目 读书笔记

1、项目背景

2、组织团队

3、每天出席鸡尾酒会

上面的会议通常持续10-15分钟,由团队主管(ScrumMaster)主持,一般问就下面3个问题展开。

  • 我昨天做了什么工作?
  • 今天打算做什么?
  • 遇到了什么麻烦?

所有测试人员都聚拢在测试状态板前,讨论如何最好地利用当天的时间。隶属于具体功能开发团队的测试人员刚刚跟各自所属的团队开完立会,所以他们可以分享各个团队的最新进展。

与此同时,需求分析团队则在开他们自己的同步立会。刚刚跟功能开发团队开完立会的分析人员也来参加会议,他们有最新的信息可以向整个需求分析团队汇报。

参加项目同步立会的人员被称为交叉型团队。我们在这个项目里,就是每个专业派一个代表,每个功能开发团队派一个代表,再加上其他几个人,比如项目经理、配置经理和我自己。

我们在项目同步立会上审视整个项目的状况,主要关注从需求分析到投入生产的各个工序是否正常运转:

  • 每个团队今天在做什么?
  • 现在有什么问题阻塞了我们的流程?
  • 瓶颈在哪里?
  • 如何消除瓶颈?
  • 下一个瓶颈会出现在哪里?
  • 我们的发布计划进展是否顺利?
  • 有没有人不知道今天要做什么工作?

4、项目进度板

这个体系看上去很像瀑布开发模式。其实不然,在看板系统中,这些不同的阶段都是并行的。

不能把所有的任务板塞满。

用警车标出需要特别快速处理的紧急事项。

用粉红色便利贴来标示障碍。

5、扩展任务板

随着项目成员增加,每个团队成员都有自己的任务看板,显示团队自己的工作进度。但是却不清楚项目的整体状况。

  • 项目整体进展如何?
  • 现在的瓶颈在哪里?接下来会有哪些新功能?
  • 到这次版本发布的时候,哪些功能可以按时完成?

6、跟踪总体目标

如果人人都清楚总体目标是什么,就会更关注总体目标。

7、定义“可供”与“完成”

最重要的两个定义是“可供开发”和“可供系统测试”,因为这两处是我们以前出现问题最多的地方。一个功能进入可供开发状态,就必须具备以下特点:

  • 必须有一个ID。
  • 必须有一个联系人。
  • 必须对客户有价值。
  • 必须经由团队估算。
  • 必须将验收测试情景写在功能卡背面,即描述典型测试情景的具体步骤。

可供系统测试:

  • 验收测试自动化。端对端功能层次的验收测试或继承测试已自动化。
  • 通过回归测试:对现有功能运行的所有自动化测试都要通过。
  • 已演示过。
  • 清楚填写签入注释。
  • 在开发环境中测试过。
  • 已与代码主干合并。

8、处理技术事故

9、处理Bug

10、持续改进流程

  • 透明度:在显眼的地方设置看板,向所有人展示项目工作进展。交付物目标明确,人人都能明白。
  • 沟通:各个团队内部以及跨团队层面定期召开流程改进研讨会(每周或每两周)。
  • 数据:跟踪一些简单地衡量标准,看流程是否有改进。我们衡量的是速率和周期时间。

流程改进提案示例

11、管理在制品

只有4栏work in process。

12、捕捉并使用流程度量

流程度量非常有用,可以找出哪里需要改进,看出我们所作的变更是否带来了积极的效果。对于从宏观上规划版本发布大纲也很有用。我们追踪以下两个流程度量:

  • 速率(每周功能数)
  • 周期时间(每个功能的开发时间)

  1. 可将其用作现实检查工具,检验版本发布计划是否切实可行。
  2. 根据这一数据来预测截至某个时间点大致可完成的功能数。

  • 稳定速率:每周的速率应大致相同,而不是分布不均。
  • 提高速率:我们目前的平均速率是3,目标是5。
  • 缩短周期时间:我们的平均周期时间是6周,目标为2周。

13、Sprint版本发布规划

  • 需求清单梳理
  • 挑选前十个功能
    • 商业价值
    • 知识
    • 资源利用
    • 依赖关系
    • 可测试性
  • 为何将需求清单梳理工作移出Sprint规划会议
  • 规划版本发布

14、我们如何做版本控制

主干无垃圾

团队分支

系统测试分支

16、经验教训

  • 了解目标
  • 不断实验
  • 拥抱失败
  • 解决真正的问题
  • 拥有专职的变革推动者
  • 让人们参与进来

看板管理典型的一天

时间: 2024-10-13 11:30:17

精益开发实战——用看板管理大型项目 读书笔记的相关文章

精益开发实战用看板管理大型项目

http://demo.netfoucs.com/limingjian/article/details/40684655 User Accept Testing Scrum专注于结构和沟通,XP增加了工程实践,看板则专注于将工作流可视化,并对瓶颈进行管理. http://blog.crisp.se/author/henrikkniberg http://pragprog.com/book/hklean/lean-from-the trenches <第五项修炼> Selenium Concor

看板管理大型项目-4-5.项目看板

项目看板: 4.1.项目进度板:显示项目从需求->开发->系统测试->上线的整个流程的最新状态. 做到可视化,透明,监控整个项目运作流程. 流程:创意,功能,下十个功能,开发,系统测试,用户验收测试,上线 4.1.1.我们的节奏:回顾总结(每两周),规划(每两周),演示与系统测试(持续),版本发布(自己定) 4.1.2.处理紧急问题和障碍:优化工序流,不能把任务板塞满(像马路上设置红绿灯,假如没有红绿灯,想想...) 5.1.扩展任务看板: 流程:下十个功能,正在开发,等待系统测试,正在

Android深度探索(卷1)HAL与驱动开发 第三章 Git使用入门 读书笔记

Android深度探索(卷1)HAL与驱动开发 第三章 Git使用入门 读书笔记     本章是对Git的一个概述. Linux是一个开源的系统.事实上,在Linux上许多软件都和底层程序以及内核驱动有关,然而Linux内核的版本非常多,如果每个版本上的软件都采用安装包的形式,则匹配这么多版本的安装包将十分庞大.所以有很多软件不是以二进制安装包的形式来安装和使用的.而是将源代码下载下来,并在每个用户自己的Linux中编译并安装,即使用make 和make install 命令.而Linus作为L

《SQL Server企业级平台管理实践》读书笔记——SQL Server数据库文件分配方式

原文:<SQL Server企业级平台管理实践>读书笔记--SQL Server数据库文件分配方式 1.文件分配方式以及文件空间检查方法 最常用的检查数据文件和表大小的命令就是:sp_spaceused 此命令有三个缺陷:1.无法直观的看出每个数据文件和日志文件的使用情况.2.这个存储过程依赖SQL Server存储在一些系统视图里的空间使用统计信息计算出的结果,如果没有更新空间统计信息,比如刚刚发生大数据插入,sp_spaceused的结果就不准确.3.这个命令主要是针对普通用户的数据库,对

《Java并发编程实战》第二章 线程安全性 读书笔记

一.什么是线程安全性 编写线程安全的代码 核心在于要对状态访问操作进行管理. 共享,可变的状态的访问 - 前者表示多个线程访问, 后者声明周期内发生改变. 线程安全性 核心概念是正确性.某个类的行为与其规范完全一致. 多个线程同时操作共享的变量,造成线程安全性问题. * 编写线程安全性代码的三种方法: 不在线程之间共享该状态变量 将状态变量修改为不可变的变量 在访问状态变量时使用同步 Java同步机制工具: synchronized volatile类型变量 显示锁(Explicit Lock

《SQL Server企业级平台管理实践》读书笔记——SQL Server如何设置自动增长和自动收缩项

原文:<SQL Server企业级平台管理实践>读书笔记--SQL Server如何设置自动增长和自动收缩项 SQL Server允许用户设置数据库初始值和最大值,可以通过自动增长或者自动收缩进行配置.通过这些配置,我们可以防止数据库空间问题而导致的应用程序修改失败或者SQL Server磁盘空间耗尽的事情发生.一般来讲,如果数据库不是很忙,默认的设置为自动增长,这种方式能够满足大部分的需求.但是在大量并发的情况下,申请数据文件和日志文件增长本身是一件非常消耗系统资源和影响性能的工作.所以如果

《SQL Server企业级平台管理实践》读书笔记——SQL Server中收缩数据库不好用的原因

原文:<SQL Server企业级平台管理实践>读书笔记--SQL Server中收缩数据库不好用的原因 数据库管理员有时候需要控制文件的大小,可能选择收缩文件,或者把某些数据文件情况以便从数据库里删除. 这时候我们就要使用到DBCC SHRINKFILE命令,此命令的脚本为: DBCC SHRINKFILE ( { file_name | file_id } { [ , EMPTYFILE ] | [ [ , target_size ] [ , { NOTRUNCATE | TRUNCATE

《SQL Server企业级平台管理实践》读书笔记——几个系统库的备份与恢复

原文:<SQL Server企业级平台管理实践>读书笔记--几个系统库的备份与恢复 master数据库 master作为数据库的主要数据库,记录着SQL Server系统的所有系统级信息,例如登录用户.系统配置设置.端点和凭证以及访问其他数据服务器所需要的信息.master数据库还记录着启动服务器实例所需要的初始化信息,每个其它数据库的主文件位置.master数据库是SQL Server启动的时候打开的第一个数据库.SQL Server是从这个数据库里找到其它数据的信息的.如果master数据

《android开发进阶从小工到专家》读书笔记--HTTP网络请求

No1: 客户端与服务器的交互流程: 1)客户端执行网络请求,从URL中解析出服务器的主机名 2)将服务器的主机名转换成服务器的IP地址 3)将端口号从URL中解析出来 4)建立一条从客户端与Web服务器的TCP连接 5)客户端通过输出流向服务器发送一条HTTP请求 6)服务器向客户端回送一条HTTP响应报文 7)客户端从输入流获取报文 8)客户端解析报文,关闭连接 9)客户端将结果显示在UI上 No2: HTTP请求方式: 1)GET 获取服务器中某个资源,www.devtf.cn/artic