Adventures in software development