300 likes | 509 Views
DPR301. Executable Requirements Let You Play More Foosball!. Eric Landes Agile Coach Press Ganey. Agenda. What bad looks like How it happens Better ways Example. Bad Requirements Examples. Lengthy Unfocused Ambiguous Verified Manually. Bad requirement might look like:.
E N D
DPR301 Executable Requirements Let You Play More Foosball! Eric Landes Agile Coach Press Ganey
Agenda • What bad looks like • How it happens • Better ways • Example
Bad Requirements Examples • Lengthy • Unfocused • Ambiguous • Verified Manually
Bad requirement might look like: • As a consumer of the Comments webService, I can retrieve the sentiment percentage of comments by service • Acceptance 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
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. demo
How did the issues come about? • Working in isolation • Speaking different languages • Trying to cover too many… • Types of users • Actions of a specific user • Exceptions to the ‘happy path’ • Limiting to one type of artifact • Documentation that becomes stale
A Better Strategy • Our strategy for executable requirements means knowing when the requirements are met. This is achieved by: • Collaborating Closely • Creating a Common Language • Removing Ambiguity • Layer Your Test Types
Tips for Close Collaboration • Collaboration on acceptance criteria between customer and team • Get the different parties together • Same room • Video conference/Skype • Collaboration tools like Dabbleboard • Phone call • Confirm agreement with lite documentation
Speak the Same Language • Capture the Common Objective • “Elevator Statement”/Theme • Create a Shared workspace • Physical • Wiki • Keep the Team Consistent
Remove Ambiguity • Provide Additional Context • Have the Conversation • Create an Overview • Supplement with Picture(s) or Diagrams • Identify the Actor or Persona • Mock 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
Better Yet… UAT Primarily Exploratory Tests Manual Tests Manually Executed Test Scripts Automated Functional Tests Unit Test Story
Type of Executable Requirements • Automated Functional Tests • Functional tests can be written, regardless of the use of Unit Tests • Automated and integrated into the build activity • Are 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 saver • Helps IT and Business work more closely together • Get the feature right the first time • Lowers the cost of iterating • Reduced maintenance and “end of project” tails to regress • Frees team up to improve software without the big cost of manual regression testing • Introduce new features • Fixing defects • Refactor code
Good Executable Requirements • Understandable to developer • Understandable to business • Unambiguous • Automated • Run frequently
Defining Executable Requirements Fitnesse Scenario: Existing Application Eric – Product Owner/Customer Eric – Technology Team Member . demo
Defining Executable Requirements Specflow Scenario: Existing Application Eric – Product Owner/Customer Eric – Technology Team Member . demo
Speaker Contact Information • Eric Landes (Press Ganey) • corporatecoder@aspalliance.com • http://www.linkedin.com/in/ericlandes • http://twitter.com/ericlandes • This slide deck was developed in association with Dan Neumann • Dan@NeuManagementLLC.com • http://www.linkedin.com/in/MeetDanNeumann • http://twitter.com/Dan_SB
Required Slide Speakers, please list the Breakout Sessions, Interactive Discussions, Labs, Demo Stations and Certification Exam that relate to your session. Also indicate when they can find you staffing in the TLC. 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.aspx • http://www.facebook.com/visualstudio
Resources • Connect. Share. Discuss. http://northamerica.msteched.com Learning • Sessions On-Demand & Community • Microsoft Certification & Training Resources www.microsoft.com/teched www.microsoft.com/learning • Resources for IT Professionals • Resources for Developers http://microsoft.com/technet http://microsoft.com/msdn