What is the difference between Development Operations and Software Configuration Management?
For me it seems to be the same as long as both DevOps and Software Configuration Management are focused on:
- Establishing development infrastructure – being in charge of version control, build management, deployment management, dependencies management, continuous integration and delivery, etc.
- Using best practices for organizing developers environment.
- Quality Assurance of development processes – gathering metrics of development effectiveness, working on eliminating bottlenecks of development process (running unit-tests, evaluating unit-tests coverage, running inspections, etc)
- Infrastructure management – target platforms and its specifics.
- Release management – making sure release has been delivered to customer/client in time.
Maybe I'm missing something? This link shows that usage of term 'Software Configuration Management' prevails. But still, what word combination would you rather use to describe listed range of activities: Development Operations or Software Configuration Management?
Best Answer
The terms describe very similar concepts and responsibilities, and in general they are somewhat synonymous. The term "DevOps" is a relatively new one, popularized by the Devopsdays Ghent 2009 conference and subsequent Devopsdays events. It's best described in this diagram:
On the other hand, Software Configuration Management is a far more established term within the profession, and derives from the non software specific term Configuration Management. Software Configuration Management is often referenced in a software engineering context, a simple definition is given by Roger Pressman in "Software Engineering: A Practitioner's Approach":
Although all the terms you reference are vague, DevOps seems to be just a less formal way of describing more or less the same set of principles as Configuration Management, or Software Configuration Management if seen from a software developer's perspective, especially prioritizing tightly coupled teams:
In the same article, the similarities with SCM are noted:
As for the usage of the terms, your comparison doesn't really makes sense: