Agile + DevOps West 2020 Pre-conference Training : Engineering Agility
Sunday, June 7, 2020 - 8:30am to Monday, June 8, 2020 - 5:00pm

Engineering Agility

Add to calendar
  • Learn practical agile development techniques through hands-on exercises
  • Understand how to develop better code with less effort and fewer defects
  • Experience practical development approaches that will help your project attain enduring quality
  • Practice automating tests, refactoring, handling and legacy code
  • Get hands-on with TDD, BDD, collaborative development, and the build process
 
Many organizations are transforming to an agile culture to accelerate software development and delivery. This course engages attendees in software development techniques that are best applied to align with agile values and principles.
 
After an initial introduction to agile values and principles, one might wonder how work is meant to reflect the meaning of ambiguous phrases in the Agile Manifesto such as "working software is the primary measure of progress" or "simplicity—the art of maximizing the amount of work not done—is essential." How exactly are developers supposed to carry out programming in this new world?
 
This interactive workshop engages participants in pragmatic hands-on exercises to reinforce and practice what they learn. Participants walk away with experience in some of the most effective techniques used today and leave better equipped to develop software more effectively and efficiently.
 
Who Should Attend
Developers, software developers in test, architects, and technical leads who have a basic understanding of good programming practices and want to take their analysis, design and programming skills to a new level.
 
Course Outline
Introduction
Agile recap
Automated tests
    Types of tests to automate
    Fixture setup
    Coding tests by intention
    Verifying results
    Completeness conditions
    Avoiding duplication
    Listening to your tests
    Testing the tests
    Refactoring tests
    Test speed
    Test execution time
    Use test doubles
    Dependency injection
 
Refactoring
    Clean programming
    Common code smells
    Principles of refactoring
    Common refactorings
    Refactoring tools
    Approaching legacy code
    Retrofitting tests on legacy code
TDD
BDD
Collaboration
    Collective accountability
    Collective ownership
    Basics of pairing
    Types of pairing
    Build tools
The build process
    Build tools
    Version control
    Continuous integration
 
Class Daily Schedule
Sign-In/Registration 7:30 - 8:30 a.m.
Morning Session 8:30 a.m. - 12:00 p.m.
Lunch 12:00 - 1:00 p.m.
Afternoon Session 1:00 - 5:00 p.m.
Times represent the typical daily schedule. Please confirm your schedule at registration.
Training Course Fee Includes
• Tuition
• Course notebook
• Continental breakfasts and refreshment breaks
• Lunches
• Letter of completion
Ryan Kenney

Ryan Kenney is an experienced agile dev turned DevOps engineer who has worked on both large scale Agile development projects for commercial clients and public sector innovative research and development projects. His technical skills range from fullstack development to setting up and administering DevOps pipelines with technologies like SonarQube, Jenkins, OpenShift, and Docker. In his spare time, Ryan likes to work on independent programs ranging from simple physics simulations to logical proofing programs, as well as contribute to open source software projects.