Books and Articles
A good starting point to learn more about software operability is the excellent book Patterns for Performance and Operability by Ford, Gileadi, et al. (ISBN 978-1420053340), which explains the core concepts and works through several real-world examples. In the 1980s and 90s the US space agency NASA did some really useful work on operability as part of the space shuttle programme, and much of the research is available online. Richard Crowley’s talk on Developing Operability at SuperConf 2012 is also worth reading and understanding (http://rcrowley.org/2012/02/25/superconf.html).
I’m currently writing a book on Software Operability – sign up at https://leanpub.com/SoftwareOperability to be notified when new chapters are published.
Practical Steps
Probably the best thing a software team can do to make their software more operable is to write a draft operation manual alongside feature development. The operation manual (aka ‘run book’) eventually contains the full details of how the software system is operated in Production. By writing a draft operation manual, the software team can demonstrate to the operations folks that either all the major operability concerns have been addressed or that some operability criteria are beyond the expertise of the software team, but at least there will be no ‘nasty surprises’ when the software is put into operation.
The act of having to think about things like backups, time changes, health checks, and clear-down steps in the context of their software tends to mean that the software team members will implement small but crucial changes to the software to provide ‘hooks’ for monitoring, alerting, backups, failover, etc., which improve the operability of the software.
Pingback: The Business Case for DevOps | Matthew Skelton