30

DPR301 demo Executable Requirements

Embed Size (px)

Citation preview

Executable Requirements Let You Play More Foosball!

Eric LandesAgile CoachPress Ganey

DPR301

Agenda

What bad looks likeHow it happensBetter waysExample

Bad Requirements Examples

LengthyUnfocusedAmbiguousVerified Manually

Bad requirement might look like:

As a consumer of the Comments webService, I can retrieve the sentiment percentage of comments by serviceAcceptance Criteria:Include percent negative, percent positive, percent neutral and percent mixed by service - this will be consistent with our database reports (see database comments page under Attachments section). Include percentages from the x time period - this will be in the configuration file. For October, it will be from the past 30 days. Neutral category includes comments categorized as neutral and mixed The percentage of positive/negative/neutral should add up to 100% by service Because some clients have a category of Open, which we are not using, there is a chance that the percentages will not add up to 100%. If there is more than 1 site (e.g. CSS ID) or client per service (e.g. CSS ID), aggregate the positive/negative/neutral/mixed percentages. Include the total number of surveys (e.g. sample size) across all services and sites the user has permission to. This should be consistent with how we count 'total surveys processed' for the database reports (see database comments page under Attachments section). The percentages and n updated daily based on surveys received. Exclude Employee (EP, SE, EX), Physician (ME, SS), Community Image (CI) and Safety Culture (SC) in all scenarios from the Improvement Opportunities; use application's configuration file to allow easy changes to this list. FYI:  if the account has not contracted for comments (indicated in the profile), the widget should not appear or will be replaced by an advertisement). FYI:  if the account has contracted for comments but has no comments, then the widget should appear with a message like "no data available" - message tbd.Reference pg 2 under the Links of this story for a wireframe - this wireframe will be updated to incorporate mixed. Comments widget story can be referenced under the Links section of this story

demo

A Common Scenario

As a non frequent traveller member visitor to our web site, I want to be able to browse the hotel properties In order to capture sales from non members.

So, What Happened?

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 knowing 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 DabbleboardPhone call

Confirm agreement with lite documentation

Speak the Same Language

Capture the Common Objective“Elevator Statement”/Theme

Create a Shared workspacePhysicalWiki

Keep 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

Layer Your Tests

Traditionally, your test layers might look a lot like this:

UAT

Manually Executed Test Scripts

Layer Your Tests - More

Traditionally, your test layers might look a lot like this:

UAT

Manually Executed Test Scripts

Unit Test

Layer Your Tests - More

Traditionally, your test layers might look a lot like this:

UAT

Manually Executed Test Scripts

Unit Test

UAT

Sto

ry

Manually Executed Test Scripts

Better Yet…

Unit Test

Automated Functional Tests

Manual Tests

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

demo

Defining Executable Requirements FitnesseScenario:

Existing ApplicationEric – Product Owner/CustomerEric – Technology Team Member

.

demo

Defining Executable Requirements SpecflowScenario:

Existing ApplicationEric – Product Owner/CustomerEric – Technology Team Member

.

Speaker Contact Information

Eric Landes (Press Ganey)[email protected]://www.linkedin.com/in/ericlandeshttp://twitter.com/ericlandes

This slide deck was developed in association with Dan [email protected]://www.linkedin.com/in/MeetDanNeumannhttp://twitter.com/Dan_SB

Related Content

Breakout Sessions DEV 204Manual Testing with Microsoft Test Manager.Dev 309 Test Automation with Microsoft Visual Studio 2010…

Find Me Later At… Visual Studio ALM

DPR Track Resources

http://www.microsoft.com/visualstudio http://www.microsoft.com/visualstudio/en-us/lightswitch http://www.microsoft.com/expression/http://blogs.msdn.com/b/somasegar/http://blogs.msdn.com/b/bharry/http://www.microsoft.com/sqlserver/en/us/default.aspxhttp://www.facebook.com/visualstudio

Resources

www.microsoft.com/teched

Sessions On-Demand & Community Microsoft Certification & Training Resources

Resources for IT Professionals Resources for Developers

www.microsoft.com/learning

http://microsoft.com/technet http://microsoft.com/msdn

Learning

http://northamerica.msteched.com

Connect. Share. Discuss.

Complete an evaluation on CommNet and enter to win!

Scan the Tag to evaluate this session now on myTech•Ed Mobile