Software Sustainability Institute CW2016 Hackday Technical considerations or How to score extra marks with the judges CW2016 March 22 nd, 2016 Steve Crouch, Research Software Group Lead, SSI
Software Sustainability Institute Enjoy yourselves! vs Fun! (?) Formal ?
Software Sustainability Institute Before you start… How to approach development? e.g. clarify requirements, planning, architectural design, implementation choices? Who will be responsible for what? Consider short development cycles Use of collaborative tools GoogleDocs Slack
Software Sustainability Institute What to consider when coding? Which aspects to focus on? e.g. maintainability, readability, usability, reliability, reproducibility, performance? What’s going to make it easier for you to continue after the hackday?
Software Sustainability Institute Implementation and Infrastructure / reproducibility Thou should use version control! When to check stuff in, how open, what to put in it e.g. code, data, even… unit tests? Short cycles - always have something to demo Documentation? Issue tracking? For reproducibility Ideally: a README, how to configure, build and run 1 st Tag 2 nd Tag 3 rd Tag
Software Sustainability Institute Implementation and Infrastructure Value of work should be clear – or lose marks! Context - building on existing work, starting something new? What does your software/scripts do? How does it benefit others, and who? What’s novel about your work? Have word summary in README
Software Sustainability Institute Generally… Criteria: future potential What about after the Hackday? Mention some interesting ideas for future steps in your README (or a GitHub issue?)! Think about which license to use early e.g. Apache, BSD, GPL, LGPL, … Start as you mean to go on! What practices? How open? Don’t have too much, but how much is enough? Hackday as microcosm for long-term? Decide early, adhere early, revise later!