Maintaining volunteer-developed applications

Yesterday, Stacey, Andrew, I met again to make a final list of the things that we want to accomplish so that we can start to pilot it in the weekly Housing Access Program workshops.  One of the biggest choices we had to address was where do they want all of the applicant data to be stored?

If we stored all of the applicant data with the web application, then we can get them started using the application right away.  If we stored it in their Salesforce instance, then it would take longer because they would need to modify their Salesforce objects to represent the fields in our online housing application.  After we reviewed the pros and cons of each approach, we decided that we'd store all of the data in Salesforce.  Salesforce would act as the single place that case workers could get data about a client, be it for housing, legal, medical or other types of reasons.  In a way, I was relieved because it meant that the app didn't need to be the system of record for such sensitive and important data.  The app will still be used, however, to process client data into forms and to even provide anonymized reporting on Section 8 housing demand in DC.

One question came up that I am mulling over still.  That's whether or not we should adapt the app to write data back to Salesforce.  They really love the forms we created (Jeff, that's a huge hat tip in your direction!), so they would like to do all of the client data entry in our app and then save everything back to Salesforce.  While technically possible, I am also trying to consider the longer term implications on maintenance.  Having data entry in the app means that a developer with knowledge of our code will be making the changes, for example, to add new fields.  Needing to depend on developers outside of Bread will mean that they will always need to wait for changes to be made.  That the developers are volunteers means that this wait could take awhile.  Whatever we decide, what I look forward to are the lessons that we can take from this project and apply to other civic-technology projects.