Training

 

 

Popular Courses

Browse Our Free Resources

  • whitepapers
  • whitepapers
  • webinars
  • blogs

Our Locations

Training Centres

Vancouver, BC
Calgary, AB
Edmonton, AB
Toronto, ON
Ottawa, ON
Montreal, QC
Hunt Valley
Columbia

locations map

Calgary

550 6th Av SW
Suite 475
Calgary, AB
T2P 0S2

Toronto

821A Bloor Street West
Toronto, ON
M6G 1M1

Vancouver

409 Granville St
Suite 902
Vancouver, BC
V6C 1T2

U.S. Office

436 York Road
Suite 1
Jenkintown, PA
19046

Other Locations

Dallas, TX
Miami, FL

Home > Training > Agile and Scrum > Agile Engineering and Quality Training

Agile Engineering and Quality Training

Quick Enroll

Course#: TP2658

The goal of this course is to take a team (Developers, DBAs, Build Engineers, Analysts, Testers, Developers, Architects) through Agile Technical Practices gleaned from methods such as eXtreme Programming (XP), Feature Driven Development (FDD), and best software design approaches that have been practiced for the past fifty years.

What software practices do you need to adopt to make hyper-adaptable, “Agile” software systems? One of the XP practices stands above all the rest, the practice built to include adaptation into your software systems. That central practice is refactoring. Almost every other practice exists to support refactoring. Pairing ,TDD, and Simple Design are the minute-by-minute behaviors that support refactoring. Small Releases, Continuous Integration (and modern Devops) includes the build process into your refactoring behavior. Code standards and System Metaphor are bigger picture items to support refactoring, while Collective Code Ownership, Sustainable Pace, Whole Team, and the Planning Game support the team to do refactoring. We cover them all.

We will also include items that are missed in XP, such as best testing practices. What testing practices besides unit testing need to be included in a software process built around maintainable code? More than 99% of the testing needs to be automated, but what forms of automated testing do we need to work with? Functional end-to-end testing is required, but it's only the beginning. Service testing is different from Web testing, and the difference should be discussed. Performance and Load testing can be automated as well. Behavior Driven Development is another important developments in Agile that we will cover in this class. We will also include visual testing, including Perceptual Diffs.

Teams will walk away with new Team Engineering Norms that they will apply to their projects.

LEARNING OUTCOMES

  • Refactoring
  • Test Driven Development
  • System Metaphor
  • Sustainable Pace
  • Planning Game
  • Simple Design
  • Pair Programming
  • Whole Team
  • Short Releases
  • Coding Standards
  • Collective Code Ownership
  • Continuous Integration
  • Agile Web Testing
  • Agile Service Testing
  • Agile Load/Performance Testing
  • Behavior Driven Development
  • Test Environment Setup
  • Intro to Devops
  • Intro to  BlueGreen Deployment
  • Intro to other testing topics

 

What You’ll Learn

  • The $ value of Technical Agile
  • The cost of technical debt
  • Why traditional testing doesn't fit Agile
  • XP principles
  • Refactoring
  • Agile engineering roles vs. traditional roles
  • Identifying non-functional foundational requirements
  • Identifying proof of concepts and spikes
  • Test Setup
  • Unit Testing
  • Test Driven Development
  • Modern Test Coverage
  • User Centric Design
  • Agile Design approaches
  • Testing with mock data
  • Build Automation
  • Definition of Done
  • Build Stability Rules
  • Automated Testing Tools
  • Define your Engineering Team Norms
  • Test Automation
  • Failing builds aggressively
  • Linting tools
  • BDD

 

Why This Course? 

  • Our course is built around doing Agile work, not just theory.
  • Facilitated by our dynamic, seasoned technical coach!
  • Great for team building!
  • The center of the course is an Agile project, done correctly.

 

AUDIENCE

  • Developers, Technical Leads, and Software Architects.

 

PREREQUISITES

  • Participants should have basic knowledge of JavaScript programming and web development.

 

DURATION

  • 4 Days

Outline of TP2658 Agile Engineering and Quality Training

CHAPTER 1. Agile Overview

  • What is Agile?
  • Not a single approach?
  • Historical View
  • Umbrella View
  • Manifesto View
  • Principled View
  • Mindset View
  • CAS View
  • Categories View
  • Summary

 CHAPTER 2. Technical Agile

  • What is Technical Agile / Agile Engineering?
  • XP
  • Software Craftsmanship
  • DevOps
  • Summary

CHAPTER 3. XP

  • XP Foundations
  • XP Practices
  • Pairing
  • TDD
  • Planning Game
  • Whole Team
  • Continuous Integration
  • Refactoring
  • Small Releases
  • Coding Standards
  • Collective Code Ownership
  • Simple Design
  • System Metaphor
  • Sustainable Pace
  • Practice Centricity
  • Summary

CHAPTER 4. Essentials Of Agile Engineering

  • Project Comparison
  • SCCIP Cost
  • The outline of the solution
  • Refactoring
  • Relationship between practices
  • Refactoring Centrality
  • Summary

CHAPTER 5. Unit testing

  • Prevalence
  • Confusion around Unit Testing
  • System Testing
  • Automated System Testing
  • Custom Unit Testing
  • Library-supported Unit Testing
  • TDD
  • Testing decision factors
  • Summary

CHAPTER 6. TDD

  • What is & isn't TDD
  • TDD Goals
  • Room for Refactoring
  • Habit of Change
  • Design for Change
  • Stuckness
  • Improved Unit Testing
  • Speed of execution
  • Red Green Refactor
  • TDD Algorithm
  • TDD Pitfalls
  • Summary

CHAPTER 7. Test Doubles

  • Types of Test Doubles
  • Dummy
  • Fake
  • Stub
  • Mock
  • Spy
  • Unclarity in naming
  • Tradeoffs
  • State vs. Behavior
  • Integration Test vs. Mocks
  • Mocking Consensus
  • Summary

CHAPTER 8. Refactoring

  • Definition
  • Cost of Change
  • Agile enhances cost
  • SCCIP measurement
  • Refactoring Solution
  • DUST Model
  • GRASP
  • More Quality
  • Performance
  • Code Smells
  • Smell Cleaning
  • Summary

 

Part II – Agile Quality

CHAPTER 9.  Quality Intro

  • Traditional Quality
  • Agile Goals
  • Incompatibility

CHAPTER 10. Build / Deploy

  • Traditional Build Deploy
  • Agile Build Deploy
  • Historical Agile Build Pipeline
  • Modern Build Pipeline
  • Modern Pipeline Tools
  • Summary

CHAPTER 11. Static Code Analysis

  • Introduction to SCA / Linting
  • Defining Good Code
  • Checking For Good Code
  • Automating the checks
  • Tools
  • Summary

CHAPTER 12. Test Quality

  • Introduction to Testing the tests
  • The Test Quality Problem
  • To measure or not
  • Coverage approaches
  • Coverage Difficulties
  • Improved Coverage Approaches
  • Tooling
  • Summary

CHAPTER 13. Automated Web Testing

  • Connection Pooling
  • Manual Web Testing
  • Varieties of Testing
  • Agile Testing Model
  • Automation
  • Tooling:   Selenium
  • Summary

CHAPTER 14. Automated Service Testing

  • Testing Services
  • Tooling Options
  • Automation with Postman
  • Postman problems
  • Newman solutions
  • Summary

CHAPTER 15. Behavior Driven Development

  • What is BDD?
  • Sequence of Activity with BDD team
  • Confusion around BDD
  • Tooling in BDD
  • Cucumber
  • Summary

CHAPTER 16. Other Forms of Agile Testing

  • Other forms of testing
  • Load
  • Stress
  • Performance
  • Acceptance
  • Usability
  • Visual
  • Summary

CHAPTER 17. Intro To DEVOPS

  • Defining
  • Branching Strategies
  • CI/CD
  • Virtualization
  • Containerization
  • Provisioning
  • Environment Management
  • Blue – Green Deployment
  • Summary

LAB EXERCISES

  • Lab01  Unit Testing
  • Lab02  TDD
  • Lab03  Test Doubles
  • Lab04  Refactoring
  • Lab05  Build Pipeline
  • Lab06  Linting
  • Lab07  Mutation Testing
  • Lab08 Web Testing – Record + Replay
  • Lab09 Web Testing -- Scripting
  • Lab10 Service Testing -- Web
  • Lab11 Service Testing -- Scripts
  • Lab12 Behavior Driven Development
  • Lab13 Load Testing
  • Lab14 Definition of Done
Address Start Date End Date
Instructor Led Virtual 09/18/2017 09/21/2017
We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.
*Your name:

*Your e-mail:

*Phone:

*Company name:

Additional notes:

We have received your message. A sales representative will contact you soon.

Thank you!.

more details
buy this course

09/18/2017 - Online Virtual
$2,795.00
Enroll

Register for a courseware sample

It's simple, and free.

 

Thank You!

You will receive an email shortly containing a link to download the requested sample of the labs for this course.