Designing and Creating Operationally Stable Software
- David Peček
- Feb 18, 2019
- 2 min read
Updated: Sep 9, 2020

Operations should be a part of all development planning for new applications. They offer a unique perspective on longer term use of technologies as they have had to support them and live with them for longer. Operations offers perspectives on current tech with its ins and outs from how it has been implemented in production systems previously. Also operations should be involved in planning / design processes to better understand software coming out which will need to be supported.
Operations should be considered a key stakeholder in all new development planning and design.
Leveraging Existing Technologies
When involved in the planning and design process here are things any operational stakeholder should show up to the meeting prepared to talk about. These items should pertain to the technologies being discussed in the planning meeting.
MTBF of current technology stacks which pertain to the new applications.
Pain points of where current software requires more human intervention to remain stable / function correctly.
Ideas on how current tech can be better utilized or setup in the future.
Current list of known issues in the area being worked on.
Moving Towards new Tech
If there are completely new technologies being considered for use, here are questions operations should be presenting to developers / product / architects about this tech to ensure it will be supportable and stable.
What are the deployment processes for this technology? Are they automated or manual? What type of automated deployment?
How can we monitor these applications for uptime, errors, and data consistency?
How do these applications handle over-utilization? Do they spin up more instances? Auto restart crashed components?
Does the application support being run across multiple data centers?
What is the process for recovering / restoring the data for these apps in disaster recovery scenarios?
How will the new software be documented for internal users to support?
Comentarios