Experience from specification_by_examples
-
Upload
larry-cai -
Category
Technology
-
view
572 -
download
0
Transcript of Experience from specification_by_examples
Experience withExperience withSpecification by Specification by ExampleExampleLarry Cai Larry Cai [email protected]@gmail.com
LarryLarry, an open source, collaboration & Agile evangelist, an open source, collaboration & Agile evangelist Software Practice PioneerSoftware Practice Pioneer to discover the best suitable to discover the best suitable
methods and tools to improve the efficiency of methods and tools to improve the efficiency of software developmentsoftware development
ProfileProfile
Requirement is the important thing for software development
One good wayOne good way to improve your requirement handlingto improve your requirement handling
agendaagendaWHAT is specification by exampleWHAT is specification by exampleTips-1 : Bring Tips-1 : Bring TesterTesterss in frontin frontTips-2 : Visible examples on the wallTips-2 : Visible examples on the wall
Specification by exampleSpecification by exampleBased on capturing and illustrating requirements Based on capturing and illustrating requirements using using realistic examplesrealistic examples instead of abstract instead of abstract statements. statements.
User storyUser story
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
Requirement: customer can check order information before purchase
Specification by exampleSpecification by exampleBased on capturing and illustrating requirements Based on capturing and illustrating requirements using using realistic examplesrealistic examples instead of abstract instead of abstract statements. statements.
CCollaborative approachollaborative approach to defining requirements to defining requirements and business-oriented functional tests for software and business-oriented functional tests for software products products
Also known as: Example-driven development, Executable requirements, Acceptance-Test Driven Development Agile Acceptance TestingBehavior Driven Development
Specification by exampleSpecification by example
Source: key process from the book “Specification by example”
Tool is good, but it is not must-have to try
inside agile iterationinside agile iteration
› Technical debt from unclear requirement › Tester verify the implementation cause bottleneck
Coding
Testing
Sprint n-1 Sprint n
Req
Backlog
inside agile iterationinside agile iteration
› Who read the test spec ?› Who read the test scripts ?› Where are original requirement and test spec ?
Requirementword
Coding
excel
Backlog
Test Spec
word
Test case description
Test code
Test case script
word
Test Report
wordword
SystemDescriptionword
System Document
Customer document
problemproblemTechnical debts in the end of iteration (notice the Technical debts in the end of iteration (notice the gap between design and verification)gap between design and verification)
Tester verify the implementation, which cause less Tester verify the implementation, which cause less of motivation for most of the testersof motivation for most of the testers
Waterfall inside the iterationWaterfall inside the iterationLess focus on the requirement in the beginningLess focus on the requirement in the beginningLess efficient way to clarify the requirement Less efficient way to clarify the requirement
Do we do the right thing from the beginning ?
agendaagendaWHAT is specification by exampleWHAT is specification by exampleTips-1 : Bring Tips-1 : Bring TesterTesterss in frontin front
Promote tester’s moralePromote tester’s morale Better control Quality of requirementBetter control Quality of requirement
Tips-2 : Visible examples on the wallTips-2 : Visible examples on the wall
Why put them in frontWhy put them in frontTester should be best people inside team to handle Tester should be best people inside team to handle requirementrequirement
Tester is less motivated compare to designer and Tester is less motivated compare to designer and mostly paid less. mostly paid less.
How to move to frontHow to move to frontMake sure the requirement is clearMake sure the requirement is clear
Testers make sure right things vs. designers make things Testers make sure right things vs. designers make things rightright
Deliver plan based on the requirementDeliver plan based on the requirement
agendaagendaWHAT is specification by exampleWHAT is specification by exampleTips-1 : Bring Tips-1 : Bring TesterTesterss in frontin frontTips-2 : Visible examples on the wallTips-2 : Visible examples on the wall
Reduce the communication costReduce the communication cost Remind good qualityRemind good quality
Why on the wallWhy on the wallRequirement is clarified in small group needs Requirement is clarified in small group needs further communicationfurther communication
Requirement is clarified in big group waste time for Requirement is clarified in big group waste time for some membersome member
One source and everyone check !One source and everyone check !
Requirement on the wall is specified by example
summarysummarySpecification by example gives good improvementSpecification by example gives good improvement
Requirement clarificationRequirement clarification Motivation for testersMotivation for testers
Learn and deploy, and continuously improve it.Learn and deploy, and continuously improve it. Bring testers into front to push for the quality of the Bring testers into front to push for the quality of the
requirementrequirement Collaborate efficiency by visible them Collaborate efficiency by visible them
What is not touchedWhat is not touched Tools (cucumber) is very useful, but is not necessary in Tools (cucumber) is very useful, but is not necessary in
the beginningthe beginning