# Best Practices Evidenced for Software Development Based on DevOps and Scrum: A Literature Review
## 3 Results
### What Are the Common DevOps Practices Documented in the Literature?
IaC enhances consistency, reduces manual errors, and accelerates deployment processes by treating infrastructure configurations as versioned and executable scripts. Key studies, including [72; 73; 74; 75; 76; 77; 78; 79; 80; 81; 82; 83; 84; 85; 86; 87; 88; 89; 90; 91; 96; 97; 98; 99; 100; 103; 104; 105; 106; 107; 108; 109; 110; 111; 112; 113], focus on how IaC supports integrating DevOps practices, facilitating other practices such as continuous deployment, and ensuring that infrastructure changes are systematically tested and documented;
6. **Automated testing**. As mentioned in 31.9% of the papers analyzed, automated testing is highlighted as a key practice for ensuring software quality and accelerating the software development process. By automating the test execution, teams can efficiently detect defects early, improve test coverage, and reduce manual effort, ultimately leading to faster and more reliable software releases. Studies such as [81; 87; 88; 90; 91; 99; 99; 100; 101; 103; 105; 107; 109; 110; 112; 116] underscore the importance of automated testing in maintaining software stability and enabling teams to deliver high-quality products efficiently;
7. **Unit testing**. As mentioned in 29.8% of the papers, unit testing is highlighted as essential for ensuring the correctness and reliability of individual components or functions within the software. By isolating and testing small units of code, unit testing enables the early detection of errors, supports better code design, and improves the overall maintainability of the system. Key studies, including [81; 87; 88; 90; 91; 99; 99; 100; 101; 103; 104; 106; 111; 112; 116; 117; 118], emphasize unit testing as a key practice for achieving high software quality and facilitating the early identification of issues, which contributes to more efficient and reliable development processes;
8. **Static code analysis (SCA)**. As mentioned in 29.8% of the papers analyzed, unit testing is recognized as a critical practice for validating the functionality of individual components or modules in software development. By isolating and test ing small code units, teams can identify defects early, ensure code reliability, and support maintainability throughout the development lifecycle. Key studies, including [68; 81; 84; 87; 88; 99; 104; 105; 106; 107; 109; 110; 111; 108; 109; 110; 110; 111], emphasize its role in supporting continuous integration and reducing the likelihood of errors propagating through later stages of development;
9. **Continuous monitoring**. As mentioned in 27.7% of the papers analyzed, continuous monitoring is identified as a key practice for maintaining system performance, reliability, and security throughout the software lifecycle. Continuous monitoring enables teams to detect anomalies early, reduce downtime, and ensure consistent service delivery by providing real-time insights into application behavior, infrastructure health, and potential issues. Studies such as [88; 90; 91; 93; 94; 99; 102; 103; 105; 109; 110; 111; 112; 114; 116] mentioned continuous monitoring as essential for supporting DevOps practices, enabling proactive maintenance, and ensuring the stability of software systems in production environments;
10. **Continuous improvement**. As mentioned in 21.3% of the papers analyzed, continuous improvement is recognized as a vital practice for enhancing processes, products, and services over time. By fostering a culture of ongoing refinement and iteration, teams can adapt to changing requirements, optimize workflows, and enhance overall performance. Studies such as [82; 83; 84; 90; 91; 92; 94; 97; 99; 104; 107; 114; 115; 116; 117; 118] emphasize the role of continuous improvement in supporting Agile and DevOps practices, ensuring that teams can deliver higher quality and more efficient solutions through iterative learning and adaptation. The review shows that the base practices for DevOps are focused on continuous integration, versioning, deployment, automating, and chaining their use through a pipeline.