The practices and approaches known as DevOps – strong collaboration between development and operations teams – have helped organisations to re-align their business and technology goals towards sustainable delivery of valuable, working software. One of the key goals of DevOps is to ensure that software runs well in the Production environment, especially in the context of regular changes (deployments).One of the driving forces behind DevOps is the increasing prevalence of complex, distributed software systems which calls for a substantially different approach to building ‘business’ software systems: an approach that anticipates and expects failures, transient behaviour, emergent states, and unpredictability; and ensures that failure responses are gradual, graceful, and graph-able.
‘Making software work well’ in this dynamic, interconnected world is the focus of Software Operability. If you lead a team or department in the development or operation of modern interconnected software systems, and want to understand why and how to make your software systems work better, then you should download our free 6000-word eBook entirely dedicated to the topic.
Quickstart recommendations for better operability
In order to improve the operability of software systems, our eBook recommends that you:
- Recognise that distributed, interconnected software systems need elevated skills
- Add ‘hooks’ into software components for operational checks
- Have software development teams write a draft Run Book
- Avoid a ‘production-ization’ or ‘hardening’ development phase
- Avoid expensive Production-only tooling
- Avoid the term ‘non-functional requirements’; use ‘operational features’ instead
- Ensure that failure responses are gradual, graceful, and graph-able
- Treat logging as a first-class concern and a means of communication
- Have the Product Owner and developers on call for Production incidents
- Make operations activities more visible: server restarts, load-balancer work- arounds, etc.
- Treat software operations as a high-skill, value-add activity