In many IT books you can read suggestions for what tools should make up your Continuous Integration (CI) or Continuous Delivery/Deployment (CD), but what is often overlooked by organizations attempting DevOps is to define what constitutes CI and CD. Before getting started on building out the CI and CD portions of the delivery pipeline, we highly suggest organizations first define what constitutes CI and CD and then allow teams to experiment with tools to build out the CI and CD portions of the pipeline.
By defining CI and CD you give teams a standard in terms of what the CI and CD processes must entail in order for them to meet the organizations definition. Defining CI and CD inside the organization does not mean that the organization can just make up any definition that suites them, the definitions must at least meet the industry minimum definitions. As an example, CI would most likely need to at least include a code management tool that allowed teams to work off the mainline, an appropriate level of Unit testing, other automated testing that the organization determined should be included, code quality gates and versioning tooling at a minimum.
Once the CI and CD have been defined, then teams should be allowed to experiment with tooling that works for them and meets the defined steps in the CI and CD processes.