O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Analysis and Synthesis - how to get the balance right

595 visualizações

Publicada em

Slides from our talk given at Agile Testing and BDD Exchange 2015

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Analysis and Synthesis - how to get the balance right

  1. 1. Analysis Break down and examine Put conclusions together and form a coherent whole Synthesis
  2. 2. Functional Decomposition Tree
  3. 3. Code Requirements Functional Specification High Level Design Detailed Design Unit Tests Component Integration Tests System Tests Acceptance Tests The V Model
  4. 4. In order to know what the hell I’m doing As a disillusioned team member I need a vast and sprawling backlog of 50 million disembodied user stories entered into Jira
  5. 5. Code A conversation Unit Tests Some Tests Agile? In order to know what the hell I’m doing As a disillusioned team member I need a vast and sprawling backlog of 50 million user stories entered into Jira Better collaboration Lots less Documentation!
  6. 6. Code A conversation Unit Tests Some Tests TDD? In order to know what the hell I’m doing As a disillusioned team member I need a vast and sprawling backlog of 50 million user stories entered into Jira Unit tests inform the implementation and we can make changes more confidently Better collaboration Lots less Documentation!
  7. 7. Code A conversation Unit Tests Examples BDD? In order to know what the hell I’m doing As a disillusioned team member I need a vast and sprawling backlog of 50 million user stories entered into Jira The test is the specification Better collaboration Lots less Documentation! Unit tests inform the implementation and we can make changes more confidently Less ambiguity
  8. 8. Solution Focus
  9. 9. BA Developer Tester User
  10. 10. Requirement Specification
  11. 11. Code and well named tests Examples that help project teams understand the outputs and interactions that deliver those outcomes Examples that help development teams agree on the scenarios, behaviours and interfaces and how to verify them Examples that help stakeholders agree outcomes & explore options Nirvana Examples that help development teams clarify implementation of rules, and guide development Continuous collaboration
  12. 12. Design Thinking DIVERGE CONVERGE Create Choices Make Choices
  13. 13. In order to contribute to high value business outcomes As a motivated team member I need purpose, direction, context and shared understanding
  14. 14. Getting the Balance Right
  15. 15. Getting the Balance Right is hard if our only tools are As a… In order to… I want… and Given… When… Then…
  16. 16. BDD practitioners use conversations about concrete examples to build up a common understanding of what features will deliver real value to the organisation @wakaleo
  17. 17. Activity 4 Inputs Inputs Outcomes In order to xxx As a xxx I need xxx 1 2 Illustrate these using examples Activity 1 Activity 2 Activity 3 Activity 4 3 Process Outputs0.99 ✗ 1 ✓ £$% ✗ 5 Inputs and data attributes to drive the scenarios. Like Test Conditions or detailed examples The process or interactions required to generate the outputs: Like the backbone of a Story Map Use Specification by Example for this Scenarios Scenarios 4 Given xxx When xxx Then xxx Different paths through the process to generate the outputs Like Test Cases These are the outputs that deliver the required outcomes You could get this starting point from the ‘How’ level of an Impact Map. The ‘Impacts’ Back of a fag packet BDD Analysis
  18. 18. Outcomes Outputs Process Scenarios Inputs
  19. 19. Activity 4 Inputs Inputs Outcomes In order to xxx As a xxx I need xxx 1 2 Illustrate these using examples Activity 1 Activity 2 Activity 3 Activity 4 3 Process Outputs0.99 ✗ 1 ✓ £$% ✗ 5 Inputs and data attributes to drive the scenarios. Like Test Conditions or detailed examples The process or interactions required to generate the outputs: Like the backbone of a Story Map Use Specification by Example for this Scenarios Scenarios 4 Given xxx When xxx Then xxx Different paths through the process to generate the outputs Like Test Cases These are the outputs that deliver the required outcomes You could get this starting point from the ‘How’ level of an Impact Map. The ‘Impacts’ Back of a fag packet BDD Analysis
  20. 20. Doing the right thing is more important than doing the thing right There is nothing quite so useless as doing with great efficiency something that should not be done at all -Peter Drucker
  21. 21. Invest in Outcomes vs Estimate Cost of Features
  22. 22. Why? Who? Who? How? How? What? What? What? Impact Mapping
  23. 23. Investment Game – Round 1
  24. 24. Investment Game – Round 1
  25. 25. Investment Game – Round 1
  26. 26. Investment Game – Round 1
  27. 27. Investment Game – Round 1
  28. 28. Investment Game – Round 2
  29. 29. Investment Game – Round 2
  30. 30. Investment Game – Round 2
  31. 31. Investment Game – Round 2
  32. 32. Investment Game – Round 2
  33. 33. You could get this starting point from the ‘How’ level of an Impact Map. The ‘Impacts’
  34. 34. Inputs Inputs Outcomes In order to xxx As a xxx I need xxx 1 Activity 1 Activity 2 Activity 3 Activity 4 3 Process 0.99 ✗ 1 ✓ £$% ✗ 5 Inputs and data attributes to drive the scenarios. Like Test Conditions or detailed examples The process or interactions required to generate the outputs: Like the backbone of a Story Map Use Specification by Example for this Scenarios Scenarios 4 Given xxx When xxx Then xxx Different paths through the process to generate the outputs Like Test Cases Activity 4 2 Illustrate these using examples Outputs These are the outputs that deliver the required outcomes You could get this starting point from the ‘How’ level of an Impact Map. The ‘Impacts’ Back of a fag packet BDD Analysis
  35. 35. Activity 4 2 Outputs These are the outputs that deliver the required outcomes
  36. 36. Illustrate your outputs using concrete examples with real-world data
  37. 37. £10 off BigMart Garden Centre Coupon to be accepted only at BigMart stores. Coupon cannot be exchanged for cash. This coupon cannot be used in conjunction with any other BigMart offer. Only one coupon used per transaction. Coupon valid until 15/1/2015 When you Present your BigMart Club Card £1 off NEW Rustic Wrap range Coupon to be accepted only at BigMart stores. Coupon cannot be exchanged for cash. This coupon cannot be used in conjunction with any other BigMart offer. Only one coupon used per transaction. Coupon valid until 15/11/2015 Thanks Jenny! Thanks for your loyalty to BigMart this month, here’s a coupon for some free Cava to say thanks See www.BigMar.com/Rewards for terms and conditions
  38. 38. Can you give me an example?
  39. 39. Activity 4 2 Outputs These are the outputs that deliver the required outcomes Illustrate these using examples
  40. 40. Inputs Inputs Outcomes In order to xxx As a xxx I need xxx 1 Activity 1 Activity 2 Activity 3 Activity 4 3 Process 0.99 ✗ 1 ✓ £$% ✗ 5 Inputs and data attributes to drive the scenarios. Like Test Conditions or detailed examples The process or interactions required to generate the outputs: Like the backbone of a Story Map Use Specification by Example for this Scenarios Scenarios 4 Given xxx When xxx Then xxx Different paths through the process to generate the outputs Like Test Cases Illustrate these using examples Activity 4 2 Outputs These are the outputs that deliver the required outcomes You could get this starting point from the ‘How’ level of an Impact Map. The ‘Impacts’ Back of a fag packet BDD Analysis
  41. 41. Activity 1 Activity 2 Activity 3 Activity 4 3 Process The process or interactions required to generate the outputs: Like the backbone of a Story Map Processes give our outputs context and relevance
  42. 42. Create Coupon Issue Coupon View Reports Setup on portal View on portal Edit on Portal Publish to till emulator Publish to live till Evaluate Rules Issue Coupon View Reports backbone Setup creative Setup Issuance Rules Setup Distribution Rules Setup Priorities View existing Coupon Edit & Save Changes Evaluate basket from emulator Render coupon in emulator Real time issuance update to portal Publish without images Publish multiple coupons Evaluate personal offers from emulator Coupon issuance report updated Publish with images Evaluate & Prioritise coupons Edit & Publish updates Print Coupon Issue offer to mobile app Sort reports by Campaign
  43. 43. Visualise milestones that deliver end-to-end value
  44. 44. Create Coupon Issue Coupon View Reports Setup on portal View on portal Edit on Portal Publish to till emulator Publish to live till Evaluate Rules Issue Coupon View Reports backbone Setup creative Setup Issuance Rules Setup Distribution Rules Setup Priorities View existing Coupon Edit & Save Changes Evaluate basket from emulator Render coupon in emulator Real time issuance update to portal Publish without images Publish multiple coupons Evaluate personal offers from emulator Coupon issuance report updated Publish with images Evaluate & Prioritise coupons Edit & Publish updates Print Coupon Issue offer to mobile app Sort reports by Campaign
  45. 45. Create Coupon Issue Coupon View Reports Setup on portal View on portal Edit on Portal Publish to till emulator Publish to live till Evaluate Rules Issue Coupon View Reports backbone Opening Game Mid Game End Game
  46. 46. Create Coupon Issue Coupon View Reports Setup on portal View on portal Edit on Portal Publish to till emulator Publish to live till Evaluate Rules Issue Coupon View Reports backbone Setup creative Setup Issuance Rules Setup Distribution Rules Setup Priorities View existing Coupon Edit & Save Changes Evaluate basket from emulator Render coupon in emulator Real time issuance update to portal Publish without images Publish multiple coupons Evaluate personal offers from emulator Coupon issuance report updated Publish with images Evaluate & Prioritise coupons Edit & Publish updates Print Coupon Issue offer to mobile app Sort reports by Campaign
  47. 47. Create Coupon Issue Coupon View Reports Setup on portal View on portal Edit on Portal Publish to till emulator Publish to live till Evaluate Rules Issue Coupon View Reports backbone Setup creative Setup Issuance Rules Setup Distribution Rules Setup Priorities View existing Coupon Edit & Save Changes Evaluate basket from emulator Render coupon in emulator Real time issuance update to portal Publish without images Publish multiple coupons Evaluate personal offers from emulator Coupon issuance report updated Publish with images Evaluate & Prioritise coupons Edit & Publish updates Print Coupon Issue offer to mobile app Sort reports by Campaign
  48. 48. Create Coupon Issue Coupon View Reports Setup on portal View on portal Edit on Portal Publish to till emulator Publish to live till Evaluate Rules Issue Coupon View Reports backbone Setup creative Setup Issuance Rules Setup Distribution Rules Setup Priorities View existing Coupon Edit (without saving) Edit & Save Changes Evaluate basket from emulator Render coupon in emulator Real time issuance update to portal Publish without images Publish multiple coupons Evaluate personal offers from emulator Coupon issuance report updated Publish with images Evaluate & Prioritise coupons Edit & Publish updates Print Coupon Issue offer to mobile app Sort reports by Campaign
  49. 49. Create Coupon Issue Coupon View Reports Setup on portal View on portal Edit on Portal Publish to till emulator Publish to live till Evaluate Rules Issue Coupon View Reports backbone Setup creative Setup Issuance Rules Setup Distribution Rules Setup Priorities View existing Coupon Edit (without saving) Edit & Save Changes Evaluate basket from emulator Render coupon in emulator Real time issuance update to portal Publish without images Publish multiple coupons Evaluate personal offers from emulator Coupon issuance report updated Publish with images Evaluate & Prioritise coupons Edit & Publish updates Print Coupon Issue offer to mobile app Sort reports by Campaign Opening Game
  50. 50. Create Coupon Issue Coupon View Reports Setup on portal View on portal Edit on Portal Publish to till emulator Publish to live till Evaluate Rules Issue Coupon View Reports backbone Setup creative Setup Issuance Rules Setup Distribution Rules Setup Priorities View existing Coupon Edit (without saving) Edit & Save Changes Evaluate basket from emulator Render coupon in emulator Real time issuance update to portal Publish without images Publish multiple coupons Evaluate personal offers from emulator Coupon issuance report updated Publish with images Evaluate & Prioritise coupons Edit & Publish updates Print Coupon Issue offer to mobile app Sort reports by Campaign Opening Game Mid Game
  51. 51. Create Coupon Issue Coupon View Reports Setup on portal View on portal Edit on Portal Publish to till emulator Publish to live till Evaluate Rules Issue Coupon View Reports backbone Setup creative Setup Issuance Rules Setup Distribution Rules Setup Priorities View existing Coupon Edit (without saving) Edit & Save Changes Evaluate basket from emulator Render coupon in emulator Real time issuance update to portal Publish without images Publish multiple coupons Evaluate personal offers from emulator Coupon issuance report updated Publish with images Evaluate & Prioritise coupons Edit & Publish updates Print Coupon Issue offer to mobile app Sort reports by Campaign Opening Game Mid Game End Game
  52. 52. Create Coupon Issue Coupon View Reports Setup on portal View on portal Edit on Portal Publish to till emulator Publish to live till Evaluate Rules Issue Coupon View Reports backbone View existing Coupon Edit (without saving) Evaluate basket from emulator Render coupon in emulator Real time issuance update to portal Opening Game 1 Login as BigMart 2 View Meal Deal Coupon 3a Update title 3b Show use of placeholder 6 View Big Days Out Mobile coupon 4 Run lunchtime basket 5 Get meal deal coupon 8 Run Big Days out basket 9 Get Big Days out Coupon 7 Show Big Days out is a higher priority 10 Run Basket that qualifies for both 11 Get Big Days out Coupon 12 Show 3 new issuance records Dream Demo makes it real
  53. 53. Inputs Inputs Outcomes In order to xxx As a xxx I need xxx 1 Activity 1 Activity 2 Activity 3 Activity 4 3 Process 0.99 ✗ 1 ✓ £$% ✗ 5 Inputs and data attributes to drive the scenarios. Like Test Conditions or detailed examples The process or interactions required to generate the outputs: Like the backbone of a Story Map Use Specification by Example for this Scenarios Scenarios 4 Given xxx When xxx Then xxx Different paths through the process to generate the outputs Like Test Cases Activity 4 2 Illustrate these using examples Outputs These are the outputs that deliver the required outcomes You could get this starting point from the ‘How’ level of an Impact Map. The ‘Impacts’ Back of a fag packet BDD Analysis
  54. 54. InputsInputs 0.99 ✗ 1 ✓ £$% ✗ 5ScenariosScenarios 4 Given xxx When xxx Then xxx Inputs and data attributes to drive the scenarios. Like Test Conditions or detailed examples Different paths through the process to generate the outputs Like Test Cases Use Specification by Example for this
  55. 55. Ubiquitous Examples Use the same examples to guide conversations with different audiences
  56. 56. Keeping it real The value in the example is in the data used to drive the example
  57. 57. Inputs Inputs Outcomes In order to xxx As a xxx I need xxx 1 Activity 1 Activity 2 Activity 3 Activity 4 3 Process 0.99 ✗ 1 ✓ £$% ✗ 5 Inputs and data attributes to drive the scenarios. Like Test Conditions or detailed examples The process or interactions required to generate the outputs: Like the backbone of a Story Map Use Specification by Example for this Scenarios Scenarios 4 Given xxx When xxx Then xxx Different paths through the process to generate the outputs Like Test Cases Activity 4 2 Illustrate these using examples Outputs These are the outputs that deliver the required outcomes You could get this starting point from the ‘How’ level of an Impact Map. The ‘Impacts’ Back of a fag packet BDD Analysis
  58. 58. Thank you!

×