0% found this document useful (0 votes)
19 views7 pages

Devops Unit - 3

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1/ 7

UNIT - 3

Introduction to project management


1) The need for source code control:
Source code control (also known as version control) is an essential
part of DevOps practices.

Source code control is essential in DevOps because it enables


teams to manage and track changes to their codebase throughout
the software development lifecycle.

Here are some of the reasons why source code control is


important in DevOps:
Version Control: Source code control provides a centralized repository to manage
multiple versions of code, enabling teams to track changes and easily roll back to
previous versions if necessary.
Traceability and Accountability: Source code control enables teams to track who
made changes to the code and when they made them. This information is
important for debugging and auditing purposes.
Collaboration: DevOps teams often have multiple developers working on the
same codebase, and source code control enables them to work collaboratively,
without conflicts, and with the ability to merge changes.
Branching and merging: Teams can create separate branches for different features
or bug fixes, then merge the changes back into the main codebase. This helps to
ensure that different parts of the code can be developed independently, without
interfering with each other.

Automated Deployment (Continuous integration and delivery): Continuous


integration and continuous deployment (CI/CD) pipelines rely on source code
control to automate the build and deployment process. Without source code
control, it would be challenging to implement and manage a reliable automated
deployment process.
Code Quality: With source code control, teams can easily enforce code quality
standards, such as code reviews, testing, and integration, ensuring that only high-
quality code is merged into the codebase.
Overall, source code control is a critical component of DevOps, providing
teams with the necessary tools and processes to manage code changes effectively,
collaborate, and deliver high-quality software at speed.

2) History of Source Code Management:


The history of source code management (SCM) in DevOps dates
back to the early days of software development. Early SCM systems were simple
and focused on tracking changes to source code over time.
In the late 1990s and early 2000s, the open-source movement and
the rise of the internet led to a new SCM tools, including CVS (Concurrent Versions
System), Subversion, and Git.

These systems made it easier for developers to collaborate on


projects, manage multiple versions of code, and automate the build, test, and
deployment process.
As DevOps emerged as a software development methodology in
the mid-2000s, SCM became an integral part of the DevOps tool chain. DevOps
teams adopted Git as their SCM tool of choice, leveraging its distributed nature,
branch and merge capabilities, and integration with CI/CD pipelines.

Today, Git is the most widely used SCM system in the world,
and is a critical component of DevOps practices. With the rise of cloud-based
platforms, modern SCM systems also offer features like collaboration, code
reviews, and integrated issue tracking.

3) Roles and code in DevOps


In DevOps, roles and code play a critical role in the development, delivery, and
operation of software.

In DevOps, project management is often integrated with software development


and operations, and team roles are organized around a set of principles that
emphasize collaboration, automation, and continuous improvement.

Here are some of the key roles and responsibilities in project management in
DevOps:
Roles:
Product Owner: The product owner is responsible for defining the product vision,
prioritizing features, and ensuring that the product meets the needs of the
customer. They work closely with the development team to create a product
roadmap and user stories that guide the development process.

Scrum Master: The Scrum Master is responsible for facilitating the Agile process,
ensuring that the team follows Agile principles, and removing any obstacles that
may prevent the team from delivering software on time. They work with the
product owner and development team to plan sprints, retrospectives, and other
Agile ceremonies.
Development team: The development team is responsible for writing and testing
code, building software features, and integrating code changes into the main code
repository. They work closely with other team members to ensure that code is
developed and deployed in a way that meets the team’s quality standards.
Operations Team: The operations team is responsible for deploying and
maintaining the software in production. They work closely with the development
team to ensure that the software is deployed in a way that is reliable, scalable,
and secure.
Quality Assurance Team: The quality assurance team is responsible for testing the
software to ensure that it meets quality standards, is free of bugs, and functions
as expected. They work with the development team to identify and fix issues, and
ensure that the software is released with minimal defects.

DevOps team: The DevOps team is responsible for bridging the gap between
development and operations, ensuring that code is delivered quickly and reliably
to production.

CODE:
Code is the backbone of DevOps and represents the software that is being
developed, tested, deployed, and maintained.
Code is managed using source code control systems like Git, which provide a way
to track changes to the code over time, collaborate on the code with other team
members, and automate the build, test, and deployment process.

Code is continuously integrated and tested, ensuring that any changes to the code
do not cause unintended consequences in the production environment.
In conclusion, both roles and code play a critical role in DevOps. Teams work
together to ensure that code is developed, tested, and delivered quickly and
reliably to production, while operations teams maintain the code in production
and respond to any issues that arise.

Overall, SCM has been an important part of the evolution of DevOps, enabling
teams to collaborate, manage code changes, and automate the software delivery
process.

In summary, project management in DevOps is a collaborative effort that involves


multiple roles and responsibilities, all focused on delivering high-quality software
that meets the needs of the customer.

By leveraging Agile principles, automation, and continuous improvement, DevOps


teams are able to work more efficiently and effectively, delivering software that
meets the needs of their customers and stakeholders.

You might also like