DevOps is a mindset, which fosters the collaboration between the Development Team "Dev" , who is responsible from the production, and the Operation Team "Ops" , who is responsible from the execution.
DevOps approach fosters automation along application lifecycle, which vanishes the adhoc operations between Dev and Ops teams, and boosts the quality by favoring software engineering practices and frequent live deployments with less incidents
DevOps enables the companies to adapt faster to the changes in the market by automating the manual approach which is open to failure. Beside, DevOps helps the infrastructure to be used more efficiently, decreasing the OPEX. In other words, one that does not apply DevOps practices, will not be in the market in the future.
DevOps is cultural shift rather than just a tool change. This shift must be supported with the right tools, which at the end enables "self-service IT" approach. Beside, the right engineering practices help the defect feedback loop in hours, rather than days, sometimes weeks, which is cognitively effective as developers make fixes rightaway.
What is DevOps, what is not DevOps?
DevOps fosters:
Agile Development Teams can only provide end-to-end agility by embracing the DevOps mindset. The following are the common symtoms otherwise:
Development team, owning all the responsibility of the cycle end-to-end is also a good practice which can be possible with the latest Cloud/PaaS/SaaS. Particularly, micro-services architectures enables end-to-end responsibility.
Software Development Cycle, a.k.a. Deployment Pipeline, is defined as a flow which turns an idea into a working software. Continuous Integration, Continuous Delivery and Continuous Deployment should be considered while defining the flow.