Best Practices for Collecting User Requirements

Similar documents
How to Collect and Manage Requirements for Successful GIS Projects. Matt Harman Craig Venker

Testing in the Agile World

Business Analysis for Practitioners - Requirements Elicitation and Analysis (Domain 3)

An Intro to Scrum. Agile (Iterative) Project Development. Written in 2001 Can be read in its entirety at:

Lecture 7: Software Processes. Refresher: Software Always Evolves

Using the ICONIX Process Roadmap

Designed in collaboration with Infosys Limited

Agile Accessibility. Presenters: Ensuring accessibility throughout the Agile development process

Chapter 1: Introduction to Systems Analysis

Agile Tester Foundation E-learning Course Outline

Requirements and User-Centered Design in an Agile Context

Requirements Gathering: User Stories Not Just an Agile Tool

350 Index 2005 GOAL/QPC

Testing Agile Projects Stuart Reid

Software Development Process Models

The Analysis and Proposed Modifications to ISO/IEC Software Engineering Software Quality Requirements and Evaluation Quality Requirements

Working in Harmony: Integrating the efforts of usability engineers and agile software developers

Writing Agile User Stories

Agile Software Development Agile UX Work. Kati Kuusinen TUT / Pervasive / IHTE

The Process of Software Architecting

Ready for Scrum? Steve Hutchison DISA T&E

Systems Analysis and Design in a Changing World, Fourth Edition

Systems Analysis & Design

I am Stephen LeTourneau from Sandia National Laboratories Sandia s National Security Missions include: Nuclear Weapons Defense Systems & Assessments

Evolutionary Architecture and Design

Software Engineering I (02161)

Testing. in A Large scale agile Development Environment

CREATING EFFECTIVE USER STORIES

LESSONS LEARNED: BEING AGILE IN THE WATERFALL SANDBOX

Testing in an Agile Environment Understanding Testing role and techniques in an Agile development environment. Just enough, just in time!

Adopting Agile Practices

Development Processes Agile Adaptive Planning. Stefan Sobek

Architecture and Design Evolution

Test Automation Strategies in Continuous Delivery. Nandan Shinde Test Automation Architect (Tech CoE) Cognizant Technology Solutions

Managing The Digital Network Workforce Transformation

Case Management Digital Service Sprint Review Sprint 5.1: 11/16/17 11/29/17. CWDS / Child Welfare Digital Services

Activities Common to Software Projects. Software Life Cycle. Activities Common to Software Projects. Activities Common to Software Projects

Best Practices for Final Year Projects

Software Quality in a Modern Development Team. Presented by Timothy Bauguess and Marty Lewis

Exam Questions

Microsoft. Recertification for MCSD: Application Lifecycle Management

Standardized Data Production Strategies Across Your Enterprise

Shift Left Testing: are you ready? Live Webinar, Sept 19

Topic 01. Software Engineering, Web Engineering, agile methodologies.

SOLUTION BRIEF RSA NETWITNESS NETWORK VISIBILITY-DRIVEN THREAT DEFENSE

for TOGAF Practitioners Hands-on training to deliver an Architecture Project using the TOGAF Architecture Development Method

02291: System Integration

Value & Role of Business Analyst in Agile. Presented by: Jagruti Shah Associate Business Consultant Mastek Ltd

Agile is from Mars Usability is from Venus

The Scaled Agile Framework

Introduction to Software Engineering

Object-Oriented Analysis and Design Using UML (OO-226)

Software Engineering

Lecture 8: Use Case -Driven Design. Where UML fits in

Red Hat Application Migration Toolkit 4.0

Introduction - SENG 330. Object-Oriented Analysis and Design

Agile Software Development. Software Development Methodologies. Who am I? Waterfall. John York JOHN YORK EECS 441 FALL 2017 A BRIEF LOOK

SM 3511 Interface Design. Institutionalizing interface design

1. i. What are the 3 major components of a information system and show their relationship input output

Agile Software Development. Software Development Methodologies. Who am I? Waterfall. John York JOHN YORK EECS 441 WINTER 2018 A BRIEF LOOK

defined. defined. defined. defined. defined. defined. defined. defined. defined.

Agile Project Management with Primavera

(Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn? New Batches Info

Incorporating User Centered Requirement Engineering into Agile Software Development

Requirement Engineering within an Agile Environment BY KEJI GIWA. Digital Bananas Technology

USER MANUAL. Inprowiser Engineering

Story Refinement How to write and refine your stories so that your team can reach DONE by the end of your sprint!

Foundation Level Syllabus Usability Tester Sample Exam

Test Driven Development. René Barto SES Agile Development - Test Driven Development

VANCOUVER Chapter Study Group. BABOK Chapter 9 Techniques

DATA SHEET RSA NETWITNESS PLATFORM PROFESSIONAL SERVICES ACCELERATE TIME-TO-VALUE & MAXIMIZE ROI

Collaboration at Scale: Prioritizing a Backlog. 13-Dec-2017

THE JOURNEY OVERVIEW THREE PHASES TO A SUCCESSFUL MIGRATION ADOPTION ACCENTURE IS 80% IN THE CLOUD

Introduction to User Stories. CSCI 5828: Foundations of Software Engineering Lecture 05 09/09/2014

UCLA RESEARCH INFORMATICS STRATEGIC PLAN Taking Action June, 2013

Getting a Quick Start with RUP

DevOps in an ITIL Shop. Not just compatible; DevOps achieves ITIL s promise.

Defining Project Requirements

A Proposal to Develop a Testing Framework for Agile Software Process

Quality, Project Management & Supply Professional (Customized). Choice of any 3 certifications outlined as follows:

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping

<Insert Picture Here> CxP Design Sprint

Incremental development A.Y. 2018/2019

Optimize tomorrow today.

Bob Galen. Bob began as a developer, then moved to Project Management and Leadership, then Testing.

AGILE MARKETING WITH KANBAN BOARDS. Created by Femi Olajiga - Agile Marketing Coach and Team Effectiveness Trainer

A CONFUSED TESTER IN AGILE WORLD

HP APPs v.12 Solutions for Dev-Ops

User Centered Design Interactive Software Lifecycle

White Paper. Incorporating Usability Experts with Your Software Development Lifecycle: Benefits and ROI Situated Research All Rights Reserved

needs, wants, and limitations

A Tale of Continuous Testing

Security Automation Best Practices

Practicing Agile As a BA

Software Development Methodologies

The software lifecycle and its documents

Red Hat Application Migration Toolkit 4.2

Major Topics. Prototyping and Rapid Application Development

User Stories. Wednesday, January 23, 13

HPE ALM Standardization as a Precursor for Data Warehousing March 7, 2017

Transcription:

Federal GIS Conference February 9 10, 2015 Washington, DC Best Practices for Collecting User Requirements Gerry Clancy Glenn Berger

Requirements Provide direction for program success

Why Requirements are Important? Early mistakes lead to costly fixes

Features and Functions Used in a Typical System Never 45% Always 7% Often 13% Sometimes 16% 20% - Often or Always Rarely 19% 64% - Rarely or Never Standish Group Study Reported at XP2002 by Jim Johnson, Chairman Build for Value Requirements evolve over time

Hours Months Where do Requirements fit? Waterfall implementation

Source: Vikas Thange Blog Where do Requirements fit? Agile implementation

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

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

COTS First Prototyping Scenario Walkthroughs Use Cases Workshops User Stories Surveys Document Analysis Interviews Requirements Collection Potential techniques

Custom Custom build to meet business goals COTS Components Custom system using some COTS elements COTS System Orchestrates COTS to meet business goals Custom Development COTS Software COTS First Approach Configuration Leveraging existing technologies

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 Non- Functional Requirements Business Requirements User Engagement and Demonstrations Benefits of a COTS First Approach Leveraging existing technology

Small focused Allocate to iterations User Stories Supported scenarios Use Cases Actor to System interaction Vision - Get everyone on the same page Requirements Workshops Getting at the real needs

Use Case #: 00001 Title: Explore new locations 1. User accesses web application or app on the ipad 2. User selects View Map from title bar 3. User turns on property locations within the map 4. User selects property sites to view attribute information for a location 5. Once user has defined an Area of Interest User can select View Charts from title bar 6. User can select Demographics to obtain market data in chart format Use Cases Capturing workflow

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 tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. Manifesto for Agile Software Development Agile Approach Iterative, evolutionary approach

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

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

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

User Stories Simple and concise

Product Owner Development Lead Stakeholders The team User stories facilitate a conversation with the team

User Stories Progressively decompose your stories

User Stories Consider grouping them into themes

Not always about [a user] Capture key concepts

Scenario 1: Title Given [context] And [some more context] When [event] Then [outcome] And [another outcome] How to test a user story Don t forget the acceptance criteria Esri UC 2014 Technical Workshop

Test Scenario 1: Pop-up Window Display User Story 1: Pop-up window display 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. 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. Esri UC 2014 Technical Workshop

Use Paper Cards Keep them simple and concise

Product Backlog Requirements Who is it for? What is the result? Why is it needed? User Story #2 User Story #3 User Story #1 Daily Review Sprint Cycle <30 Days Sprint Plan/Backlog Tasks Working Increment Agile Lifecycle Evolutionary Refinement of Requirements

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

Keep user stories visible Focus of daily meetings

Microsoft Team Foundation Server (TFS) JIRA Requirement Management Tools Licensed and Open Source

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 Requirements Process Things to avoid

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 Requirements THE most important part of a project

Esri project methodologies www.esri.com/services/professional-services/methodology.html Agile & Iterative Development: A Manager s Guide by Criag Larman, 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

Thank-you Please fill out the session survey