When a company is talking about introducing DevOps or CI/CD or Automation a number of questions must be asked.

What is their current situation?

Where do they want to be?

When do they want to get there?

A few helper questions about their current situation:

What kind of products and services do you provide?

  • Do you have web based applications? Something SAS (Software as a Service)?
  • Do you have mobile appilcations?
  • Do you offer packaged software people download to their desktop?
  • Do you have embedded applications?
  • Do you sell hardware as well?
  • ...

What programming languages do you use?

What applications do you use?

  • Relational and NoSQL Databases?
  • Monitoring systems?
  • ...

Do you use Docker or other containerization system?

How can a new developer set up a development environment?

What kind of automated tests do you have?

  • Unit-tests?
  • Integration-tests?
  • Acceptance-tests?
  • Security-tests?
  • Performance-tests?
  • ...

What does each one of those mean to you?

How confident are you that they will catch any problem that might be introduced to your software.

Do you have nightly builds?

Who checks them an how?

Do you DTAP or similar approach for separate environments?

DTAP

What version control system do you use and what is your branching/merging/release strategy?

If you use the cloud, what infrastructure do you already have?