Understanding and Implementing DevOps
"81% of Enterprise-Level
Business Use DevOps"
Many companies encounter workflow problems across departments. This is especially apparent in interactions between the Development Team and IT Operations.
DevOps is a way of doing business that seeks to seamlessly cross silo barriers and utilize popular practices like Agile, Scrum, automated processes, and others.
DevOps gives you the framework and concrete methodology to help your organization develop code in a high-speed, organized, safe, and smoothly efficient way.
Why This Course?
"For businesses not using DevOps, the number #1 reason is 'Lack of Experience"
In "Understanding and Implementing DevOps",
you'll learn how implementing DevOps can solve many of your current software development and deployment challenges.
You'll gain a deeper understanding of how DevOps works and how to implement DevOps in your organization.
Who Should Take This Course?
Anyone and Everyone involved in the development of software (who are under pressure to deliver change) and IT Operations (who are responsible for stability).
IT Operations Leaders
The only requirement is that your organization is committed to or considering DevOps, and that you are a part of (or influence) the Development / IT Operations team.
Although much of this course revolves around software development and IT support & implementation, neither coding or deep infrastructure knowledge is required.
What is (and why) DevOps
- Problems DevOps Solves
- Understanding DevOps in a Nutshell
- Common DevOps Misconceptions
- How DevOps Got Started
- What You'll Get from DevOps
- Deliverable from "Alignment" exercise
The "Business Culture" Upshots of DevOps
- The Real Lifecycle of Software
- Agile Planning and Why it Works
- Conflict: Development vs. I.T Operations
- How Agile Teams Are Different
- Getting Changes into Users' Hands—Safely and Quickly
- The Continuous Delivery Promise
- Real-Life Software & Engineering
- Deliverable: from "Culture and Continuous Workflows" exercise.
Standards of DevOps and Agile
- Conventional Silo Mentalities
- "Agile" Fixes to Common Approaches
- Emerging Business Collaboration Trends
- 5 Ways to Fail at DevOps, and How to Avoid Them
- Using Failure as a Tool
- Always.Be.Testing [ABT]
- Deciding What Your Organization Should Test
- How DevOps Leads to Constant Improvement
- Deliverable: [deliverable for Tying Cultural Findings to Action]
Step-by-Step Guide to Implementing DevOps
- How to "Sell" the DevOps Way of Looking at Things to Your Co-Workers
- Communicating the Change
- A Step-by-Step Guide to Implementing DevOps
- Establishing and Maintaining Consistency.
- Addressing Infrastructure complexity
- Deliverable: Growth and Implementation Plan
Agile, Scrum, and DevOps: The Perfect Trio
- Why Agile and What You'll Need
- Where Does "Scrum" Fit In?
- The Scrum Squad: Roles and Responsibilities
- The Definition of "Done"
- "User Stories" As Project Requirements
- Setting and Defining Acceptance Requirements
- Deliverable: Product User Story
Avoiding 9 Types of Waste in DevOps
- Actions Produce Value or Waste
- Japanese Muda: The Original 7 Wastes
- DevOps Wastes: Wasted Motion and Wasted Creativity
- Uncovering Waste in Your Organization
- Addressing Identified Waste
- Deliverable: Waste Discovery Document
Decide What, When, And How Much to Produce
- The Problems with Traditional "Assigned Work"
- Work in Progress Limits & Reducing Backlog
- Tracking and Quantifying Work in Progress
- Japanese Kanban Methodology
- "Pulling" Tasks Instead of Pushing Assignments
- Deliverable: Kanban Board
Tracking and Transparency in DevOps Projects
- "Where are we with the Project?..."
- Questions You Need Answers To
- Use Data Driven DevOps to Direct Your Journey
- Keep Track of What to Track with the DevOps Pyramid
- How Visibility affects ROI
- Visibility, by Design: How to Set Up Transparent Teams and Operations
- Automatic Alerts: Set and Forget
- Tools for Automatic Alerts
- Introducing Tight Tracking to a Loose Team
- Software for Monitoring DevOps
- Deliverable: Opportunities for Tracking and Transparency Document
What Tools Should We Use for DevOps?
- The Dangers of Using the Wrong Tool for the Right Job
- Researching and Evaluating DevOps Tools
- Training Your Team on New Tools: What to Expect, Tips to Optimize Training
- Application Performance Monitoring (APM)
- Automating Application Release
- Protect Previous Work with Integration Testing
- Virtualization for Identical Compute Environments
- Rest Easy with Version Control
- Understanding Git, GitHub and Mercurial
- Deliverable: Tools to Consider Detail
Automate Time Consuming Processes
- The Sad Reality of "Normal" IT
- The Happy Story of Automation
- Scripting for Infrastructure Automation
- Common Tools for Automation
- Automating Configuration
- Puppet: Automate with Puppet – Pros and Cons
- Other Automation Tools: Chef, Salt, Ansible
- Deliverable: Automation Discovery Plan
Deployment Tools and Recommendations
- A Plan: How to Choose the Right Tool
- Common Deployment Tools and Who Uses Them:
Team Foundation Server (TFS)
- Deliverable: Deployment Tool Needs Assessment
Tools to Use for DevOps Collaboration
- Common Tools Demystified
- Collaboration Tools
- Visual Studio
- Advice on Remote Meetings
- Deliverable: Collaboration Tool Needs Assessment & Action Plan
Moving Forward with DevOps
- What's Next: Continuous Integration & Continuous Delivery
- Using Tools to Release Software Quickly and Bug Free
- End of the Chain: The Joys of Continuous Deployment
- Staying Informed in the Changing World of DevOps
- Creating Goal Statements that Work
- Next Steps
- Action List: Low-Hanging Fruit
- "Biggest Impact" Item List
- Task List: What Do We Do Next?