Practical way to experience of Specification by Example

2,790 views

Published on

Published in: Technology, Business

Practical way to experience of Specification by Example

  1. 1. PracticalWays tosBELarry CaiPractical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 1 (28)
  2. 2. 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 reviewLarry Cai › mail: larry.caiyu@gmail.com › weibo: http://weibo.com/larrycaiyu › blog: http://codeslife.com Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 2 (28)
  3. 3. Requirement is the important thing for software developmentPractical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 3 (28)
  4. 4. One good way to improve your requirement handlingPractical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 4 (28)
  5. 5. agenda› WHAT is specification by example› How we make changes› Key learning› suggestionPractical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 5 (28)
  6. 6. agenda› WHAT is specification by example› How we make changes› Key learning› suggestionPractical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 6 (28)
  7. 7. Specification byexample› Based on capturing and illustrating requirements using realistic examples instead of abstract statements.Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 7 (28)
  8. 8. 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 website And I’m logged in as a returning customer When I click the “1-Click” button Then I should see my order detailsPractical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 8 (28)
  9. 9. Specification byexample› 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 productsPractical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 9 (28)
  10. 10. All othersCreated by http://www.wordle.net/ Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 10 (28)
  11. 11. agenda› WHAT is specification by example› How we make changes – Embrace example – Change delivery plan› Key learning› suggestionPractical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 11 (28)
  12. 12. without example› Feature: Free delivery Customer will get free delivery when buy some books We igh tv s. N um ber n aiwa ai vs. T ngh Sha Books w ith USB e sh machin Books with waPractical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 12 (28)
  13. 13. 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 requirementDo we do the right thing from the beginning ?Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 13 (28)
  14. 14. 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,….)Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 14 (28)
  15. 15. Tool is good, but it is not must-have to usePractical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 15 (28)
  16. 16. Specification byexampleSource: key process from the book “Specification by example”Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 16 (28)
  17. 17. 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 beginningPractical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 17 (28)
  18. 18. visible requirement› One source and everyone check/challenge ! Wall, White board ….Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 18 (28)
  19. 19. 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 !Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 19 (28)
  20. 20. Change deliver plan› From component based to feature based Task based Feature based/DeliveryPractical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 20 (28)
  21. 21. clear drive› Deliver plan based on the requirement – Tester is most suitable› Done of definition is more easy to track and clearPractical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 21 (28)
  22. 22. agenda› WHAT is specification by example› How we make changes› Key learning› suggestionPractical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 22 (28)
  23. 23. 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 beginningPractical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 23 (28)
  24. 24. 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 …)Practical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 24 (28)
  25. 25. agenda› WHAT is specification by example› How we make changes› Key learning› suggestionPractical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 25 (28)
  26. 26. 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 demoPractical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 26 (28)
  27. 27. 实例化需求,你行的 weibo: http://weibo.com/larrycaiyuPractical way to experience Specification by Example | Scrum Gathering Shanghai 2012 | 2012-06-04 | Page 27 (28)

×