CI/CD Pipelines for Agilist/PM's

CI/CD Pipelines for Agilist/PM's

I have been working in IT for the better part of 20 years. I have seen a lot of change in that time. As I have been posting about on The Very Agile PM, we as Agile Professionals, Project and Program Managers need to be more technical and understand what our teams are working on if we want to try to survive the changes brought about by the 2023 layoffs. I recently interviewed for a role where I was asked some baseline questions about CI/CD. They were not terribly technical questions. I answered them from the PM/Agilist point of view as I was not asked to go about it from other roles involved with the pipeline, even though I did expand on it. I have worked on quite a few dev projects as well as application cloud migration projects. I know this stuff. I love to nerd out on it. This is why today, I am going to cover CI/CD Pipelines and what Agile Professionals and Project/Program Managers should know about them to help those of you who may not know.

What is a CI/CD Pipeline?

CI/CD stands for Continuous Integration and Continuous Delivery. It is a set of practices that helps software development teams to deliver high-quality software to customers more quickly and frequently.

Continuous Integration involves automatically building and testing the code each time a change is committed to the code repository. This helps to identify and fix errors early on in the development process.

Continuous Delivery involves automatically deploying the code to production after it has been successfully built and tested. This helps to ensure that the software is always up-to-date with the latest changes.


Why is CI/CD used?

CI/CD is used to improve the speed, quality, and reliability of software development and delivery. It helps to:

  • Reduce the risk of errors
  • Improve team productivity
  • Improve communication and collaboration
  • Deliver value to customers more quickly and frequently


History of CI/CD

CI/CD has been around for many years, but it has become increasingly popular in recent years as software development teams have adopted Agile and DevOps practices.

Here is a brief overview of the history of CI/CD:

  • 1970s: The first CI/CD tools and practices were developed.
  • 1990s: Extreme Programming (XP) popularizes the concept of Continuous Integration.
  • 2000s: Agile Development becomes more popular, and CI/CD becomes an essential part of the Agile workflow.
  • 2010s: DevOps becomes more popular, and CI/CD becomes even more important as software development teams adopt DevOps practices.

https://spectralops.io/wp-content/uploads/2022/07/image7-2.png

Case Study:

Challenge: Etsy was experiencing a high number of bugs in their software. This was causing problems for their customers and costing the company money.

Solution: Etsy implemented a CI/CD pipeline to automate their software development and delivery process. This helped them to identify and fix bugs early on in the development process before they caused problems for their customers.

Results: After implementing a CI/CD pipeline, Etsy saw a significant reduction in the number of bugs in their software. This saved the company money on customer support costs and also helped to improve the customer experience.

When I implemented CI/CD pipelines into my projects with some of my clients, I found similar results. I also identified organizational and team dysfunctions and implemented changes such as involving legal, compliance, marketing/martech, and QA sooner to expedite approvals and delivery. This cut our delivery time from 3-6 months to 2-week sprints. We were able to deliver value and working elements sooner.

Link: https://savvycomsoftware.com/e-commerce-case-in-point-break-down-etsys-success/


How Atlassian tools can help you manage a CI/CD pipeline

You know I have to get it in here being an ambassador for Atlassian. I have been using their tools for 20 yrs now and most companies that I work with use them as well. Atlassian offers a number of tools that can help you to manage a CI/CD pipeline. These tools include:

  • Jira: Jira is a popular issue-tracking and project-management tool. Jira can be used to track the progress of your CI/CD pipeline and to identify and fix any problems that occur through stories/tasks/bugs.
  • Bitbucket: Bitbucket is a popular code hosting and code review tool. Bitbucket can be used to host your code repository and to facilitate the code review process.
  • Bamboo: Bamboo is a popular CI/CD tool. Bamboo can be used to automate the build, test, and deployment process.
  • Confluence: Confluence is a popular knowledge base and collaboration tool. Confluence can be used to document your CI/CD pipeline and to share information with your team.

Atlassian tools can be used to create a complete CI/CD pipeline that will help you deliver high-quality software to your customers more quickly and frequently.


PM/Agile Roles and Their Responsibilities within the CI/CD Pipeline

Project Manager

  • Oversee the entire CI/CD pipeline project, including planning, execution, and monitoring.
  • Manage the budget and timeline for the project.
  • Ensure that the CI/CD pipeline meets the needs of the business and the development team.
  • Communicate with stakeholders and keep them updated on the project's progress.

Program Manager

  • Align the CI/CD pipeline with the overall strategic goals of the organization.
  • Manage the dependencies between the CI/CD pipeline and other projects and initiatives.
  • Identify and mitigate risks to the CI/CD pipeline project.
  • Provide resources and support to the project manager and the development team.

Scrum Master

  • Help the development team to implement and follow the CI/CD pipeline.
  • Remove impediments to the CI/CD pipeline process.
  • Facilitate communication and collaboration between the development team and other stakeholders.
  • Help the development team to continuously improve the CI/CD pipeline.

Product Owner

  • Define the requirements for the CI/CD pipeline.
  • Prioritize the requirements and work with the development team to create a backlog.
  • Accept or reject the work that is completed by the development team.
  • Provide feedback to the development team on the CI/CD pipeline.


Elements of a Typical CI/CD Pipeline for a Website Upgrade Project

A typical CI/CD pipeline for a website upgrade project might include the following elements:

  1. Continuous integration (CI): The CI process automatically builds and tests the website code each time a change is committed to the code repository. This helps to identify and fix errors early on in the development process.
  2. Continuous delivery (CD): The CD process automatically deploys the website to production after it has been successfully built and tested. This helps to ensure that the website is always up-to-date with the latest changes.

A CI/CD pipeline can be implemented using a variety of tools and technologies. Some popular CI/CD tools include Jenkins, Docker, Maven, Git, CircleCI, and Travis CI.


Example of a CI/CD Pipeline for an On-Prem to Cloud Migration Project

A CI/CD pipeline for an on-prem to cloud migration project might include the following elements:

  1. Continuous integration: The CI process automatically builds and tests the application code each time a change is committed to the code repository.
  2. Packaging: The application code is packaged into a format that is compatible with the cloud platform.
  3. Deployment: The application is deployed to the cloud platform using a variety of tools and technologies, such as Terraform, CloudFormation, or Ansible.
  4. Testing: The application is tested in the cloud environment to ensure that it is working properly.
  5. Monitoring: The application is monitored in the cloud environment to identify and fix any problems early on.

A CI/CD pipeline can help to automate and streamline the on-prem to cloud migration process, making it faster and more reliable.


Case Study:

Challenge: Capital One was facing a number of challenges with their on-premises infrastructure. Their systems were old and outdated, and they were struggling to keep up with the demands of their growing business. Additionally, they were incurring high costs to maintain their on-premises infrastructure.

Solution: Capital One decided to migrate their applications to the cloud. They chose to use Amazon Web Services (AWS) as their cloud platform.

To help with the migration process, Capital One implemented a CI/CD pipeline. This pipeline automated the process of building, testing, and deploying their applications to AWS.

Results: Capital One was able to successfully migrate their applications to AWS using their CI/CD pipeline. The migration process was completed in just six months, and Capital One was able to reduce their IT costs by 30%.

In addition to the cost savings, Capital One also benefited from a number of other advantages as a result of their migration to the cloud. These advantages include:

  • Increased scalability and agility: Capital One is now able to scale their applications up or down as needed, and they can deploy new features more quickly.
  • Improved reliability and security: AWS provides a highly reliable and secure platform for Capital One to run their applications.
  • Increased innovation: Capital One is now able to take advantage of a wide range of AWS services to innovate and develop new products and services for their customers.

Link: https://aws.amazon.com/solutions/case-studies/capital-one/


Recap: Benefits of Using a CI/CD Pipeline

There are a number of benefits to using a CI/CD pipeline, including:

  • Faster and more reliable software delivery
  • Improved software quality
  • Reduced risk of errors
  • Increased team productivity
  • Improved communication and collaboration

If you are not already using a CI/CD pipeline, I encourage you to consider implementing one. It can be a valuable tool for improving your software development process and delivering high-quality software to your customers.

If you'd like to talk to me about this more, I am only a DM away on LinkedIn.

Want to learn more? Atlassian offers some INCREDIBLE Training

https://www.atlassian.com/continuous-delivery


#atlassiancreator #jira #bitbucket #agile #cicd #projectmanagement #programmanagement #productowner #aws #cloud #applicationmigration

ANANDHA PRAKASH R

@MHTECHIN | Cloud Computing Enthusiast ?? | Driving Business Transformation with Agile Solutions ?? | Salesforce Developer ?? | Proficient in Python, SQL, Docker ??, Jenkins ??, Databricks, and Frontend Development ??

5 个月

Thanks for sharing. Very helpful to me.??

回复
Abhishek Taneja

Associate Delivery Manager

1 年

Theresa McFarlane - I must say that you've explained CI/CD Pipeline in such a way that even a Novice can understand it..?? Quite Insightful and supported by suitable Case Studies..??

Waldo Santiago

Go-getter | Results Driven | Competent Team Player | Agilist | SAFe Agile 6 Certified | IT Scrum Master | Project Manager | Program Manager | Technical Delivery Manager | SDK | Cloud Migration

1 年

This is a great article !!! Thanks for sharing!!!

Shubham Rastogi

Talent Management|| People Management || Account Management || Delivery Management || Client Servicing || Recruitment

1 年

Thanks for sharing Theresa. It's a good read covering concepts and very well explained.

要查看或添加评论,请登录

Theresa McFarlane的更多文章

社区洞察

其他会员也浏览了