Scrum Gathering 2012 Shanghai_产品管理及用户体验...

27
Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 1 (28) Practical Ways to sBE Larry Cai

description

讲师 :蔡煜 上海爱立信研发中心的软件开发高级专家,作为软件实践的先行者,主要工作就是探索软件开发的最好最适合的方法和工具,使得该研发中心成为IT领域顶尖人才向往的地方之一。同时他是一个开源,协作和敏捷的布道者。 话题介绍: 实例化需求”是探索软件需求和加强开发效率和质量的绝佳实践。 通过在团队中的推动和实施,得出了一些有用的经验,希望一起来分享和探讨。 1.从测试人员着手,提高他们的积极性,并解决“拖后腿”和后期加班的根源 2.把需求用实例描述后,张贴在墙上来加强沟通和减少不必要的沟通会议。 3.引导团队来接受新实践来替代传统的从上往下的推行,来确保团队快速接受。通过以上的主要技巧来推动团队的“实例化需求”,测试人员的主动性提高了,而且需求质量明显提高,技术债务也降低了。

Transcript of Scrum Gathering 2012 Shanghai_产品管理及用户体验...

Page 1: Scrum Gathering 2012 Shanghai_产品管理及用户体验 分会场:实例化需求的实践(蔡煜)

Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 1 (28)

Practical Ways to sBE

Larry Cai

Page 2: Scrum Gathering 2012 Shanghai_产品管理及用户体验 分会场:实例化需求的实践(蔡煜)

Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 2 (28)

who I am

› Larry: An open source, collaboration & Agile evangelist› Software Practice Pioneering:

Discover the best suitable methods and tools to improve the efficiency of software development– Git, CI, Sonar, Agile, Eclipse, Cloud, Code review

› mail: [email protected]

› weibo: http://weibo.com/larrycaiyu› blog: http://codeslife.com

Larry Cai

Page 3: Scrum Gathering 2012 Shanghai_产品管理及用户体验 分会场:实例化需求的实践(蔡煜)

Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 3 (28)

Requirement is the important thing for software development

Page 4: Scrum Gathering 2012 Shanghai_产品管理及用户体验 分会场:实例化需求的实践(蔡煜)

Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 4 (28)

One good way to improve your requirement handling

Page 5: Scrum Gathering 2012 Shanghai_产品管理及用户体验 分会场:实例化需求的实践(蔡煜)

Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 5 (28)

agenda

› WHAT is specification by example› How we make changes› Key learning› suggestion

Page 6: Scrum Gathering 2012 Shanghai_产品管理及用户体验 分会场:实例化需求的实践(蔡煜)

Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 6 (28)

agenda

› WHAT is specification by exampleWHAT is specification by exampleWHAT is specification by exampleWHAT is specification by example

› How we make changes› Key learning› suggestion

Page 7: Scrum Gathering 2012 Shanghai_产品管理及用户体验 分会场:实例化需求的实践(蔡煜)

Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 7 (28)

Specification by example

› Based on capturing and illustrating requirements using realistic examples instead of abstract statements.

Page 8: Scrum Gathering 2012 Shanghai_产品管理及用户体验 分会场:实例化需求的实践(蔡煜)

Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 8 (28)

User story

Requirement: customer can check order information before purchase

Feature: As a Returning Customer I want the system to remember my details so I can purchase goods more quickly.

Acceptance criteria:Scenario: Review Details Before Purchase

Given I’m on the Amazon websiteAnd I’m logged in as a returning customerWhen I click the “1-Click” buttonThen I should see my order details

Page 9: Scrum Gathering 2012 Shanghai_产品管理及用户体验 分会场:实例化需求的实践(蔡煜)

Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 9 (28)

Specification by example

› Based on capturing and illustrating requirements using realistic examples instead of abstract statements.

› Collaborative approach to defining requirements and business-oriented functional tests for software products

Page 10: Scrum Gathering 2012 Shanghai_产品管理及用户体验 分会场:实例化需求的实践(蔡煜)

Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 10 (28)

All others

Created by http://www.wordle.net/

Page 11: Scrum Gathering 2012 Shanghai_产品管理及用户体验 分会场:实例化需求的实践(蔡煜)

Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 11 (28)

agenda

› WHAT is specification by example› How we make changesHow we make changesHow we make changesHow we make changes

– Embrace exampleEmbrace exampleEmbrace exampleEmbrace example

– Change delivery planChange delivery planChange delivery planChange delivery plan

› Key learning› suggestion

Page 12: Scrum Gathering 2012 Shanghai_产品管理及用户体验 分会场:实例化需求的实践(蔡煜)

Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 12 (28)

without example

› Feature: Free deliveryCustomer will get free delivery when buy some books

Weight vs. Number

Shanghai vs. Taiwan

Books with USB

Books with wash machine

Page 13: Scrum Gathering 2012 Shanghai_产品管理及用户体验 分会场:实例化需求的实践(蔡煜)

Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 13 (28)

problem

› Technical debts in the end of iteration (notice the gap between design and verification)

› Waterfall inside the iteration› Less focus on the requirement in the beginning and no

efficient way to clarify the requirement

Do we do the right thing from the beginning ?Do we do the right thing from the beginning ?Do we do the right thing from the beginning ?Do we do the right thing from the beginning ?

Page 14: Scrum Gathering 2012 Shanghai_产品管理及用户体验 分会场:实例化需求的实践(蔡煜)

Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 14 (28)

Example matters

› Feature: Free Delivery› Example:

– Customer has 6 books in cart gets free delivery– Customer has 5 books in cart doesn’t get free delivery– Customer has 6 books in cart and delivery address to shanghai is

free delivery– Customer has 6 books in cart and delivery address to Qinghai

doesn’t get free delivery– Customer has 6 books in cart and one 2G USB get free delivery– Customer has 6 books in cart and one wash machine get ?

› Customer buy 6 books (included) and only books can have free delivery to mainland (exclude Tibet,….)

Page 15: Scrum Gathering 2012 Shanghai_产品管理及用户体验 分会场:实例化需求的实践(蔡煜)

Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 15 (28)

Tool is good, but it is not must-have to use

Page 16: Scrum Gathering 2012 Shanghai_产品管理及用户体验 分会场:实例化需求的实践(蔡煜)

Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 16 (28)

Specification by example

Source: key process from the book “Specification by example”

Page 17: Scrum Gathering 2012 Shanghai_产品管理及用户体验 分会场:实例化需求的实践(蔡煜)

Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 17 (28)

Embrace Example

› Team works with Product Owner for more examples (less how, more what) for each feature– Short vague and abstract description to nature language in example– Do it until passenger can understand

› Not easy to change. Training, coach and push in beginning

Page 18: Scrum Gathering 2012 Shanghai_产品管理及用户体验 分会场:实例化需求的实践(蔡煜)

Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 18 (28)

visible requirement

› One source and everyone check/challenge !

Wall, White board ….

Page 19: Scrum Gathering 2012 Shanghai_产品管理及用户体验 分会场:实例化需求的实践(蔡煜)

Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 19 (28)

Start from example

› Discuss in small group and spread to the team to make it more efficiency

› Test case comes from example and continuously to challenge what !

› Implement according to the example and focusing on how !

Page 20: Scrum Gathering 2012 Shanghai_产品管理及用户体验 分会场:实例化需求的实践(蔡煜)

Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 20 (28)

Change deliver plan

› From component based to feature based

Task based Feature based/Delivery

Page 21: Scrum Gathering 2012 Shanghai_产品管理及用户体验 分会场:实例化需求的实践(蔡煜)

Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 21 (28)

clear drive

› Deliver plan based on the requirement– Tester is most suitable

› Done of definition is more easy to track and clear

Page 22: Scrum Gathering 2012 Shanghai_产品管理及用户体验 分会场:实例化需求的实践(蔡煜)

Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 22 (28)

agenda

› WHAT is specification by example› How we make changes› Key learningKey learningKey learningKey learning

› suggestion

Page 23: Scrum Gathering 2012 Shanghai_产品管理及用户体验 分会场:实例化需求的实践(蔡煜)

Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 23 (28)

Key learning

› Specification by example gives good improvement– Better way for requirement clarification, easier than you can

image–Motivation for testers

› Learn and deploy, and continuously improve it.– Bring testers into front to push for the quality of the requirement– Collaborate efficiency by visible them

› Tools (like cucumber) is very useful, but is not necessary in the beginning

Page 24: Scrum Gathering 2012 Shanghai_产品管理及用户体验 分会场:实例化需求的实践(蔡煜)

Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 24 (28)

Compare to …

› Example is more nature for people to understand and directed connect to business (compare to test…)

› Collaboration is the key to refine the requirement and improve step by step (compare to driven …)

Page 25: Scrum Gathering 2012 Shanghai_产品管理及用户体验 分会场:实例化需求的实践(蔡煜)

Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 25 (28)

agenda

› WHAT is specification by example› How we make changes› Key learning› suggestion

Page 26: Scrum Gathering 2012 Shanghai_产品管理及用户体验 分会场:实例化需求的实践(蔡煜)

Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 26 (28)

suggestion

› Start from changing delivery plan to make team work together with business mindset

› Push team to clarify the requirement using example› Training, Coach in the beginning to touch real case instead

of demo

Page 27: Scrum Gathering 2012 Shanghai_产品管理及用户体验 分会场:实例化需求的实践(蔡煜)

Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 27 (28)

weibo: http://weibo.com/larrycaiyu

实例化需求,你行的