In this class we’re going to cover the big picture of DevOps that provides you with a solid understanding of what DevOps is, and how to utilize the ideas within your own situations and projects. We’ll cover the essential concepts that move us towards the integrated value delivery that exemplifies DevOps. Along the way we will explore specific tools, behaviors and dispel some of the myths that surround DevOps.  The structure of the workshop is a mix of theory reinforced with experiential activities and demonstrations that touch upon key components of the delivery pipeline from configuration & build management, test & infrastructure automation, monitoring, and release management.

This course aligns with ICAgile’s DevOps track, which begins with this foundational certificate targeted to those interested in or already undergoing a DevOps transition. Join this workshop to earn your ICP-FDO certification.

Upcoming Classes

What you'll learn

DevOps is an extension of Agile principles beyond the delivery of software by including the Operations team and everyone else involved in the software delivery process from the beginning and addressing operational and other concerns as an integral part of the development cycle. Many people come to DevOps looking for the practices that will make them “DevOps”. But adopting DevOps is not just adding certain steps or particular people to the team, it is a shift in mindset based on core principles, the scope and breadth of which is sometimes summed up as C.A.L.M.S. — Culture, Automation, Lean, Metrics, Sharing.

The learning objectives cover areas such as the business case for DevOps, Continuous Integration, Continuous Delivery, accompanying cultural changes, operational considerations, configuration management, etc. Participants who complete this certification will gain an excellent foundation in DevOps concepts and ingredients for a successful transition.

See Learning Outcomes

1. The Case for DevOps
1.1. History of DevOps
1.1.1. Origins of DevOps
1.1.2. DevOps vs. Traditional Approaches
1.1.3. DevOps Business Value/Benefits

1.2. Mindset & Culture
1.2.1. DevOps Principles
1.2.2. Systems Thinking
1.2.3. Definition of Done
1.2.4. Communication
1.2.5. Collaboration
1.2.6. Reduced Risk
1.2.7. Small, Frequent Releases
1.2.8. Feedback Loops
1.2.9. Continuous Improvement (Kaizen)
1.2.10. Measuring DevOps Success

2. Beyond the Team
2.1. DevOps within an Agile Context
2.2. Cultural Challenges
2.2.1. Essential Conflict
2.2.2. Teams
2.2.3. Organizational Structure
2.2.4. Confidence in Automation
2.2.5. Resistance to Change

3. Configuration Management
3.1. Version Control
3.1.1. Commit Everything
3.1.2. Infrastructure as Code
3.1.3. Commit Frequently
3.1.4. Working on Main line
3.2. Dependency Management
3.3. Configuration Management Tools

4. Continuous Integration
4.1. Role of Continuous Integration in a DevOps Culture
4.2. Principles of Continuous Integration
4.3. Practices of Continuous Integration
4.3.1. Commit Code Frequently
4.3.2. Prioritize Fixing the Build
4.3.3. Write Automated Developer Tests
4.3.4. All Tests and Inspections Must Pass
4.4. Build Automation
4.5. Quality Assurance
4.5.1. Static Analysis
4.5.2. Development Standards
4.6. Continuous Feedback

5. Continuous Delivery
5.1. Philosophy and Mindset
5.1.1. Definition of Continuous Delivery
5.1.2. Continuous Delivery vs. Continuous Deployment

5.2. Principles of Continuous Delivery
5.2.1. Repeatable, Reliable Process for Releasing Software
5.2.2. Automate Almost Everything
5.2.3. Keep Everything in Source Control
5.2.4. If It Hurts, Do It More Frequently, and Bring the Pain Forward
5.2.5. Build Quality In
5.2.6. Done Means Released
5.2.7. Everybody is Responsible for the Delivery Process

5.3. Practices of Continuous Delivery
5.4. Deployment Pipeline
5.4.1. Definition of Deployment Pipeline
5.4.2. Commit Stage
5.4.3. Automated Acceptance Stage
5.4.4. Manual Testing
5.4.5. Non-functional Testing
5.4.6. Automated Deployment

5.5. Microservices

6. Test Strategy
6.1. Test Automation
6.2. Role of Testing in DevOps
6.3. Types of Tests
6.3.1. Unit Testing
6.3.2. Functional Testing
6.3.3. Non-functional Testing
6.3.4. Exploratory Testing
6.3.5. Systems and Integration Tests
6.4. Managing Defects

7. Operations
7.1. Managing Infrastructure
7.1.1. Virtualization
7.1.2. Containers
7.1.3. Automated Infrastructure
7.1.4. Monitoring
7.1.5. Log Management

office laptop work desk desk overhead overhead shot diverse working from home home office workspace t20 jRgQnW scaled

Who Should Attend

This class provides an overview of core concepts of DevOps and is geared towards a broad audience of professionals, both technical and non-technical. Where appropriate code and tools might be used to illustrate concepts, but tooling is not the focus, and participants are not expected to perform any hands-on coding/scripting activities.

  • Developers
  • Test Engineers
  • Technical Project Managers
  • Release Managers
  • System Administrators
  • Architects

SAMPLE AGENDA

What is DevOps?

  • Brief History
  • Why DevOps?
  • CALMS

Configuration Management

  • Version Control
  • Infrastructure as Code
  • Commit Frequently
  • Working on Main line

Continuous Integration (CI)

  • Role of Continuous Integration
  • Principles & Practices of CI
  • Continuous Feedback

Continuous Delivery (CD)

  • Philosophy and Mindset
  • Principles & Practices of CD
  • Deployment Pipeline
  • Low-risk Deployment Patterns

Test Strategy

  • Testing and DevOps
  • Types of Tests
  • Multi-level Test Automation
  • Investigative Testing
  • Managing Defects
  • Test Metrics

Components & Service

  • Conway’s Law & Team Structure
  • /microservices

Operations

  • Virtualization & Containers
  • Automated Infrastructure
  • Monitoring

Culture

  • Metrics and Measurement
  • Transparency
  • Continuous Improvement
  • Fostering a Learning Culture