- Experience working in a team that builds, tests and manages enterprise software
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
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