Posted: 10 May 2016 | 00:07
Useful software design
Prompted by a recent discussion of a blog post discussing applying commercial development techniques to academic software development, I've been trying to formalise the software design process I'd recommend to academic software developers.
Just the term, software design, puts a lot of people off. It sounds like a long, elaborate process, full of requirements capture and storyboards, but it really doesn't have to be. I think anyone who is writing programs will be doing some form of software design, even if that design is just following the process they've always used, but are just not formalising it. However, formalising your software design could bring important benefits.
Posted: 14 Apr 2016 | 21:02
Writing programs assuming that they will be incorrect
I was thinking about development methodologies and software design principles recently and have decided that one of the things I've learned is that it is essential to write programs with the assumption they are going to fail.
I don't think that any of us like to think that the programs we write or maintain will go wrong, or have mistakes/problems in them. However, as I've discussed previously, it is very hard to develop code without making mistakes: coding mistakes, algorithmic errors, mistaken assumptions, etc...
Posted: 13 Mar 2014 | 15:07
LabBook is a mobile app and online service that allows users to securely record and share their experiment notes. LabBook's developers - Mark Woodbridge, Geraint Barton and Derek Huntley of Imperial College London's Bioinformatics Support Service - asked The Software Sustainability Institute for consultancy as part of the Institute's open call.
I've been working with them to provide advice on the LabBook software, how it is developed, and how it can be moved towards an open source product.