There is no agreement between the scholars and the practitioners of what the DevOps concept necessitates. There are many definitions available for the term “DevOps,” but it is the term used for emphasizing the collaboration between operations and development.
Development (Dev): This is a process for creating a software product consisting of interrelated activities of software requirements, analysis, coding, architectural design, integration, testing and acceptance testing.
Operations (Ops): This is a process of putting into use, and supporting end users in the use of, software product in the operational environment. Its activities include upgrade, installation, operation control, migration, configuration management, monitoring, alerting, support and availability.
DevOps Roles Required for an Organization
Many IT organizations are looking to embrace DevOps to increase their pace of software development and realize the business agility that stems from accelerating and streamlining the communications between operations and development.
However, there is no fast or simple way to achieve DevOps. Many organizations have approached it as a pure technology play, but the successful path begins with the best people in the right DevOps roles with the right DevOps skills and an interest to collaborate.
Experts in IT need to empower and employ evolving professional roles. Working as a lead change agent to supervise the transition, these DevOps roles include automation architects, security engineers, release managers, experience assurance experts, developer-testers and utility technology players who understand operations and development.
DevOps Evangelist
This individual needs to promote the benefits of DevOps by quantifying and identifying the business benefits that come from the higher agility that DevOps delivers. Reporting as a change agent, the DevOps evangelist ensures buy-in from operational and development teams, recognizes the important roles to handle DevOps delivery methods and ensures IT professionals are empowered and trained to make those changes.
Release Manager
The release manager is responsible for addressing the coordination and management of the product from development through production. Primarily they work largely on technical details and obstacles project managers are not involved with. Release managers supervise the integration, coordination, development, testing and deployment to support continuous delivery.
Automation Architect
The role of automation architect becomes important in DevOps, as this technology depends largely on automated systems. They are responsible for designing, analyzing and executing strategies for persistent integration while conforming high availability on pre-production and production systems.
Software Developer/Tester
The heart of the DevOps organization is the role of a software developer. Under this technology, the title of a software developer will stay the same, but the job of a tester/developer slowly raises the scope of responsibilities. These developers are not only responsible to convert new requirements into code, but also deploy, unit test and handle the ongoing monitoring.
Experience Assurance Professional
While the quality assurance function is frequently part of the software development, a new type of control becomes necessary when organizations adopt DevOps. The need for QA testers is being replaced with a need for XA experts charged with making sure that new functions are launched with the end user experience in mind.
Security Engineer
Considering the conventional waterfall development, system security is immensely an afterthought. It is a nonfunctional condition that, such as QA, is frequently tacked on toward the end of the system development. DevOps-minded stores have security engineers working side by side with programmers, incorporating their recommendations much earlier on in the process.
Utility Technology Player
Traditional IT operations or systems management professionals concentrate on maintaining the servers running. The primary cause of service interruption is likely to be the applications being run on these servers, so the administrators introduce very strict controls on what’s allowed to operate on their servers. They need extensive QA in a staging environment, large transfer and operations documentation and very rare issues. Traditional programmers have been heads down-coders without any involvement in post production systems.
Conclusion
A successful DevOps implementation is one that begins with the best people in the right DevOps roles to address all aspects and promote the speed and agility afforded by DevOps.
— Saikumar Talari