A team-based methodology for agile software development that speeds delivery while ensuring quality. DevOps implements techniques including continuous integration, testing, and deployment.
Added Perspectives
As the term DevOps itself implies, its goal is to bridge the gap between (software) development and (IT) operations. This is especially challenging since the goals of these two areas are heavily conflicting. The operations team is usually interested in providing stable and reliable services and infrastructure. Therefore, they avoid risks and try to work as predictably as possible. The development team, in contrast, has to respond to rapidly changing business requirements and is interested in fast cycles in order to quickly deploy their changes to production systems (c.f. Figure 1). DevOps tackles these challenges by establishing a culture and processes that tear down the silos.
DevOps bridges the traditional gap between development, QA, and operations so the technical teams can deliver high-quality output at an ever faster pace. Rather than separate teams working at cross purposes (speed or quality), the goal of DevOps is to foster a culture of collaboration and trust between these parties and improve both speed and quality.
DataOps is an extension of the DevOps movement in software engineering that uses code repositories, testing frameworks, and collaborative development tools to scale software development, increase code reuse, and automate deployments. DataOps uses the same tools but applies them to data development. Like DevOps, data developers write code (e.g. SQL, Python) but unlike most software development, they also manage the flow of data from source to target.