1 / 34

Best Practices for Collecting User Requirements

Best Practices for Collecting User Requirements. Gerry Clancy Glenn Berger. Provide direction for program success. Requirements. Early mistakes lead to costly fixes. Why Requirements are Important?. 20% - Often or Always. 64% - Rarely or Never.

duman
Download Presentation

Best Practices for Collecting User Requirements

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Best Practices for Collecting User Requirements Gerry Clancy Glenn Berger

  2. Provide direction for program success Requirements Best Practices for Collecting User Requirements

  3. Early mistakes lead to costly fixes Why Requirements are Important? Best Practices for Collecting User Requirements

  4. 20% - Often or Always 64% - Rarely or Never Standish Group Study Reported at XP2002 by Jim Johnson, Chairman Requirements evolve over time Build for Value Best Practices for Collecting User Requirements

  5. Hours Months Waterfall implementation Where do Requirements fit? Best Practices for Collecting User Requirements

  6. Source: Vikas Thange Blog Agile implementation Where do Requirements fit? Best Practices for Collecting User Requirements

  7. Involve the right people • Align requirements gathering with project approach (COTS, Custom, Agile etc.) • Invest adequate time Business Analysts Project Manager Stakeholders IT Dept Requirements Key Users It is an art not a science Requirements Fundamentals Best Practices for Collecting User Requirements

  8. What Benefits? Increase Productivity Streamline Processes Reduce Costs Business Meet Goals Derive Benefits Performance Usability Quality Operational Standards Infrastructure What NOT how Clear Define workflow Testable Functional Quality of Service “What?” “How Well?” “What Constraints?” Solution Concept Leverage COTS components Business, Functional/Technical, COTS Types of Requirements Best Practices for Collecting User Requirements

  9. Use Cases COTS First User Stories Scenario Walkthroughs Prototyping Workshops Surveys Document Analysis Interviews Potential techniques Requirements Collection Best Practices for Collecting User Requirements

  10. Custom Development COTS Software Leveraging existing technologies Configuration COTS First Approach Best Practices for Collecting User Requirements

  11. Immediate capability… continually improving via COTS release cycles • Users engaged early to define “real” requirements • Accelerated project lifecycle and reduced time to deployment • Reduce overall risk Leveraging existing technology Benefits of a COTS First Approach Best Practices for Collecting User Requirements

  12. Small focused Allocate to iterations User Stories – Supported scenarios Use Cases – Actor to System interaction Vision - Get everyone on the same page Getting at the “real” needs Requirements Workshops Best Practices for Collecting User Requirements

  13. Use Case #: 00001 Title: Explore new locations User accesses web application or app on the iPad User selects ‘View Map’ from title bar User turns on property locations within the map User selects property sites to view attribute information for a location Once user has defined an Area of Interest User can select ‘View Charts’ from title bar User can select ‘Demographics’ to obtain market data in chart format Capturing workflow Use Cases Best Practices for Collecting User Requirements

  14. We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan That is, while there is value in the items onthe right, we value the items on the left more. Manifesto for Agile Software Development Iterative, evolutionary approach Agile Approach Best Practices for Collecting User Requirements

  15. User Story • Simple, brief descriptions of functionality • Primarily from a user (role) perspective • Sized for planning • Testable Best Practices for Collecting User Requirements

  16. As a [role], I can [feature] so that [reason] Best Practices for Collecting User Requirements

  17. Field Worker Public Citizen Real Estate Manager Data Provider Analyst Best Practices for Collecting User Requirements

  18. As a data provider I need to be able to upload my data to the client on a monthly basis, so that I can provide the most up-to-date data for analysis. As a real estate manager, I need to interact with a map to explore new locations. As an analyst, I need the ability to create a map with pop-ups to build easy-use-maps for management. As a public citizen, I need to interact with a map to see where new permits are allowed and potential site my new business. As a real estate manager, I need interactive map capability on my iPad so that I can travel minimalistic during site visits. As a real estate manager, I need to receive information by clicking on potential sites to better understand the property. As an analyst, I need to the ability to run hurricane models from Provider X and see the results on a map, so that I can better understand the impact on our book of business. Simple and concise User Stories Best Practices for Collecting User Requirements

  19. Development Lead Product Owner Hey! Something to look at, talk about, comment on, react to… The team Stakeholders facilitate a conversation with the team User stories Best Practices for Collecting User Requirements

  20. As an analyst, I need the ability to create a map with pop-ups to build easy-use-maps for management. As a real estate manager, I need to be able to see a pie chart of surrounding demographics so that I can match consumer demand with product. As a real estate manager, I need to interact with a map to explore new locations. As a real estate manager, I need to receive information by clicking on potential sites to better understand the property. As a real estate manager, I need interactive map capability on my iPad so that I can travel minimalistic during site visits. Progressively decompose your stories User Stories Best Practices for Collecting User Requirements

  21. ~~~~~~~~~~~ ~~~~~~~~~~~~~ ~~~~~~~~ ~~~~~~~~~ ~~~~~~~~~~~ ~~~~~~~~~~~~~ ~~~~~~~~ ~~~~~~~~~ ~~~~~~~~~~~ ~~~~~~~~~~~~~ ~~~~~~~~ ~~~~~~~~~ ~~~~~~~~~~~ ~~~~~~~~~~~~~ ~~~~~~~~ ~~~~~~~~~ ~~~~~~~~~~~ ~~~~~~~~~~~~~ ~~~~~~~~ ~~~~~~~~~ ~~~~~~~~~~~ ~~~~~~~~~~~~~ ~~~~~~~~ ~~~~~~~~~ ~~~~~~~~~~~ ~~~~~~~~~~~~~ ~~~~~~~~ ~~~~~~~~~ ~~~~~~~~~~~ ~~~~~~~~~~~~~ ~~~~~~~~ ~~~~~~~~~ Consider grouping them into themes User Stories Best Practices for Collecting User Requirements

  22. As a user interface, I need to look like the following image so that I can be intuitive to use Capture key concepts Not always about [a user] Best Practices for Collecting User Requirements

  23. Scenario 1: TitleGiven [context]And [some more context]…When [event]Then [outcome]And [another outcome]… How to test a user story Don’t forget the acceptance criteria Best Practices for Collecting User Requirements

  24. Test Scenario 1: Pop-up Window Display User Story 1: Pop-up window display • Given the user has the permissions to open the app • And the Current Project web map is loaded • When the user clicks on a feature • Then the application will open a centered dialog • And display the configured properties of feature. As a user, I can click on a project feature to view a configured set of properties so that I can understand the details of a the particular project. Best Practices for Collecting User Requirements

  25. Keep them simple and concise Use Paper Cards Best Practices for Collecting User Requirements

  26. Product Backlog • Requirements • Who is it for? • What is the result? • Why is it needed? Daily Review Sprint Cycle <30 Days Working Increment Tasks Evolutionary Refinement of Requirements Agile Lifecycle Best Practices for Collecting User Requirements

  27. Build for some Requirements Build for some Requirements Build for some Requirements Feedback Feedback Release Source: Agile & Iterative Development. Craig Larman Invest plenty of time Acceptance from the Customer Best Practices for Collecting User Requirements

  28. Focus of daily meetings Keep user stories visible Best Practices for Collecting User Requirements

  29. Microsoft Team Foundation Server (TFS) JIRA Licensed and Open Source Requirement Management Tools Best Practices for Collecting User Requirements

  30. Avoid long lists of requirements • Do not be judgmental • Prepare for conflicting requirements • Avoid requirements that are ambiguous • Avoid requirements that describe HOW (unless you are using COTS approach) • Don’t forget to prioritize Things to avoid Requirements Process Best Practices for Collecting User Requirements

  31. Solid requirements gathering leads to successful projects • Consider solution, COTS capabilities before collecting additional requirements • Involve the right people in the process • Pick a methodology that fits your project • Focus on the level of detail that is appropriate • Important to prioritize and allocate • Invest plenty of time to secure customer approval THE most important part of a project Requirements Best Practices for Collecting User Requirements

  32. Esri project methodologies • www.esri.com/services/professional-services/methodology.html • Agile & Iterative Development: A Manager’s Guide by CriagLarman, Addison-Wesley ,2003 • Software Requirements (2nd Edition) by Karl Wiegers, Microsoft Press, 2003 • Use Case Driven Object Modeling with UML by Doug Rosenberg and Matt Stephens, Apress, 2008 • Writing Effective User Cases, A Cockburn, Addison-Wesley, 2001 • Agile Development with ICONIX Process by Doug Rosenberg, Matt Stephens, and Mark Collins, Apress, 2005 • agilemanifesto.org/ References Best Practices for Collecting User Requirements

  33. Thank you… Please fill out the session survey: First Offering ID: 1037 Online – www.esri.com/ucsessionsurveys Paper – pick up and put in drop box Best Practices for Collecting User Requirements

  34. Best Practices for Collecting User Requirements

More Related