There comes a point in all projects where things almost grind to a halt. After the frantic coding and early progress on Wednesday, Day 4 of the Phylotastic hackathon was peppered with frustrations.
Pieces of code wouldn't talk to each other.
Test datasets were giving us trouble.
Implementation problems meant that features were dropping like flies.
I'm sure this scenario wasn't exclusive to the Shiny group. For the better part of the morning, we were diligently trying to stick to our original plan. Maybe we could hack a workaround with this one bit of code. Maybe we could pick these species from the tree instead of those ones. Some of our group started wishing for an extra day or two, because then maybe we would be able to reach the end point we had originally envisioned. When you first embark on a new project, you expect to encounter hurdles. But in the early stages you can optimistically shrug off any barriers you might face. Nothing is insurmountable! We can fix any glitches in a heartbeat!
Unlike a long-term research project, a hackathon is defined by adaptability. You can't digress too far off the path, because you have defined deliverables and a compressed period of time. Other groups are depending on the products you committed to producing. Wasting time isn't just personally frustrating; it can lead to setbacks for the entire group.
So at some point yesterday, we had to admit defeat. We had to retreat from the front, regroup, and then redouble our offensive. Our new list of goals may be more meager, but that doesn't make the list any less important. Because of the time crunch, we had to pick our battles wisely. Some of the Phylotastic test cases sounded great in theory (and we got very enthusiastic about the ideas), but weaving different tools together and coming up with functional code was going to be painful. And take a lot more than a week.
By late afternoon, we running on fumes. But instead of the confused frustration which had reigned all morning, a steely determination had emerged in our group. We knew we had a lot of work to do--and the fact that the workshop ended tomorrow was looming over our head. But we had also laid out the exact steps which would get us to the finish line. Finally, everything was starting to come into focus. The final sprint had begun.