executable requirements sqe - stickyminds · type of executable requirements automated functional...
TRANSCRIPT
…getting from bad to excellent!
About…
Eric Landes, Lead Project Manager at Press Ganey
Have used Agile methodologies to deliver both web applications and ‘shipped’ applicationsOver 5 years of experience using Agile
Agenda
What bad looks likeHow it happensBetter waysExample
Bad Requirements Examples
LengthyUnfocusedAmbiguousVerified Manually
Bad requirement might look like:
Frequent Travelers can log in to the site and see a place to reserve rooms.Frequent Travelers can click on links to see what the properties look like.There should be an address visible.
How did the issues come about?
Working in isolationSpeaking different languagesTrying to cover too many…
Types of usersActions of a specific userExceptions to the ‘happy path’
Limiting to one type of artifactDocumentation that becomes stale
A Better Strategy
Our strategy for executable requirements means we have to know when the requirements are met. This is achieved by:
Collaborating CloselyCreating a Common LanguageRemoving AmbiguityLayer Your Test Types
Tips for Close Collaboration
Collaboration on acceptance criteria between customer and teamGet the different parties together○ Same room ○ Video conference/Skype ○ Collaboration tools like Dabbleboard○ Phone callConfirm agreement with lite documentation
Speak the Same Language
Capture the Common Objective○ “Elevator Statement”/ThemeCreate a Shared workspace○ Physical○ WikiKeep the Team Consistent
Remove Ambiguity
Provide Additional Context Have the ConversationCreate an OverviewSupplement with Picture(s) or DiagramsIdentify the Actor or PersonaMock the UI with Wireframes
DEMO
From the blog “Pragmatic Agilist” by Elena Yatzeckhttp://pagilista.blogspot.com/2010/11/comprehensive-documentation-strikes.html
Executable Requirements
Manually Executed
Test Scripts
UAT
Manually Executed Test Scripts
Layer Your Tests
Traditionally, your test layers might look a lot like this:
UAT
Manually Executed Test Scripts
Layer Your Tests - More
Developers may embrace Unit Testing
Unit Test
UAT
Manually Executed Test Scripts
Better Yet…
Unit Test
Automated Functional Tests
Manual Tests
Stor
y
Primarily Exploratory
Tests
Type of Executable Requirements
Automated Functional TestsFunctional tests can be written, regardless of the use of Unit TestsAutomated and integrated into the build activityAre not necessarily UI tests
Unit Tests cover small pieces of the code, are created by the developers, and are outside the scope of this session. See “Test Driven Development by Example” by Kent Beck, or “Clean Code” by Robert Martin
So what?
Executable Requirements are a time saverHelps IT and Business work more closely togetherGet the feature right the first timeLowers the cost of iteratingReduced maintenance and “end of project” tails to regress
Frees team up to improve software without the big cost of manual regression testing
Introduce new featuresFixing defectsRefactor code
Good Executable Requirements
Understandable to developerUnderstandable to businessUnambiguousAutomatedRun frequently
Defining Executable Requirements
DemoScenario:
Existing ApplicationEric – Product Owner/CustomerDan – Technology Team Member
SummaryExecutable requirements:
Written to what the business needsCome about through a different processIncrease value throughputRemain relevant through automation
References…Lean-Agile Acceptance Test-Driven Development by Ken PughTest Driven .NET Development with FitNesse by Gojko AdzicFitnesse (http://fitnesse.org/)Selenium (http://seleniumhq.org/)Cucumber (http://cukes.info/)
Thank You
Speaker Contact InformationEric Landes (Press Ganey)○ [email protected]○ http://www.linkedin.com/in/ericlandes○ http://twitter.com/ericlandesThis slide deck was developed in association with Dan Neumann○ [email protected]○ http://www.linkedin.com/in/MeetDanNeumann○ http://twitter.com/Dan_SB
Please provide feedback on ways this presentation can be improved
About Press Ganey
Recognized as a leader in performance improvement for 25 years, Press Ganey partners with more than 10,000 health care organizations to create and sustain high performing organizations, and, ultimately, improve the overall health care experience. For more information, visit www.pressganey.com.
Copyright InformationThis work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
You are free to Share―to copy, distribute and transmit the work
Attribution. You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).