经管08004_轻量开发方法:极限编程简介

极限编程(XP)是轻量开发方法中比较有影响的一种。
 
其中的“量”是指用于软件过程管理和控制的、除程序量之外的文档量的多少。
文档的优点:从不同角度提供软件开发的可见性,作为测量、预见、管理、决策和控制的客观依据。
文档的缺点:在很多情况下,按照传统观念建立的大量文档,一方面需要耗费大量的开发资源;同时,也失去了测量、预见、管理、决策和控制的依据的作用。
因此,必须重新审视开发环节,去除臃肿累赘,轻装上阵。
 
轻量的局限性:缺乏预见性,容易带来结构性的质量问题。
在享受轻量的好处的同时,也要避免其局限性。
 
XP让你想到:
1、代码审查有效——成对编程!
2、测试很有效——编写代码之前先编写测试用例!
3、文档很难与代码保持一致——撰写少量必要的文档,以便有助编写代码并有助于测试其他代码!
……
 
XP的4个价值:
1、沟通:项目所有问题的“关键点”!及时沟通、充分交流!
2、简明:“XP就是预测——通过今天做简单的事情,避免将来做更复杂但也许永远用不到的事情。”
3、反馈:从客户、最终用户获取反馈,少走弯路!确保方向正确!
4、勇气:如:放弃代码;软件变更……
 
XP的12个实践:
1、计划游戏:快速制订概要计划,随着项目细节的清晰,逐步完善——一套包含用户需求故事的索引卡(这些需求故事驱动项目的迭代)以及后续的一两个版本的概要计划。
客户——业务决策;开发团队——技术决策。
2、测试: 单元测试 + 验收测试;  单元测试用例是迄今为止最好的文档!  需求故事 对应
验收测试!
3、结对编程:比单独编程效率更高!
4、重构:保持代码简洁,不破坏测试。
5、简单设计:不要包含YAGNI(You Aren’t Going to Need It)
6、共同拥有代码:每个开发人员都拥有全部代码——每次集成之前和之后都要运行单元测试,确保自己造成的破坏自己修复
7、持续集成:在确保系统运行的所有单元测试通过后执行。使集成失败的原因很明显。Bug迟早要解决,一直解决问题会减少这种痛苦
8、现场客户:需求的明确及优先级确认等,面对面沟通误解小。  需求故事卡片只是承诺,而不是交付代码的唯一指示。
9、小版本:尽早为客户提供价值(今天的钱比明天的钱更值钱),同时也能获得具体的反馈。
10、每周工作40小时:长时间持续的工作会扼杀工作效率。“每天早晨都感到活力和激情,每天晚上都感到疲劳和满足”
11、编码标准:目标为团队中没人能分辨出代码是谁写的。有利于代码重构,以及交换编码配对。
不要把编码标准制订太细,会预支很多时间。
12、系统隐喻:系统中各个组件及组件间交互的结构蓝图。体系结构。
XP不是目标,而是到达终点的一种手段。

欢迎关注我的微信公众号:

 

如无特殊说明,文章均为本站原创,转载请注明出处!

发表回复

您的电子邮箱地址不会被公开。