DevOps is represented by a set of principles and practices that help improve communication and collaboration between development and operations. Bob Aiello and Leslie Sachs have put together a great introduction showing how quality assurance needs to commence at the very start of a DevOps project.
By emphasizing better communication and collaboration between software development and IT, this article explores ways to establish trust by focusing on customer value. For example, Manoj Khanna suggests continuous integration and validation as techniques that helps build that trust.
One of the most effective approaches to DevOps involves moving the automation of the application build, package, and deployment upstream to the beginning stages of the software development lifecycle—an industry best practice long before DevOps became as popular as it is today.
How do we build more reliable, complex systems in a way that is both pragmatic and economically feasible? Many of the DevOps practices provide the key to building better software that can be maintained, upgraded, and supported from its first installation to its eventual retirement when the system is no longer required.
For development, a production application should be fully baked and not in what would be considered a “development” state. Tracy Ragan explains that frequent releases are a basic requirement of rapid development methodologies like agile and this impacts the way in which development teams and production control teams must interact.