executable requirements sqe - stickyminds · type of executable requirements automated functional...

14
…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’ applications Over 5 years of experience using Agile

Upload: others

Post on 03-Jun-2020

16 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Executable Requirements SQE - StickyMinds · Type of Executable Requirements Automated Functional Tests yFunctional tests can be written, regardless of the use of Unit Tests yAutomated

…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

Page 2: Executable Requirements SQE - StickyMinds · Type of Executable Requirements Automated Functional Tests yFunctional tests can be written, regardless of the use of Unit Tests yAutomated

Agenda

What bad looks likeHow it happensBetter waysExample

Bad Requirements Examples

LengthyUnfocusedAmbiguousVerified Manually

Page 3: Executable Requirements SQE - StickyMinds · Type of Executable Requirements Automated Functional Tests yFunctional tests can be written, regardless of the use of Unit Tests yAutomated

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.

Page 4: Executable Requirements SQE - StickyMinds · Type of Executable Requirements Automated Functional Tests yFunctional tests can be written, regardless of the use of Unit Tests yAutomated

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

Page 5: Executable Requirements SQE - StickyMinds · Type of Executable Requirements Automated Functional Tests yFunctional tests can be written, regardless of the use of Unit Tests yAutomated

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

Page 6: Executable Requirements SQE - StickyMinds · Type of Executable Requirements Automated Functional Tests yFunctional tests can be written, regardless of the use of Unit Tests yAutomated

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

Page 7: Executable Requirements SQE - StickyMinds · Type of Executable Requirements Automated Functional Tests yFunctional tests can be written, regardless of the use of Unit Tests yAutomated

DEMO

Page 8: Executable Requirements SQE - StickyMinds · Type of Executable Requirements Automated Functional Tests yFunctional tests can be written, regardless of the use of Unit Tests yAutomated

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:

Page 9: Executable Requirements SQE - StickyMinds · Type of Executable Requirements Automated Functional Tests yFunctional tests can be written, regardless of the use of Unit Tests yAutomated

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

Page 10: Executable Requirements SQE - StickyMinds · Type of Executable Requirements Automated Functional Tests yFunctional tests can be written, regardless of the use of Unit Tests yAutomated

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

Page 11: Executable Requirements SQE - StickyMinds · Type of Executable Requirements Automated Functional Tests yFunctional tests can be written, regardless of the use of Unit Tests yAutomated

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

Page 12: Executable Requirements SQE - StickyMinds · Type of Executable Requirements Automated Functional Tests yFunctional tests can be written, regardless of the use of Unit Tests yAutomated

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/)

Page 13: Executable Requirements SQE - StickyMinds · Type of Executable Requirements Automated Functional Tests yFunctional tests can be written, regardless of the use of Unit Tests yAutomated

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.

Page 14: Executable Requirements SQE - StickyMinds · Type of Executable Requirements Automated Functional Tests yFunctional tests can be written, regardless of the use of Unit Tests yAutomated

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).