21
敏敏敏敏 敏敏敏敏 Agile Practice: Coding Dojo Agile starts here… CBUCRM- 售售售售 售售 & 售售售 2011-11-18

敏捷实践 : 代码道场 Agile Practice: Coding Dojo

  • Upload
    cooper

  • View
    339

  • Download
    2

Embed Size (px)

DESCRIPTION

Agile starts here…. 敏捷实践 : 代码道场 Agile Practice: Coding Dojo. CBUCRM- 售中开发 李阳 & 余红明 2011-11-18. 大纲. 1. 概念介绍: 15'-20' 2. 游戏 规则说明: 5' 3. 实践 3 个 US(User Story ,用户故事 ) 45’ 4. 回顾会 、 讨论 40' 5.xp 、 scrum 头脑风暴 5' 6. 现状讨论 看时间. 用户故事 (User Story) 的组成. 正面 —— 需求描述 角色:谁要使用这个功能。 活动:需要完成什么样的功能。 - PowerPoint PPT Presentation

Citation preview

Page 1: 敏捷实践 : 代码道场  Agile  Practice: Coding Dojo

敏捷实践:代码道场 Agile Practice: Coding Dojo

Agile starts here…

CBUCRM- 售中开发 李阳 & 余红明2011-11-18

Page 2: 敏捷实践 : 代码道场  Agile  Practice: Coding Dojo

大纲

1. 概念介绍: 15'-20' 2. 游戏规则说明: 5' 3. 实践 3 个 US(User Story ,用户故事 )

45’ 4. 回顾会 、讨论 40' 5.xp 、 scrum 头脑风暴 5' 6. 现状讨论 看时间

Page 3: 敏捷实践 : 代码道场  Agile  Practice: Coding Dojo

用户故事 (User Story) 的组成 正面——需求描述

角色:谁要使用这个功能。 活动:需要完成什么样的功能。 商业价值:为什么需要这个功能,这个功能带

来什么样的价值。 反面——验收条款

通过验收测试确认用户故事被正确完成。

Page 4: 敏捷实践 : 代码道场  Agile  Practice: Coding Dojo

故事写法

句式 As a <Role>, I want to <Activity>, so

that <Business Value>. 例如

作为一个“网站管理员”,我想要“统计每天有多少人访问了我的网站”,以便于“我的赞助商了解我的网站会给他们带来什么收益。”

注意 不能够使用技术语言来描述,要使用用户可以

理解的业务语言来描述。

Page 5: 敏捷实践 : 代码道场  Agile  Practice: Coding Dojo

US 实例

Page 6: 敏捷实践 : 代码道场  Agile  Practice: Coding Dojo

Mingle 中的 user story cards

* Mingle 是一个支持敏捷开发方法的项目管理工具,由 ThoughtWorks 公司开发

Page 7: 敏捷实践 : 代码道场  Agile  Practice: Coding Dojo
Page 8: 敏捷实践 : 代码道场  Agile  Practice: Coding Dojo

代码道场( Coding Dojo )

Page 9: 敏捷实践 : 代码道场  Agile  Practice: Coding Dojo

问题介绍

枫林晚书店 POS 系统案例 购书付款收银 会员 会员积分 会员等级 折扣计价收银

Page 10: 敏捷实践 : 代码道场  Agile  Practice: Coding Dojo

游戏规则说明

结对 简单设计

用最简单的方式实现给定的功能 TDD

记住,先写测试代码 重构

变量命名、重复代码等 每个故事 15 分钟

Page 11: 敏捷实践 : 代码道场  Agile  Practice: Coding Dojo

游戏进行中… . 故事 1

需求描述 作为一个收银员,希望系统能根据客户选的书

和付款给出需找给客户多少零钱,方便结算。

验收条款 客户选了两本书, java 80 块, c++ 80 块,

付款 200 ,应找零 40

Page 12: 敏捷实践 : 代码道场  Agile  Practice: Coding Dojo

游戏进行中… . 故事 2

需求描述 作为客户,希望有个购物车,方便选书

验收条款 客户先选了 3 本书, 2 本 java 40.5 块 / 本,

1 本 c++ 80 块 / 本。后来觉得 2 本 java 太多,又去掉了 1 本。付款 150 ,应找零 29.5

Page 13: 敏捷实践 : 代码道场  Agile  Practice: Coding Dojo

游戏进行中… . 故事 3

需求描述 客户希望能在第一次购买付款后,使用同一个

购物车进行下一次购买 验收条款

客户买了两本书, java 80 块, c++ 80 块,付款 200 ,应找零 40 。付款后,客户使用同一购物车又买了 1 本 java , 50.5 块,付款100 ,应找零 49.5

Page 14: 敏捷实践 : 代码道场  Agile  Practice: Coding Dojo

游戏进行中… . 故事 4

需求描述 希望付款时能支持按折扣计算找零,为日后引

入会员机制做准备 验收条款

客户买了两本书, java 80 块, c++ 80 块,折扣 0.8 付款 200 ,应找零 72

客户买了两本书, java 80 块, c++ 80 块,折扣 0.75 付款 200 ,应找零 80

Page 15: 敏捷实践 : 代码道场  Agile  Practice: Coding Dojo

游戏进行中… . 故事 5

需求描述 会员积分功能:支持积分功能,积分量随着消

费额等额取整增加 验收条款

消费 100.5 元,获得 100 积分 消费 1000 元,获得 1000 积分 消费 2000 元,获得 2000 积分

Page 16: 敏捷实践 : 代码道场  Agile  Practice: Coding Dojo

游戏进行中… . 故事 6

需求描述 会员等级功能:能随客户的积分增加自动升级

等级(钻石、黄金、白金、普通),不同等级享受不同折扣优惠。客户初始等级为普通

验收条款 积分小于 1000 为普通会员 无折扣 积分满 1000 升级为白金会员 享受 9.5 折优惠 积分满 3000 升级为黄金等级享受 8 折优惠 积分满 5000 升级为钻石等级享受 6 折优惠

Page 17: 敏捷实践 : 代码道场  Agile  Practice: Coding Dojo

回顾会( Retrospective )

“驻足思考, 让灵魂跟上脚步”

Page 18: 敏捷实践 : 代码道场  Agile  Practice: Coding Dojo

XP 、 Scrum 讨论

各抒己见

Page 19: 敏捷实践 : 代码道场  Agile  Practice: Coding Dojo

《 Clean Code 》

“武术家从不认同所谓最好的武术,也不认同所谓绝招。武术大师们常常创建自己的流派,聚徒而授。

因此我们才看到 格雷西家族在巴西开创并传授的格雷西柔术(Gracie Jiu Jistu ),奥山龙峰(Okuyama Ryuho)在东京开创并传授的八光流柔术(Hakkoryu Jiu Jistu),李小龙(Bruce Lee)在美国开创并传授的截拳道( Jeet Kune Do )。

弟子们沉浸于创始人的授业。他们全心师从某位师傅,排斥其他师傅。

弟子有所成就后,可以转投另一位师傅,扩展自己的知识与技能。

有些弟子最终百炼成钢,创出新招数,开宗立派。

任何门派都并非绝对正确。不过,身处某一门派时,我们总以其所传之技为善。

归根结底,练习八光流柔术或截拳道,自有其善法,但这并不能否定其他门派所授之法。” Robert C. Martin

Page 20: 敏捷实践 : 代码道场  Agile  Practice: Coding Dojo
Page 21: 敏捷实践 : 代码道场  Agile  Practice: Coding Dojo

参考 XP(Extreme Programming)

http://xprogramming.com/index.php KISS(Keep it simple, Stupid!)

http://en.wikipedia.org/wiki/KISS_principle YAGNI(You Aren't Going to Need It)

http://www.artima.com/weblogs/viewpost.jsp?thread=36529 Minimalism(LIM:Less is more)

http://en.wikipedia.org/wiki/Minimalism User story

http://en.wikipedia.org/wiki/User_story INVEST

http://en.wikipedia.org/wiki/INVEST_(mnemonic) 3C(Card, Conversation, and Confirmation)

http://xprogramming.com/articles/expcardconversationconfirmation/ Coding Dojo( 代码道场 )

http://www.danielteng.com/2011/03/15/coding-doj/ Retrospective

http://en.wikipedia.org/wiki/Retrospective