Technical Workshops | Esri International User Conference San Diego, California How to Successfully Collect, Analyze and Implement User Requirements Gerry.

Slides:



Advertisements
Similar presentations
Prescriptive Process models
Advertisements

Systems Development Environment
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
1 Software Requirement Analysis Deployment Package for the Basic Profile Version 0.1, January 11th 2008.
Rational Unified Process
SE 555 Software Requirements & Specification Requirements Management.
Esri International User Conference | San Diego, CA Technical Workshops | What you Need to Know About Managing an Enterprise GIS Project Gerry Clancy Glenn.
Fundamentals of Information Systems, Second Edition
Iterative development and The Unified process
COMP 350: Object Oriented Analysis and Design Lecture 2
IIBA Denver | may 20, 2015 | Kym Byron , MBA, CBAP, PMP, CSM, CSPO
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Enterprise Architecture
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Configuring ArcGIS.
PopMedNet Software Development Life Cycle Chayim Herzig-Marx Harvard Pilgrim Health Care Institute Daniel Dee Lincoln Peak Partners.
What is Business Analysis Planning & Monitoring?
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California ArcGIS for Local Government.
ArcGIS Workflow Manager An Introduction
Web Development Process Description
Best Practices for Collecting User Requirements Gerry Clancy Glenn Berger.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Technical Workshops | Esri International User Conference San Diego, California ArcGIS for Local Government’s Address Maps and Apps Scott Oppmann Allison.
Technical Workshops | Esri International User Conference San Diego, California Esri Maps for IBM Cognos Dave Kerr Darren Nelson July 2012.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
Business Analysis and Essential Competencies
Esri UC 2015 | Technical Workshop | Land Records Maps and Apps for State and Local Governments Chris Buscaglia Scott Oppmann.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California What you Need to Know.
3.08 b Determine venture’s information technology.
Prepared by Afra`a Sayah. Introduction. Weekly Tasks. Plane Phase. Analysis Phase. Design Phase. Report Rules. Conclusion. 2.
2Object-Oriented Analysis and Design with the Unified Process The Requirements Discipline in More Detail  Focus shifts from defining to realizing objectives.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Migrating your Data.
Address Maps and Apps for State and Local Governments
Managing an Enterprise GIS Project: Key Things You Need Right from the Start Gerry Clancy Glenn Berger.
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
Project 2003 Presentation Ben Howard 15 th July 2003.
U.S. Department of Agriculture eGovernment Program Design Approach for usda.gov April 2003.
Lecture 7: Requirements Engineering
Project Outline City of Mountain View – need image !
Technical Workshops | Esri International User Conference San Diego, California Supporting High-Quality Printing in Web Applications with ArcGIS 10.1 for.
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 What is Solution Assessment & Validation?
Develop Project Charter
ArcGIS Workflow Manager Introduction
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Automating Geodatabase.
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
ArcGIS for Local Government: Public Works Maps and Apps
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Esri UC 2014 | Technical Workshop | ArcGIS for Public Works: An Overview Lindsay Thomas Scott Oppmann.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California ArcGIS for Law Enforcement:
Module 4: Systems Development Chapter 13: Investigation and Analysis.
Technical Workshops | Esri International User Conference San Diego, California Creating Web Maps: Tips and Tricks Charlie Frye, Esri, Redlands Jim Herries,
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California ArcGIS for Land Records:
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
UML - Development Process 1 Software Development Process Using UML.
Software Engineering Lecture 10: System Engineering.
5. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Describe the activities of the requirements discipline  Describe the difference.
Esri UC 2015 | Technical Workshop | Community Addresses Chris Buscaglia.
Esri UC 2014 | Technical Workshop | Managing an Enterprise GIS Project: Key Things You Need Right from the Start Gerry Clancy Glenn Berger.
Information Technology Project Management, Seventh Edition.
Esri UC 2014 | Technical Workshop | Address Maps and Apps for State and Local Government Allison Muise Nikki Golding Scott Oppmann.
 System Requirement Specification and System Planning.
4 Chapter 4: Beginning the Analysis: Investigating System Requirements Systems Analysis and Design in a Changing World, 3 rd Edition.
App Configuration, Customization or Development
Fundamentals of Information Systems, Sixth Edition
Chapter 2 – Software Processes
Lecture # 7 System Requirements
What you Need to Know about Managing an Enterprise GIS Project
Presentation transcript:

Technical Workshops | Esri International User Conference San Diego, California How to Successfully Collect, Analyze and Implement User Requirements Gerry Clancy Glenn Berger July 24, 2012

Requirements Gathering Why are requirements important Putting requirements in context with your project Fundamentals How to examples - COTS based - Web app for visualization Tools Lessons learned References Discussion

Why are Requirements Important? They will define if you have a successful project Define what will be built Foundation for acceptance Affect everyone Most difficult errors to fix if found late in project lifecycle

Who Should be involved? Customer - Sponsor, key users, and stakeholders - IT Team! Implementation Team - Business analyst, technical lead, architect - Project Manager, Quality assurance/test specialist Consider using a facilitator

Putting Requirements in Context

Iterative Approach to Requirements Build for some Requirements Feedback Release to Customers Source: Agile & Iterative Development. Craig Larman

Agile Iterations Requirements Design Implement Test

Requirements Validation Process BusinessWorkflowsDetailed Objectives Solution Concept Workshops Interviews Existing Future Interfaces Configuration Functional Performance Usability Security Work from the general to the specific…..

Requirements Fundamentals It is an art not a science Involve the right people Align requirements gathering with project approach (COTS, Custom, Agile etc.) Overall Plan to spend 20-30% of time on requirements effort In iterative process – requirements in every iteration Customer needs to be involved and approve requirements!

View Requirements from Multiple Perspectives Business Non-functional Functional Solution (COTS) Concept

Business Requirements Requirements should always address a business need Business requirements are usually high level/vision type statements The benefits to the business should be clear - Adding revenue - Cost savings - Automation - Create new products - Support customer service - Integration or streamline processes

Non-Functional Requirements Typically focus on how well the system must perform Types of nonfunctional requirements - Interfaces with other systems - Infrastructure - Usability, accessibility - Integration/Interoperability - Operational (e.g., 24/7 uptime) - Performance - Security requirements - Maintenance and system administration - Documentation - Standards

Functional Requirements Describe what the system should do from the end user perspective Requirements should - Describe WHAT not HOW - Only contain one requirement - Be unambiguous, measurable, and achievable - Be “testable” - Map back to the scope of work Requirements form the basis for - Software design and application development activities - Testing and acceptance activities 13

Functional Requirements Requirements must model workflow - Use Case models - Written from a user perspective - Links functional and non-functional requirements - Help traceability throughout the different phases of requirements, design, development, and deployment Use Cases

Business Processes, Use Cases, Domain Model Customer requirements need to be placed in context Business Process - Collection of related activities that serve a business need - Can be visualized as a flow chart Use Case - Describes a system from the user’s point of view - Described through text as a sequence of events - More granular than business processes - Traceable to functional requirements Domain Model - Defines the entities that participate in the system

Requirements Business Processes Use Cases Domain Model Customer Requirements Revised Requirements

Solutions Based (COTS) Focus Group Blank Slate Document Analysis Requirements Gathering Techniques Prototyping Interviews Observations Interface Analysis Brainstorming Requirements Workshops Reverse Engineering Surveys

A COTS Requirements Approach Leveraging the existing platform Similar to Evolutionary Prototyping Focus on meeting business goals not software engineering - Configures and extends COTS - Reduces developing software Use demonstrations and workshops - Educate the user - How does COTS solve the business problem - What is the COTS workflow

COTS First Approach Custom Custom built to meet business goals Emphasis on software development Design based on detailed functional requirements Considerable development time / effort Static system COTS Components Custom system, using some COTS elements Emphasis on component- based software development Design based on detailed functional requirements Reduced development time / effort Some capability evolves with COTS releases COTS system Orchestrates COTS to meet business goals Emphasis on workflows and configuration Design based on business goals and COTS capability Minimized development time / effort Evolving system with COTS releases Custom DevelopmentConfiguration

Benefits of a COTS First Approach “Going with the grain” Maximizing commercial off the shelf software in a GIS system Immediate capability… continually improving via COTS release cycles Users engaged early to define “real” requirements Improved communication via demonstration as opposed to interpretation of documentation Users become exposed to system capabilities – de- mystifies technology Accelerated project lifecycle and reduced time to deployment

COTS First Approach - Example Modernizing Data Production High Level Business Requirements - Solution should provide the capability to task and manage data production workgroups throughout enterprise - Solution should provide the capability to add new features to the geospatial database using a distributed data editing environment - Solution should provide the capability for access, sharing and use of feature data via web services

COTS First Approach - Example User Engagement and Demonstrations Non- Functional Requirements Business Requirements IT standards OS RDMBS Network Resource centers Template GDB’s Sample workflows COTS Capabilities Track and Manage Distributed editing Web Service sharing and access

Logical Data Model Logical Data Model COTS First Approach - Example High Level Business Requirements Solution should provide the capability to add new features to the geospatial database using a distributed data editing environment Detailed Requirements Solution should provide user the capability to define a checkout replica based on user defined parameters Solution should provide user the capability to synchronize changes from the checkout replica to the parent Solution should guide the user through a semi-automated procedure using WMX to simplify procedure for synchronizing checkout to parent Constrained Network Bandwidth Constrained Network Bandwidth Multi-User Editing Environment Multi-User Editing Environment User Skill Level Two-way Replication? Two-way Replication? Extensions Version Editing? Version Editing? Workflow? Checkout / Check-In? Checkout / Check-In? ArcGIS Server ArcGIS Desktop

Requirements Workshops Getting at the “Real” Needs Do your homework! Hold several workshops and keep them short Focus on key requirements early - Architectural Impacts - High business value Included in each iteration and combined with some development or programming Engage various stakeholders and users Potential strategies - User Stories - UI on Paper - Use Cases - Mind Maps

Requirements Workshops Removing Uncertainty

Requirements Workshop - Example Web Application for Submitting Data Request High Level Business Requirements - Solution should allow anyone in the public to submit a request for service via a web application. - The types of service requests is expected to be along the following lines: - Indicate where a pot hole is located - Indicate if a tree on public lands needs trimming - Indicate if there is a trash or graffiti problem - Solution is expected to streamline the process of how the public provides this information - Solution should not require GIS system expertise

Requirements Process Generate Use cases based on workflows - Informal vs. Traditional Allocate use cases to iterations Model initial set of use cases to domain models Mockup GUI Verify with key users Do not be judgmental - Need to prioritize - Break things into manageable units - What can be in the initial phase - What is critical to most end users 27

Informal Use Case Use Case No.: 001 Description: Submit service request 1)User is prompted for name and contact info. 2)User can select ‘no’ 3)User is prompted with service types: tree trimming, pot hole, trash overflow, graffiti or other 4)If ‘other’ user is prompted for comments 5)User is prompted to assign priority (H,M,L) 6)User is prompted to enter location via street intersection, street address or identification on a map 7)System provides tracking number to user 8)User is prompted if they want to be notified 9)Upon work order completion user is ed or contacted that issue has been resolved

Traditional Use Case Use Case No.: 001 Description: Submit service request Prerequisite: User has access to City Website Outcome: New work order is submitted 1)User is prompted for name and contact info into the ‘Contact Name’ and ‘Contact Number’ fields of the Submit Service Request form 2)The ‘Service Types’ field is activated and the user selects from a drop down: tree trimming, pot hole, trash overflow or other 3)User can provide comments in the ‘Service Type Comments’ field 4)User is prompted to assign priority (H,M,L) based on the ‘Service Request Priority’ radio button 5)User is prompted to enter location via street intersection, street address or identification on a map 6)…….. Use Case No.: A Use Case No.: A 01A-3) User does not provide comments 01A-4) User is prompted comments are required 01A-5) Work order is not created and user is notified 02A-5) User selects ‘On a Map’ 02A-6) System presents map of city 02A-7) User clicks a location on the map 02A-8) The system closes map

User Interface Mock-up

What Tools Do You Need? Planning Project Environment Deploy Implement Requirements Validation Common Tools  MS Office  Share Point Common Tools  Team Foundation Server (TFS)  Enterprise Architect  MS Office  JIRA Common Tools  Team Foundation Server (TFS)  Enterprise Architect  Subversion  OnTime Common Tools  ANT  Maven

Microsoft Team Foundation Server (TFS)

JIRA

Essential Documentation Use cases that describe workflows Detailed list of requirements Traceability matrix - From use cases to requirements - From requirements to scope Breakdown into software releases - Allocate complete workflows Customer must approve!

Obtaining Customer Approval Invest plenty of time to secure requirements acceptance - Prepare review materials - Invest in a site visit to present - Do not just deliver a document! Obtain written acceptance before proceeding with design

Requirements Gathering – Things to Avoid Avoid long lists of requirements contained in a spreadsheet—this is only one piece of the process Do not be judgmental You are going to get requirements that are mutually exclusive Avoid requirements that are ambiguous - “System must be able to create map outputs” Avoid requirements that describe HOW (unless you are using COTS approach) - “System will make maps using ArcGIS”

Lessons Learned Fit requirements process to overall methodology It is an art Do not start with a blank slate Requirements means different things to different people Needs to be very interactive and iterative Involve IT team early Solid requirements gathering lead to successful projects

Original Customer Requirement Need dog for companionship and household protection.

Requirements Document Submitted to User Dog must be over 30 lbs. Dog must be male. Must play well with family, but capable of looking menacing Approved

Delivered Product for Testing Phase

References Esri project methodologies 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

Steps to evaluate UC sessions My UC Homepage > “Evaluate Sessions” Choose session from planner OR Search for session

Thank you for attending Have fun at UC2012 Open for Questions Please fill out the evaluation: First Offering ID: 1794

Discussion

Please complete session evaluation form Thank You