Professional Documents
Culture Documents
Lana Tylka
Jennifer Prather
Craig Venker
July 9, 2017
Introductions
Lana Tylka
Jennifer Prather
Craig Venker
Implementing an Enterprise GIS Project 2017 2
Introductions
Name
iPad App
Admin Site AGOL
iPhone App
Discuss similar
industries Create a plan
Assess
workflows
Prioritize
workflows Choose
Conduct
a life cycle
kickoff meeting
6
5
Portal
Advanced integrated
workflows
Advanced integrated
workflows
Beck’s Platform
Strategy
Online Content
Versions Tuned for Editing Tuned for Services
and Services Replicas
Source: trust.arcgis.com
Implementing an Enterprise GIS Project 2017 22
• Security
Key
Considerations - Confidence that your customer data
and organizational data is safe
• Authentication
- The GIS needs to ‘know’ who you
are, and trust that you are who you
External
say you are
trust.arcgis.com Inside your Firewall
• Authorization
- Separation of roles and
responsibilities
- Least Privileges Model
• Priorities
- Quality
- Availability
- Redundancy
Portal
Caching Visualization
Server(s)
Supporting Project
Contracts Risks
Team Lifecycle
Server &
database
focused
Desktop
focused
Getting
Started Implementing an Enterprise GIS Project 2017 33
• Hardware is cheap, experience is expensive
Assess your • Servers are easy, network is hard
current IT/GIS
capacity • Beware of key components that you don’t control (NAS,
firewalls, web accelerators…)
• Understand your vendor relationships
• Trust anecdotal information but verify
Account specialists
GIS analyst Database specialist
Technical lead
Subject matter experts
Program manager Field collection specialist
Business Analyst
System architect Project manager(s)
SOE programmer
Legal expert Contract specialists
Supporting Project
Contracts Risks
Team Lifecycle
20% - Often or
Always
Always
7% Often
13%
Never
45% Sometimes
16%
Rarely
19%
64% - Rarely
or Never
Far from
agreement
Certain
Disaster
Requirements
Agile
Waterfall
Close to
agreement
Plan Agile/Scrum
• Just in time
Design Staged requirements,
design
Build • Upfront
• Short duration
requirements,
Use design sprints
Waterfall • Prototypes • Continued
Grow • Sequential • Incremental
releasable
product
Steps deliveries
• Single Release
Potentially Shippable
Product Increment
Implementing an Enterprise GIS Project 2017 44
An Agile Sprint Lifecycle
Sprint Cycle
<30 Days
Working
Tasks Increment
Size, • Small size, short duration • Medium or large size, mid • Any size or duration
Duration project to long duration project
Planning
Priorities
Customer
Participation
Testing
Development Team
Project Management
Waterfall Agile
Scope Fixed and well -defined Flexible, continuous refining
Customer
Can be minimal Must be substantial
Participation
Testing Not until the end (more bugs) Constant (helps reduce bugs)
You? Contractors?
Administrative Technical
Details Requirements
Vision statement
Key workflows
Appendix A Appendix A
Morning Project Plan Morning Project Risk Matrix
Page 3 Page 6
Implementing an Enterprise GIS Project 2017 57
Assess and Plan
Identify resources
Put on the
Dedicate a Do your
advertising
team homework
hat
Source: Point of Beginning: “How to Submit a Successful GIS RFP Response”; Valerie King, October 1, 2016;
http://www.pobonline.com/articles/100594-how-to-submit-a-successful-gis-rfp-response Implementing an Enterprise GIS Project 2017 60
Writing a
Focus on the Key Areas…
Proposal
• Executive Summary
• Solution Overview
• Scope of Work
• Schedule
Epics
Story point is a arbitrary measure used by Scrum
teams. This is used to measure the effort required to
implement a story. In simple terms its a number that
System tells the team how hard the story is. Hard could be
Database Application
related to complexity, Unknowns and effort. In most
Architecture Design
Widget 1 Widget 2 Hardening
cases a story point range is1,2,3,5,8,13,21,34,45
Story Points
21 34 34 45 21
Implementing an Enterprise GIS Project 2017 63
Story Points
21 34 34 45 21
Hours
System
16 16 0 16 120 168
Architecture
Geodatabase 24 24 0 184 40 272
Design
Application
40 16 84 24 4 168
Hardening
1.1 User Story 2.1 User Story 3.1 User Story 4.1 User Story 5.1 User Story
1.2 User Story 2.2 User Story 3.2 User Story 4.2 User Story 5.2 User Story
• Rank importance
Ease of
reporting Complexity
A Good WBS...
Implementing an Enterprise GIS Project 2017 73
Develop Build a schedule
built on WBS
Baseline
Schedule
Identify
Add detailed
Milestones &
activities
deliverables
Define
Assign dependencies
resources between
activities
Assign durations
Hours
Months
16%
Estimated %
Spent
Estimated %
Remaining
84%
Proposed
Task Proposed Start
Finish
Status
https://www.youtube.com/watch?v=Wac3aGn5twc
• Think about:
- What went wrong?
- What would you do differently?
- Execution
- No business rhythm
- Poor communication
- Over allocated resources
- Control
- Changing scope
- No schedule
- Undefined budget
- No risk management
Identify
Reduce
Examples:
• Impossible schedule
• Loss of funding
• Natural disasters- e.g. Hurricane Katrina 2005
Daily Scrum
The team
2 - 4 Week
Sprint
Series of interactions by
the user with the Technical
Requirements system and the requirement
response of the system
• Streamline processes
• Reduce costs
Business Level • Increase productivity
• Improve communication between user groups
Product Scrum
Owner Master
The team
Stakeholders
Product Work
Backlog
Items
Development
Daily Builds
Check In Work, Unit Test Artifacts
& Update Status • Source Code
Scrum Master/ • Configuration Files
Technical • Wireframes
Lead • GIS Data
Development Team
• Developers
• GIS Database Specialists
• Testers Release
…a Formal Process Build Testing
… but unique to each team
Implementing an Enterprise GIS Project 2017 102
Example: Agile Daily Stand Up Meeting for Visibility
https://www.rallydev.com/
4h 8h 3 days 2h
1h 2 days 4h 8h
Waterfall
Method
Agile
Time
Implementing an Enterprise GIS Project 2017 25
Using Agile in a Consulting Project
Waterfall
Method
Agile
Time
Implementing an Enterprise GIS Project 2017 26
Using Agile in a Consulting Project
Waterfall
Method
Agile
Time
Implementing an Enterprise GIS Project 2017 27
Using Agile in a Consulting Project
Waterfall
Method
Agile
Time
Implementing an Enterprise GIS Project 2017 28
Using Agile in a Consulting Project
Waterfall
Method
Agile
Time
Implementing an Enterprise GIS Project 2017 29
Using Agile in a Consulting Project
Final Release
Waterfall
Method
Agile
Time
Implementing an Enterprise GIS Project 2017 30
Managing Resources
50% 50%
100% 50% 100% 50%
50% 50% 50% 50% 50%
75% 100% 75% 100%
50%
75%
100% 100% 75%
50%
Appendix A
Requirements
Afternoon
Microsoft Team Foundation Server (TFS) Traceability Matrix
Page 18
https://www.rallydev.com/
Implementing an Enterprise GIS Project 2017 118
Using Trello
https://www.rallydev.com/
Implementing an Enterprise GIS Project 2017 35
Using GitHub
• Business Logic
The Middle • Integration Points
(Between components, Portal
to enterprise systems)
Governance
Hardware Apps
Data
Software Security
• System action
- System process description – properties
- Calculation formula’s
- Rules for processing
- Data and domain values
- Test cases with input values and results
Data
Disk Space
Policies
Software Stack
• Capacity:
CPU, Network, Memory
• Reporting on Performance
Access Control
• Use rules of behavior
• Who is allowed to access the GIS
• Site banner with acceptable use policy
• What is acceptable system usage
Audit, Logging
• Monitoring system health and activities • Configure tools to strike the right balance
• Minimize performance burden on GIS
How many of
you have a
real RTO/RPO
or DR Plan?
Topology
Feature Relationship
Classes s
Dataset
Visio, UML
• Simple; tool is well known
• Limited support for GDB features,
• No schema creation or reverse engineering (any more)
Water Department
Information Products
Asset Map
Leak Trace
Data
Map with Service
Requests location by
status
- Solution architecture
- Concept of Operations (CONOPS)
- User Experience
- User Stories, Scenarios
- Data Layers and Attributes
- Maps, Reports
- System architecture
- Detailed component breakdown
- Design Specifications for apps and data
Appendix A Sequence
Afternoon Diagram - Services
Page 25
- Prototyping and/or design models for…
- High risk areas
- Integration points
Appendix A
Afternoon Class Diagram - Key points that are fail points or are non-traditional
Page 27
- Prototype Prove implement review cycle
https://www.youtube.com/watch?v=X5SkW7K0e3Y
• Use COTS and GIS-ready data to deploy Initial Operating Capability (IOC)
3
Presenting IOCs instead of finished
products is a big switch!
2
Customize
1 for specific
needs(only if
Configure necessary)
Apps and
Deploy
Workflows
Foundation
Apps
Tools are your Friends Use Coding Standards Enforce Unit Testing
Work Item
Logging By developers
Management
Source Code
Exception handling Use automation
Repository
Test robustness of
IDEs Code Reviews
code
http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments
Implementing an Enterprise GIS Project 2017 155
Configure and Develop your System
Build
Source Control • TFS,
• TFS • JIRA
Work Item Management,
• git/GitHub • Travis
Issue / Change Tracking
• Subversion • Ant
• TFS,
• Mercurial • Maven
• GitHub
• Grunt
• JIRA
• Less
• Rally, Trello
• Bugzilla
• OnTime
• Remedy
Development • Lighthouse
Environment
IDEs
• Sublime Text
• Visual Studio
• Eclipse
• Technology
Stack dependent Implementing an Enterprise GIS Project 2017 157
Application • Options:
Development -
Server-Side - Microsoft .NET
Technology
Stacks - Java
- Node.js
- Also:
- Ruby on Rails, Django, …
• Imagery
Appendix A
Data Migration • GPS
Afternoon
Page 29
Procedures Document • Surveys
Pilot
• Test Design
• Real data for
developers Coordinated
Approach
• Incremental
deliveries
• Synchronized with
development
Testing
Process Test Plan Test Cases How to Test
https://www.youtube.com/watch?v=mafRRWKSwu0
Perform testing
Fix bugs
Review results
Testing and log bugs
criteria met
Ready to client
verification and
validation
Implementing an Enterprise GIS Project 2017 167
Sample Design Artifacts for a Leak Management Isolation Trace Tool
User Stories Acceptance Criteria User Interface Prototype & GIS Data Layers
Information Products Design
Feature
Classes
Pipes
Summary Report
Develop Design Configure Trace Tool Valve Report
Valves
Artifacts Specific to Execute Trace Hydrants
Hydrant Report
Save Trace Service Locations
the Sprint Customer Report
Work Order Locations
Trace Map
Basemap Layers
Testing
Test Plan Test Cases How to Test
Process
Testing
Test Plan Test Cases How to Test
Process
Appendix A
Afternoon Test Case Template
Pages 37 Test Script
to 39
Implementing an Enterprise GIS Project 2017 172
User Stories and Testing
…Think back to the invest model…Think Traceability
As a Field Crew Member Given - User is logged in • After user login, map displays
I want to run a leak As a field crew member I Mobile app is open with map based on default of users profile
isolation trace starting need to locate the leak display and list of active workorders • Active workorders display in
from the leak location on the map so I can Then - side panel
So I can identify affected determine the starting 1. User selects an active work • User can select a single
service areas, point of the trace order from list workorder from the list
customers, and assets 2. Selected work order highlights • Clicking “locate” zooms map
3. User picks “locate” display to the location of
4. Map display zooms to selected workorder and closest
workorder location service point is highlighted on
5. Location is highlighted with the map
marker • Clicking “cancel” clears the
6. Service point nearest to the selection
Appendix A location is highlighted
Afternoon Test Cases Template
Pages 37- Test Scripts/Scenarios
39
Implementing an Enterprise GIS Project 2017 174
Test your System
Testing
Test Plan Test Cases How to Test
Process
Deploy Pre-UAT
Solution Training
Appendix A Appendix A
Afternoon Defect Tracking Afternoon Test Results Report Move to Production
Page 44 Page 45 Acceptance
Releasable
Issued Product
Implementing an Enterprise GIS Project 2017 176
How Do You Evaluate Software Quality?
Testing process
Anecdotal
evidence from
developers and
end users
Implementing an Enterprise GIS Project 2017 177
Sample Test Manager Reports
• Are you on or off track?
Testing process
Scenario 1 Scenario 2
140 140
120 120
100 100
Total 80
80
Closed 60
60 Resolved
40
Active
40
20
20 0
Test Cycle Test Cycle IAT UAT Post UAT
0 1 2
Test Cycle 1 Test Cycle 2 IAT UAT Post UAT
• Defect rate does not decline • Defect rate declining steadily over time
• Large number of active defects at UAT • Few active defects when entering UAT
• Acceptance unlikely • Acceptance likely
Implementing an Enterprise GIS Project 2017 178
Deploy
Production Assess
Test Checklist
Fix Rollout
Move to
Production
Acceptance
Review /
Retrospective
Issued
Support
Releasable
Product
• Evaluate options
• Upgrade in test environment first
• Includes Software Patches and OS Updates
• Communicate with IT
• Investigate new tools and functionality
• Get ready for rollback
• Is it worth it?
• Risk/Reward
• Prototype new technology
• Demonstrate functionality to yourselves
• Demonstrate functionality to customer
• Consider Integration impacts
Portal
Advanced workflows