Development at crisis speed
phirate |
Contains caffeine, guarana and traces of nuts |
Interested in writing a paper on the experience, e.g., for Software Engineering Practice, when things settle down? Happy to help if you are interested.
Though as with all ways - there is a time and place.
Good effort on this one :)
I've had a fair amount of experience in this area, not as a coder, but as someone that has worked with a lot of FOSS coders developing Sahana since mid-2005. Trust me, development during Response is the absolute worst time to be developing, but sometimes it has to be done. The problem with this approach though, is that it only produces a one-time solution, and it can be quite difficult to produce a robust and redeployable solution that has been developed during a crisis.
We learnt this with Sahana - Sri Lankan devs hacked together some solutions following the tsunami in late 2004, it met their needs, but was such a bespoke system it was nearly impossible to redeploy. We then obtained USD100k from the Swedish International Development Agency to rewrite it from the ground up. This resulted in good 'peacetime' development of the solution.
I'll dispute your point that loosely coupled will win out against an integrated solution. I'll bet money that in the long term, only an integrated solution (which is pretty much the only way to go to deal with access/security issues). There is much value to be create from a training and organisation buy-in perspective by have a single consistent UI and single sign-on that loosely coupled tools just can't compete with.
This is why I'm I Director of the Sahana Software Foundation, and we're keen to see most development of these solutions done before emergencies - not during them. We've done plenty of emergency development before (Haiti, Pakistan etc) and whilst we can make it work, it is less than ideal and often doesn't result in the most robust and generalised solution and we often have to go back and fix the hacks undertaken in the heat of the moment.
In terms of getting organisation buy-in to deploy systems, it will almost never happen during Response and Recovery, and it will need to be done pre-event during Readiness, and include testing, training and ideally exercises to ensure all users are familiar with the system.
If you're into Python - we'd love to have you contribute to Sahana Eden. I've got heaps of recommendations and ideas I've capture from being involved in response at the Art Gallery, and we are going to start implementing these in Sahana Eden for the next country that has to deal with these issues - hopefully they can use tools developed from our collective experiences.
A massive thanks for all your hard work over the past few weeks with eq.org.nz!
Cheers Gav
1. You know exactly what you need. You do not need to try and guess what the next disaster will look like.
2. You have access to developers in volume and with talent you could not possibly afford and motivation you just can't buy.
#1 is of particular importance. Each location and type of disaster lends itself to different communications vectors with different sources and targets.
The challenge, of course, is to mitigate the downsides of software construction in this fashion, and this is where the preparation comes in. You do not need to build features, you need to build a platform upon which those features can be adapted and delivered at speed and in parallel.
The rules I outlined in my article are aimed at such a platform, focusing on making the most use of a sudden availability of development resource.