# Exploring the Benefits of Combining DevOps and Agile
## 2 Literature Review
### Similarities and Differences between DevOps and Agile  
In the context of Software Engineering, as discussed in this paper, DevOps can be understood as a behavioral evolution of Agile development [27], which was gradually conceived through practical experiences of implementation in software development. However, it is important to point out that the Agile method has its focus directed specifically to software development [28], while DevOps aims to involve the software development area in the implementation and operation of the software developed or still under development, which shows us that DevOps processes are being implemented within the Agile processes. Currently, in the professional community of Information and Communication Technologies (ICT) there is a growing consensus, in practice, that DevOps can be understood as \"DevOps = Agile + Lean + IT service management (ITSM)\" [29]. In its method and processes, DevOps adopts characteristics of frameworks related to the technical area of Agile software development together with ICT management processes. Complementarily, other relevant methodologies (e.g., Extreme Programming, Dynamic Systems Development Method, Kanban, SCRUM) have approaches intrinsically related to the Agile philosophy [30; 31; 32; 33]. SCRUM is very well-known and intensely used in the Agile method, and is generally enhanced by the Kanban tool, for managing the workflow of software development, but which also fits very well into the DevOps development process itself [34]. Table 1 presents the problems or gaps in the Agile method that are solved by adopting the DevOps method. In the context of the Agile method workflow, under the SCRUM framework implementation, DevOps presents four metrics [36] that are directly related to software delivery through enhanced software engineering: i--waiting time, ii--deployment frequency, iii--mean time to restore (MTTR), and iv--change failure percentage. These metrics can be implemented in the execution cycle of the Agile by SCRUM approach, enhancing the qualitative process of the organizational performance of software companies, in meeting the planned objectives, because it increases in a relevant way the level of monitoring and maturity of the activities performed in each work cycle. Organizations that implement Agile methodologies focus on productivity and process optimization by reducing execution time [37]. However, software development environments are shrouded in constant change, with continuous interactions of teams that focus on deliverable products. DevOps processes can improve the interactivity of the development teams, improving the integration process of the stakeholders of a project in an Agile environment, facilitating the continuity of the processes in a more balanced and stable way. According to [38], the DevOps culture can be implemented to carry out an incident management process for deliverable products, allowing Agile development teams to be continuously monitored, because it integrates the software deployment process by monitoring operations, as provided by the DevOps framework. Therefore, DevOps enhances the stability of the Agile cycle, as we mentioned before; that is, while Agile focuses on productivity in product deliverables in a more technical approach around ICT [39], DevOps directs its processes to checking the level of effectiveness of what is produced in the work cycles of the development teams. Therefore, in this central aspect of integration, there will be a tendency toward an improved qualitative increment in the scope of Software Engineering. Within what we have discussed so far, it was verified that the processes originated from Agile methodologies are the structural base of DevOps [18; 39], and that the union of these methodologies increases the level of intelligence of the information system that is generated in the work cycles, because it implements several functions, such as Developers, System Architects, Product Owners, Release Engineers, and Testers.