At OpenTreeMap, we want to expand the role of technology in solving some of the most urgent problems in urban forestry. We’ve started to do that by developing software that makes it easier for communities to collect and manage tree and green infrastructure data, and use existing socio-demographic data to drive planting decisions.
Over the past seven years we have had the opportunity to work with public and private institutions to build software that furthers community forestry efforts. This includes new features for OpenTreeMap as well as custom web and mobile applications like the platform for TreesCount! 2015, New York City’s street tree census. In fact, many of the OpenTreeMap features available today were developed in partnership with past and current customers. The ability to map green infrastructure, add your tree map to an external website, and automatically add a website link to each tree detail page are a few examples of customer-led development.
For people without a strong technical background, the process of working with a software company to develop a web or mobile application can be overwhelming. In an effort to shed light on how an idea can turn into an application, we’ve identified the four most important questions we ask our clients before starting a project.
What problem are you trying to solve?
Before writing a single line of code, we work with our clients to learn more about the problem they are trying to solve through software. For example, do you want to build an application to virtually inventory street trees or do you want to organize tree giveaways and volunteer planting events or do you want to manage tree crews and collect information on maintenance activities? It would be cumbersome and expensive to solve all three of these problems in a single software platform, which is why clearly identifying the problem and project scope is crucial. After all, the problem you want to solve will dictate nearly every decision made throughout the development process.
One of the most common pitfalls we see is the tendency to want to start software development before clearly outlining the scope of a project. If new project goals emerge during development or if a project has too many goals, it can be difficult to measure success. Further, it is critical to differentiate between essential functions of a new application, also known as the minimum viable product (MVP), and those that are not critical to the application’s initial release. Additional features can be added later pending time and resources, but by releasing an MVP you can get feedback from users and understand whether or not you’re on the right track.
What existing data or information do you have?
What existing data do you have that you want to incorporate into your application? How does that data help solve your problem? Data can come from a variety of different sources, but before designing a project that hinges on the availability of certain data, you must confirm that the data is available in the right format and at a price that you can afford. Cities and towns have lots of data including spatial files like building parcels, population data, floodplain scenarios and more. And data is not just limited to cities. Nonprofit organizations, universities, homeowners associations and consultants all use data to inform their work. At OpenTreeMap, we’ve worked with communities to map canopy coverage, upload historical planting information and use publicly available socio-demographic data to drive planting decisions.
Who is the intended audience?
Are you the only one that is going to use the software or is the software designed to be used by other people? A software tool used by 10 people is designed very differently than one used by 1,000 people. If you are building an application to solve a problem for another person or group, it is important to consult those people throughout each stage of the project. We consult with users to design applications that are easy to use and make information more accessible.
What is your time frame?
Is the software application designed to exist for a defined period of time or do you want it to exist well into the foreseeable future? A software application designed for long-term use is different than one built for an event or short-term project. Just like car owners take their cars to the mechanic for routine maintenance, software requires ongoing updates in order to ensure it continues to run properly.
Also related to time frame is the project timeline. How long until you need the application? Is the application connected to grant funding? If so, what information do you need to close out the grant? Do you need to be able to report on user data? Does the code need to be open source? Answers to these questions help us accommodate any constraints or additional requirements clients may have.
With answers to those four questions, our project managers can work with you to develop a project proposal and pricing estimate. All projects are reviewed by a team of senior software developers who segment project goals into a list of discrete tasks and estimate the time and resources required for completing those tasks. This includes time for designing the application, testing functionality, and incorporating client and user feedback. Throughout project development, project managers work with the client to provide monthly status updates and solicit ongoing feedback to ensure the final product meets client goals.
OpenTreeMap is a product of Azavea, a Philadelphia-based geospatial software company. In addition to building the tree mapping platform, Azavea works with public and private institutions to develop web and mobile applications for organizations working on issues related to the environment. Do you have an idea for an new software application? Not sure how to get started? Drop us a line at firstname.lastname@example.org. We would love to hear from you!