Improving the GIS-based Solution Development Process
Dave Jenkins
Improving the GIS-based Solution Development Process GIS Solution Development Process In business, a solution is a product, service or combination of both which is said to solve a business or consumer’s problem. In GIS, with regards to development… …not the destination but rather the journey…
Improving the GIS-based Solution Development Process
Improving the GIS-based Solution Development Process GIS Solution Development Process
Defining the Vision Data Acquisition / Evaluation Functional Specifications Application / Process Development Data Processing / Development Deployment / Distribution Documentation / Maintenance
Improving the GIS-based Solution Development Process GIS Solution Development Process
Defining the Vision Data Acquisition / Evaluation Functional Specifications Application / Process Development Data Processing / Development Deployment / Distribution Documentation / Maintenance
GIS Solution Development Process Defining the Vision The single most important step of solution development
Does a solution already exist… …that precisely meets your needs? – …that comes close and is good enough for now? – …that misses the point completely? –
Document what these solutions are and why they fail Costs?
GIS Solution Development Process Defining the Vision Evaluations / Assessments Technology – Information – Expertise – Utilization –
GIS Solution Development Process Defining the Vision Evaluations / Assessments –
Technology
Hardware Software Local IT Policies Budgeting for Change Plan for the Future
GIS Solution Development Process Defining the Vision Evaluations / Assessments –
Information (a.k.a. Data)
Stewardship vs. Ownership Standardization Timeliness Quality
GIS Solution Development Process Defining the Vision Evaluations / Assessments –
GIS Solution Development Process Defining the Vision Establish a Solution Lifecycle Repeatable – Expandable – Updateable –
Improving the GIS-based Solution Development Process GIS Solution Development Process
Defining the Vision Data Acquisition / Evaluation Functional Specifications Application / Process Development Data Processing / Development Deployment / Distribution Documentation / Maintenance
GIS Solution Development Process Data Acquisition / Evaluation Discovering Data – –
Mining the organization for source information Source Data Construction
Schema System Use Table Construction – – – –
Timeliness Metadata Owner / Steward Organizational Use
GIS Solution Development Process Data Acquisition / Evaluation Sources of Information –
Database
–
Enterprise, Relational, Other
Stand Alone Flat Files
GDBs, Shapefiles / Covs, AutoCAD, Excel Worksheet, CSV, Text , XML –
Non-digital
–
Hard Copy Plans, Blueprints, Logs
Institutional Knowledge
GIS Solution Development Process Data Acquisition / Evaluation Quality of Information –
Prior to evaluation, discovery must take place. You must understand how the data is stored and why.
Improving the GIS-based Solution Development Process GIS Solution Development Process
Defining the Vision Data Acquisition / Evaluation Functional Specifications Application / Process Development Data Processing / Development Deployment / Distribution Documentation / Maintenance
GIS Solution Development Process Functional Specification (FS) The FS is the blueprint by which development of a solution or product is guided
What the solution will do How the end users interact with it What will it look like An attempt to standardize development
GIS Solution Development Process Functional Specifications Work / Data Process Diagrams –
If we know:
–
How work flows through an organization How data flows through a system How communication happens
We can:
Design data flows through a solution Identify gaps in work flow Improve processes Streamline
GIS Solution Development Process Functional Specifications Logical / Physical Model Representations –
Logical Model – solution’s system / data in terms of entities and relationships
–
Physical Model – the system / data design of the solution
GIS Solution Development Process Functional Specifications Scale Refinement – – – –
System Application Script / Library Integration
Improving the GIS-based Solution Development Process GIS Solution Development Process
Defining the Vision Data Acquisition / Evaluation Functional Specifications Application / Process Development Data Processing / Development Deployment / Distribution Documentation / Maintenance
GIS Solution Development Process
Improving the GIS-based Solution Development Process GIS Solution Development Process
Defining the Vision Data Acquisition / Evaluation Functional Specifications Application / Process Development Data Processing / Development Deployment / Distribution Documentation / Maintenance
GIS Solution Development Process Billing Property
BMP’s
Population
Improving the GIS-based Solution Development Process GIS Solution Development Process
Defining the Vision Data Acquisition / Evaluation Functional Specifications Application / Process Development Data Processing / Development Deployment / Distribution Documentation / Maintenance
GIS Solution Development Process Deployment / Distribution
Applying the solution to the available technology
Distribute the results Web – Client – Consoles –
Hosting options
Improving the GIS-based Solution Development Process GIS Solution Development Process
Defining the Vision Data Acquisition / Evaluation Functional Specifications Application / Process Development Data Processing / Development Deployment / Distribution Documentation / Maintenance
GIS Solution Development Process Documentation / Maintenance
GIS Solution Development Process Final Thought: How many Microsoft programmers to change a light bulb?
One dev to spend five minutes implementing ChangeLightBulbWindowHandleEx. One program manager to write the specification. One localization expert to review the specification for localizability issues. One usability expert to review the specification for accessibility and usability issues. At least one dev, tester and PM to brainstorm security vulnerabilities. One PM to add the security model to the specification. One tester to write the test plan. One test lead to update the test schedule. One tester to write the test cases and add them to the nightly automation. Three or four testers to participate in an ad hoc bug bash. One technical writer to write the documentation. One technical reviewer to proofread the documentation. One copy editor to proofread the documentation. One documentation manager to integrate the new documentation into the existing body of text, update tables of contents, indexes, etc. Twenty-five translators to translate the documentation and error messages into all the languages supported by Windows. The managers for the translators live in Ireland (European languages) and Japan (Asian languages), which are both severely time-shifted from Redmond, so dealing with them can be a fairly complex logistical problem. A team of senior managers to coordinate all these people, write the checks, and justify the costs to their Vice President.