DO400 - Red Hat DevOps Pipelines and Processes: GI/CD with Jenkins, Git, and Test Driven Development (TDD) Classroom Training
Deliver faster with modern software and application development methods
Red Hat Training: DevOps Culture and Practice Enablement (DO500) is a 5-day, immersive master class that offers you the opportunity to experience and implement the cultural shift that a successful DevOps adoption journey demands.
How is this course different from any other agile training?
Most agile training offerings focus on a particular framework or are directed at just delivery or just technology, but this course combines the best tools from many leading frameworks. The curriculum blends continuous discovery and continuous delivery together with cultural and technical practices into a unique, highly engaging experience, packed with real-world applications.
Who should attend?
This course is designed for business product owners, developers, and engineers eager to deliver continuous value to customers through an enhanced understanding of changing customer needs and the ability to reduce the time needed to get new ideas to market.
In addition, the course mimics a real-world delivery team, making this offering a unique fit for cross-functional teams interested in learning how collaboration can breed innovation. Armed with shared experiences and best practices, the team can apply what it has learned to benefit the business’s culture and bottom line in the pursuit of new projects and improved processes.
What are the prerequisites?
- Knowledge of agile practices is helpful
- Experience using agile practices and methodologies such as scrum is beneficial
- This class will require internet access to certain sites (AWS, youtube, google drive, online chat tools)
- This course is a “bring your own device” (BYOD) training so you will be expected to bring your own device.
- Chrome browser suggested
- What is DevOps?
- Brainstorm and explore what principles, practices, and cultural elements make up a DevOps model for software design and development.
- Pairing and mobbing
- Discuss and experience two foundational practices: pair programming and mob programming.
- Retrospectives, information radiators, and team sentiment
- Examine the value of conducting retrospectives, visualizing work, and assessing team sentiment.
- Impact mapping
- Discuss the impact mapping discovery practice.
- Agile practices
- Cover agile practices, including sprint planning, daily standup, showcase, retrospective, and backlog refinement.
- Value stream and process mapping
- Delve into the practices of value stream mapping and metric-based process mapping.
- Continuous integration, deployment, and delivery
- Explore the foundational practices of continuous integration, continuous deployment, and continuous delivery.
- Event storming
- Learn how to use the event storming discovery practice.
- User story mapping and value slicing
- Examine the user story mapping, value slicing, and empathy mapping practices.
- Automated testing, part 1
- Develop an understanding of the test-driven development and business-driven development foundational practices, often referred to as automated testing.
- Automated testing, part 2
- Complete the automated testing lab begun in part 1.
- Pipelines as code
- Explore continuous integration/continuous delivery pipelines using Jenkins.
- Non-functional testing
- Discover the merits of non-functional testing.
- Build monitoring
- Understand how to monitor builds and graphically represent their status as an information radiator.
- Demo day
- Experiment with the optimal methods of producing a showcase and bring the class to a close.
What are the learning outcomes you can expect?
To help you make the shift to DevOps, this course takes you through a five-day, immersive simulation. You will gain and apply experience with more than 30 practices, including:
- Cultural tools such as social contracts, real-time retrospectives, and team sentiments to align teams.
- Powerful planning practices such as impact mapping, event storming, and metrics-based process mapping.
- Iterative and incremental delivery practices, including scrum and kanban.
- Technical programming practices, including continuous integration, continuous delivery, infrastructure as code, test automation, and test-driven development.
You will be exposed to these and other open practices that are used in Open Innovation Labs and can be found in the Open Practice Library.
You will also participate in hands-on labs that demonstrate how we use Red Hat OpenShift Container Platform and Red Hat Ansible in conjunction with Jenkins to automate the build and deployment of a sample to-do list application and its required infrastructure.
How will my organization and team be impacted?
Many companies are finding that their current organizational structure and software development practices are not ready to deliver the outcomes of digital transformation: shorter time to market, quick feedback loops, and user-driven products. These companies need to adopt and practice DevOps culture and methods to be successful in their digital transformation.
This course introduces you to real-world DevOps culture principles and modern software development practices. You will develop a modern software application using Red Hat OpenShift Cluster Platform, Red Hat Ansible Automation, and other industry-standard DevOps software, tools, and techniques. You’ll be prepared to use DevOps principles and open source solutions to start and lead the digital transformation journey at your organization.
Red Hat has created this course in a way intended to benefit our customers, but each company and infrastructure is unique, and actual results or benefits may vary.
How will I be impacted?
As a result of attending this course, you will have experienced DevOps culture, been exposed to numerous DevOps practices, and implemented a small application using what you’ve learned. You should be able to demonstrate these skills:
- Understand and implement multiple open practices
- Deploy a small multi-tiered application to an OpenShift cluster
- Work as an effective member of an agile team
- Discover, prioritize, and document desired software features and functionality
- Develop software using pair and mob programming styles