“大图景”一节以更通用的方式描述了主线模型。项目管理者联盟
本节中,我将针对如何实施该模式提出一些典型的变种。项目管理者联盟
“完成”的定义不必一定是“可发布的”。项目管理论坛
先确定“完成”一词的任何定义,然后确保有一个分支可以容纳根据该定义已经“完成”的故事。不过还是要注意别遗漏重要的内容。如果集成测试没有包含在“完成”中,那什么时候进行集成测试呢?项目管理者联盟
主干不必是主线PgMp.mypm.net
这个模式需要一条主线才能进行下去,不过不必是主干(虽然在大多数情况下,使用主干是很自然的选择)。项目经理圈子
团队不一定必须有自己的分支club.mypm.net
当然可以有多个团队共享同一分支,甚至直接在主线上展开工作。只要保证遵循分支的方针即可。项目管理者联盟
通常,团队希望有自己的分支,以避免未完成的故事在多个团队之间造成干扰。pmp.mypm.net
不必每次都创建一个全新的发布分支项目管理者联盟文章
可以使用同样的发布分支,而不是在每个sprint结束后都创建新分支。那个分支可以称为“最新生产系统”或其他类似的名字。如果在生产系统中总是保持只有一个版本,这当然是很好的模型。项目经理博客
不必在每个sprint结束后都进行发布项目管理者联盟
可以在每个故事完成后进行发布。或者每三个sprint完成后发布一次。确定你自己的步伐。pmp.mypm.net
不必针对每个故事都运行回归测试项目管理者联盟
如果在你的环境中,回归测试或集成确实很难实际操作,那么可以在sprint接近尾声时进行。这样就可以针对一批故事进行测试和集成的工作。你自己要承担相关风险。如果回归测试和集成属于“完成”的定义,这可能意味着你在sprint末尾时可能会遇到问题,导致没有任何故事完成的风险。
FAQ转自项目管理者联盟
持续集成(CI)在这个模式中如何使用?项目管理者联盟
CI服务器应该针对哪个分支运行?这要根据具体情况,不过下面的叙述是一个好的起点。training.mypm.net
假定主干的方针是“完成而且可发布”,而每个工作分支的方针是“通过单元测试”:
对每个工作分支来说,CI服务器自动并持续地检查构建和运行所有单元测试的状况。www.mypm.net
如果有任何失败,就给出一个红色警告。让机器冒烟……项目管理者联盟
对每个工作分支来说,CI服务器自动并有规律地(如果不能持续地)运行集成测试和回归测试。pmp.mypm.net
如果有任何失败,就给出一个分离的警告。因为这不是当前分支的方针。转自项目管理者联盟
当有人考虑从工作分支向主干发布代码时,要触发该手工测试,以检查故事是否“完成”。项目管理论坛
对主干来说,CI服务器自动并持续地运行集成测试和回归测试。项目管理者联盟
|