Course Code: devops_banking
Duration: 35 hours
Prerequisites:
  • Experience working in a team that builds, tests and manages enterprise software
Overview:

This training is aimed at teams wishing to adopt an Agile approach to developing enterprise applications, especially in field of banking. Participants will gain an understanding of contemporary Agile development principles and practices, and how they contrast with traditional Waterfall practices. 

Participants also gain an understanding of DevOps principles, tools and processes, including Continuous Testing, Integration and Delivery. We also discuss the various project management concepts and tools, such as Kanban, SCRUM, etc.

The training is carried out in a workshop-style and provides participants with ample opportunities to interact with each other, ask questions and implement the tools and approaches learned in a live lab environment.

Upon completion of this training course, participants will have a fundamental understanding of Agile and DevOps and Agile, how they relate to each other, and how to implement the tools, methodologies and mindset to transition from a traditional waterfall approach to an Agile/DevOps one.

Audience

  • Developers
  • Test engineers
  • Build engineers
  • Project managers

Format of the Course

  • Interactive lecture and discussion
  • Lots of exercises and practice
  • Hands-on implementation in a live-lab environment
Course Outline:

Introduction

  • Establish Goals and Current State
  • The Goal of DevOps
  • The Goal of Agile
  • The Intersection of DevOps and Agile

Traditional Development Approaches

  • Historical overview of predictive approaches, inc Waterfall, V-Model, Incremental models
  • Benefits and of Waterfall
  • Disadvantages of Waterfall

Agile Overview

  • Historical overview of Agile methodologies
  • The Agile Manifesto

Agile Principles

  • The 12 Agile Principles
  • Summary of Agile concepts

Case Study: Agile in the Banking Sector

  • Waterfall to DevOps

Agile Applied

  • Agile Roles, Processes and Lifecycle
  • The Scrum Framework
  • Scrum roles and responsibilities – Scrum Master, Product Owner, Team
  • Scrum events – Sprint, Sprint Planning, Review, Retrospective, Daily Scrum
  • Scrum artefacts – Product Backlog, Sprint Backlog, Product Increment

Agile Project Management

  • Empirical Process Control
  • Iterative planning and reporting
  • Continuous Improvement and retrospection
  • Resource management and teams

Agile Testing

  • Testing fundamentals
  • Agile Testing Quadrants
  • Collaborative test design
  • Test-driven development              

Agile Business Analysis

  • Traditional Business Analysis principles
  • Agile BA overview
  • Behaviour Driven Development design patterns

Agile Transition

  • Agile transition – big bang v gradual adoption
  • Common issues with adopting Agile approaches
  • Developing a transformation roadmap

What Is DevOps?

  • Background and History
  • Symptoms and Problems in Today's Environment
  • The IT Core Chronic Conflict
  • DevOps Roles
  • DevOps Defined
  • Core Concepts

Why Do DevOps?

  • Driving Factors
  • Amazon's Process: A Case Study
  • State of DevOps Report
  • Manufacturing and DevOps

Case Study: DevOps in the Banking Sector

  • Waterfall to DevOps
  • Branching
  • Roles
  • Team Culture

How Does DevOps Work?

  • Continuous Integration
  • Continuous Deployment
  • Continuous Delivery
  • Continuous Testing
  • Continuous Monitoring
  • Automation
  • Kanban End-to-End

Culture and DevOps

  • People and Trust
  • Resilience
  • Engagement is Key
  • Change the Metrics!
  • Law of Motivation
  • Keys to Successful DevOps Culture

Overview of DevOps Tools

  • Build Automation
  • Test Automation
  • Deployment Automation
  • Environment Provisioning
  • Automated Feedback and Monitoring

Build and Test Automation ​

  • Jenkins
  • Selenium
  • JMeter
  • Testing strategy for deployment
  • Quick feedback

Deployment Automation

  • Ansible 
  • Managing mutliple machines
  • Writing simple Playbooks
  • Comparison to Chef and Puppet
  • Docker
  • Deployment through registry
  • Kubernetes
  • Pod and Replication controller
  • Replication

Environment Provisioning

  • Deployment strategies
  • Automaticing provisioning
  • Transitioning infrastructure to the Cloud
  • On-premise provisioning vs provisioning in the Cloud.
  • Cloud providers (Amazon AWS, Microsoft Azure, Google Cloud Platform, etc.)
  • Comparision AWS to OpenStack

Automated Feedback and Monitoring

  • Nagios
  • Hosts and group hosts
  • Monitoring
  • Notifications
  • Comparision to Zabbix

Assessment the Success and Setback

  • Measuring and evaluating the results
  • Performance reviews

Summary and Next Steps