首页  编辑  

极限编程XP简介

Tags: /超级猛料/Software.软件工程/项目管理/   Date Created:

极限编程 XP 简介

1 、 3~10 个程序员,大家都在同一个房间工作。

产品经理在编程现场,提供专家意见。

2 、开发每三周为一个时间段(一次迭代)。

每次迭代的交付件为:可运行的、已经通过测试的、用户可以直接使用的代码。

每 2~5 次迭代进行一次发布,每一个发布期间结束时,会把编译好的系统交付给最终用

户。

3 、收集客户需求,写成一个个"用户故事"( user story ) , 指可以在一次迭代中开发出来的用户可见的功能。产品经理把"用户故事"写在卡片或贴纸上。

4 、产品经理和程序员讨论协商在此次迭代中能完成些什么:

程序员估计完成每张卡片所需要的时间。

  产品经理根据需要排列优先级、更改范围,使在分配的时间内最有可能完成最有价值的客户故事。

5 、程序员结对进行工作。

  程序员严格按照编码标准编程,并为自己写的每个东西都编写单元测试,每次当把自己的代码检入到 SVN 时,都要保证这些测试 100% 运行过。

  程序员按 15 分钟到几小时长的微小增量进行开发,每天集成代码几次。在每次集成结束时,都要保证整个代码库都通过了所有单元测试。

6 、结对编程时,只要这两人发现一段代码难以理解或过于复杂,都应该修改它,并不断简化和改进它。

  他们要始终保证:整体设计尽可能的简单,代码尽可能的清晰。

  程序员差不多每天交换一下结对的角色。

7 、当程序员工作时,产品经理要做三件事:

  和程序员进行讨论,澄清一些概念;

  编写需要在迭代期间和迭代结束时运行的系统验收测试;

  为下一次迭代选择需要开发的用户故事。

  产品经理可以全职加入项目中,也可以不全职。

8 、团队每天举行站立的例会,描述一下自己在做什么、哪些工作进行得顺利、哪些工作需要有人帮助。

  站着开会是为了使会议时间缩短。

9 、每次迭代结束时,要举行一个会议,评审哪些事情做得好、下一次想做什么。

10 、团队中的项目经理扮演"教练"的角色,他来评审团队成员对于那些关键实践的使用:结对编程、测试、结对轮换、保持设计简单和沟通等。

敏捷开发201005[1].pdf (2.7MB)