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
敏捷实践:代码道场 Agile Practice: Coding Dojo
Agile starts here…
CBUCRM- 售中开发 李阳 & 余红明2011-11-18
大纲
1. 概念介绍: 15'-20' 2. 游戏规则说明: 5' 3. 实践 3 个 US(User Story ,用户故事 )
45’ 4. 回顾会 、讨论 40' 5.xp 、 scrum 头脑风暴 5' 6. 现状讨论 看时间
用户故事 (User Story) 的组成 正面——需求描述
角色:谁要使用这个功能。 活动:需要完成什么样的功能。 商业价值:为什么需要这个功能,这个功能带
来什么样的价值。 反面——验收条款
通过验收测试确认用户故事被正确完成。
故事写法
句式 As a <Role>, I want to <Activity>, so
that <Business Value>. 例如
作为一个“网站管理员”,我想要“统计每天有多少人访问了我的网站”,以便于“我的赞助商了解我的网站会给他们带来什么收益。”
注意 不能够使用技术语言来描述,要使用用户可以
理解的业务语言来描述。
US 实例
Mingle 中的 user story cards
* Mingle 是一个支持敏捷开发方法的项目管理工具,由 ThoughtWorks 公司开发
代码道场( Coding Dojo )
问题介绍
枫林晚书店 POS 系统案例 购书付款收银 会员 会员积分 会员等级 折扣计价收银
游戏规则说明
结对 简单设计
用最简单的方式实现给定的功能 TDD
记住,先写测试代码 重构
变量命名、重复代码等 每个故事 15 分钟
游戏进行中… . 故事 1
需求描述 作为一个收银员,希望系统能根据客户选的书
和付款给出需找给客户多少零钱,方便结算。
验收条款 客户选了两本书, java 80 块, c++ 80 块,
付款 200 ,应找零 40
游戏进行中… . 故事 2
需求描述 作为客户,希望有个购物车,方便选书
验收条款 客户先选了 3 本书, 2 本 java 40.5 块 / 本,
1 本 c++ 80 块 / 本。后来觉得 2 本 java 太多,又去掉了 1 本。付款 150 ,应找零 29.5
游戏进行中… . 故事 3
需求描述 客户希望能在第一次购买付款后,使用同一个
购物车进行下一次购买 验收条款
客户买了两本书, java 80 块, c++ 80 块,付款 200 ,应找零 40 。付款后,客户使用同一购物车又买了 1 本 java , 50.5 块,付款100 ,应找零 49.5
游戏进行中… . 故事 4
需求描述 希望付款时能支持按折扣计算找零,为日后引
入会员机制做准备 验收条款
客户买了两本书, java 80 块, c++ 80 块,折扣 0.8 付款 200 ,应找零 72
客户买了两本书, java 80 块, c++ 80 块,折扣 0.75 付款 200 ,应找零 80
游戏进行中… . 故事 5
需求描述 会员积分功能:支持积分功能,积分量随着消
费额等额取整增加 验收条款
消费 100.5 元,获得 100 积分 消费 1000 元,获得 1000 积分 消费 2000 元,获得 2000 积分
游戏进行中… . 故事 6
需求描述 会员等级功能:能随客户的积分增加自动升级
等级(钻石、黄金、白金、普通),不同等级享受不同折扣优惠。客户初始等级为普通
验收条款 积分小于 1000 为普通会员 无折扣 积分满 1000 升级为白金会员 享受 9.5 折优惠 积分满 3000 升级为黄金等级享受 8 折优惠 积分满 5000 升级为钻石等级享受 6 折优惠
回顾会( Retrospective )
“驻足思考, 让灵魂跟上脚步”
XP 、 Scrum 讨论
各抒己见
《 Clean Code 》
“武术家从不认同所谓最好的武术,也不认同所谓绝招。武术大师们常常创建自己的流派,聚徒而授。
因此我们才看到 格雷西家族在巴西开创并传授的格雷西柔术(Gracie Jiu Jistu ),奥山龙峰(Okuyama Ryuho)在东京开创并传授的八光流柔术(Hakkoryu Jiu Jistu),李小龙(Bruce Lee)在美国开创并传授的截拳道( Jeet Kune Do )。
弟子们沉浸于创始人的授业。他们全心师从某位师傅,排斥其他师傅。
弟子有所成就后,可以转投另一位师傅,扩展自己的知识与技能。
有些弟子最终百炼成钢,创出新招数,开宗立派。
任何门派都并非绝对正确。不过,身处某一门派时,我们总以其所传之技为善。
归根结底,练习八光流柔术或截拳道,自有其善法,但这并不能否定其他门派所授之法。” Robert C. Martin
参考 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