When starting work on a DevOps contract, there are some questions that should come up, and a you should be prepared to answer all that are relevant to your business. If you don’t have the answers, then on-boarding the DevOps person will take more time, and will waste your and your employees’ time as well.
Not all questions are relevant equally to all clients, and some of them can be the main reason you contracted a DevOps person in the first place. So don’t push yourself, just be prepared to answer what you know, and write down what you are not sure, and maybe prepare counter-questions, this will ensure that the on-boarding is done clearly and with everyone aware of the operating environment.
Assumptions in this questionnaire
- You use a Version Control System or Source Code Management
- Your code is developed in one environment and running in a separate environment
- You have a system to manage tasks
- You have infrastructure, managed by you or a vendor, and you have management access to some extent
Code
- Where is the code hosted
- What is the process of
- Introducing new code
- Testing new code
- Producing executable / serve-able artifacts
- Do you have a coding convention
DevOps
- What is the process of
- Deploying artifacts
- Identifying bad deployments
- Reverting deployment to previously known good artifact
- Deploying a hot-fix
- Do you have monitoring on deployed code
- Do you have exception reporting
- Do you have alerting on issues
Infrastructure
- Do you have a chart of your infrastructure
- Do you have an inventory of your infrastructure
- If you plan to change the infrastructure, do you have a comparative chart / list
- How do you access your assets / asset management
- How do you provision new assets
- How do you manage access to existing and new assets
Tasks
- Where do you manage tasks
- Do you have a system to record code changes in task activity
- Do you have a system to record infrastructure changes in task activity
Automation
- Do you have links between different developer / infrastructure systems
- Do you have side-effects in one system for actions in another system
Procedures
- Who is in-charge of creating / deleting users the infrastructure / managerial systems
- Who is the decision maker for each area of the software development cycle
- Who is in-charge of security concerns
Conclusion
This isn’t just about the DevOps contract, you should always be aware of your business’ software development process. While some topics might not be relevant to the contract, you should still make sure, periodically, that you yourself know the answer to them.