The role of software development in an ArcGIS Enterprise deployment
By Gary Mullaney
While many client needs can be met using the standard, out-of-the box set of tools that come with ArcGIS, sometimes they fall short. Sewall’s software developers can customize tools to produce significant gains in efficiency and productivity that are not as costly as people may think.
Aren’t there plenty of rich delivery mechanisms available without software development?
Yes, certainly. Collector can be configured for capturing and viewing data while offline using a mobile device. ArcGIS Server/Portal with its web maps and Web AppBuilder can be used to configure interactive maps with tailored content and various methods of editing geometries and attributes.
Under what circumstances would it make sense to go outside of those delivery mechanisms and employ a software developer?
In general whenever the off-the-shelf tools fall short of being able to meet a specific functional requirement, or can do so only by requiring a lengthy or complex set of user actions.
Some examples include:
- Tools that streamline a series of clicks and data entry steps that are often repeated in order to increase the efficiency of data entry work.
- Enforcing complex data integrity or business logic rules at the point of data entry.
- Embedding spatial views or spatial editing into the workflow of an existing web, mobile, or desktop application.
What are the most commonly applied software development tools in the ArcGIS platform?
- Python scripting for geoprocessing tools / workflows.
- Microsoft .NET programming APIs to customize or extend the ArcGIS Pro desktop application itself (“Add-ins”).
- A variety of programming environments can be used with ArcGIS Runtime to build native applications for Windows, iOS, or Android.
- The JavaScript API can be used to develop interactive maps and other components to as stand-alone web apps or modules embedded within other browser-delivered apps.
Is it necessary to have an in-house software developer?
Only the very largest end-user / business organizations have enough work to justify one or more full-time geospatial software engineers – a job category that is not the same as other GIS analyst roles. It is particularly hard to fill because it requires ability in the practice of software engineering in addition to mastery of geospatial concepts.
Working with a consulting firm that is able to understand your business needs and systems and tailor a solution to a particular problem is, for most firms, the most effective way to get value from geospatial software development.
Wouldn’t having custom software apps result in higher need for and cost of maintenance and upgrades?
In our experience, custom apps do not require more maintenance or frequent upgrades than other tools or software provided with ArcGIS. Only when the underlying platform changes dramatically would it be necessary to make changes to custom code to be compatible with or take advantage of new features. This cycle is now on the order of seven to ten years in length.
Once you use a software development firm are you not then dependent on them?
While this is a reasonable concern, it is easily minimized. Use a work-for-hire agreement and own the resulting design and code. Should the firm exit or fall below expectations, you can readily substitute another without starting over.
What is the range of project cost?
Billing rates for GIS software engineers in the U.S. range from about $100 per hour to as much as $250 or more for senior people at larger firms.
Sewall has project experience with smaller to mid-sized clients in natural resources, energy, and utilities. Narrowly defined software tool development tasks have been conducted in the range of 40 to 80 hours. Significant application design and development jobs are more likely to be in the range of 150 to 250 hours. Sewall typically does not take on the lead role in jobs that reach well into six figures total cost.
What are some Sewall project examples?
- A description of our work for the American Forest Foundation using the JavaScript API can be found here.
- The WoodPro application, also using JavaScript, is described here, with a link to a demo.
- A Sewall team creates detailed maps of forest cover type for millions of acres of northern forests using 3D visualization. Custom ArcMAP Add-Ins make the data capture more efficient and accurate. These Add-Ins will soon be ported to ArcGIS Pro.
- A municipal utility GIS department was using Web AppBuilder but found that it was missing needed functionality for editing related data in one-to-many relationships. Sewall built a custom widget that the utility could then include in any app that needed it.
- A series of Python scripts was created to calculate land-value related metrics for any rural tract in the South, including distance to a populated place, road and water frontage, and demographics.
- Geoprocessing services for a replicated enterprise geodatabase including statistical summaries, reconcile and post, and detailed reports of change detected between subsequent versions (for a timberland manager in Brazil).