
* *Keep it small, keep it simple*
** Functional preservation tools should be atomic
** [Modularise in the face of growing requirements|SPR:Tika Batch File Identification]
** Think about how someone else will integrate your tool in a workflow
* *Make it easy to use, build on, re-purpose and ultimately, maintain*
** Share your source
** Automate your build
** [Package for easy install|SP:Debian Packaging]
* *Share outputs, exchange knowledge, learn from each other*
** [Write up your experiences and share them|REQ:Digital Preservation and Data Curation Requirements and Solutions] (sharing less than successful experiences is just as valuable as successful ones\!)
** Publish the data you generate using the [Linked Data Simple Storage Specification|http://www.lds3.org/]
** Shout about it, blog it, tweet it, and [add a tool registry entry|TR:Digital Preservation Tool Registry]
Also see the OPF [PT:Software Development Guidelines].
This manifesto was developed from [wiki|SPR:Tips for determining tool requirements] [posts|SPR:Tips for fast prototyping] by [~techmaurice], along with discussions over the years with other clever people such as [~anjackson], [~carlwilson-bl] and [~davetaz]. Thanks go to them\!
See [this page for more on SPRUCE Mashups|SPR:Just what is a SPRUCE Mashup and what's in it for me?].
*More on smart/agile development*
Also see this external page about [Extreme Programming|http://c2.com/cgi/wiki?ExtremeProgramming].
[Ten simple rules for the open development of scientific software|http://www.software.ac.uk/blog/2013-01-10-ten-simple-rules-open-development-scientific-software]