Course Code: 12876

Agile Engineering and Quality Training

Class Dates:
1/4/2022
Length:
4 Days
Cost:
$1495
Class Time:
Technology:
Network
Delivery:
Instructor-Led Training, Virtual Instructor-Led Training

Overview

  • Course Overview
  • 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.

    Take this course to:
    • 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
  • Teams including:
    • Developers
    • DBAs
    • Build Engineers
    • Analysts
    • Testers
    • Developers
    • Architects
    • Technical Leads

Prerequisites

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

Course Details

  • Module 1: Agile Overview
  • What is Agile?
  • Not a single approach?
  • Historical View
  • Umbrella View
  • Manifesto View
  • Principled View
  • Mindset View
  • CAS View
  • Categories View
  • Module 2: Technical Agile
  • What is Technical Agile / Agile Engineering?
  • XP
  • Software Craftsmanship
  • DevOps
  • Module 3: XP
  • XP Foundations & Practices
  • Pairing
  • TDD
  • Planning Game
  • Whole Team
  • Continuous Integration
  • Refactoring
  • Small Releases
  • Coding Standards
  • Collective Code Ownership
  • Simple Design
  • System Metaphor
  • Module 4: Essentials Of Agile Engineering
  • Project Comparison
  • SCCIP Cost
  • The outline of the solution
  • Refactoring
  • Relationship between practices
  • Refactoring Centrality
  • Module 5: Unit testing
  • Prevalence
  • Confusion around Unit Testing
  • System Testing
  • Automated System Testing
  • Custom Unit Testing
  • Library-supported Unit Testing
  • TDD
  • Testing decision factors
  • Module 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
  • Module 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
  • Module 8: Refactoring
  • Definition
  • Cost of Change
  • Agile enhances cost
  • SCCIP measurement
  • Refactoring Solution
  • DUST Model
  • GRASP
  • More Quality
  • Performance
  • Code Smells
  • Smell Cleaning
  • Module 9: Quality Intro
  • Traditional Quality
  • Agile Goals
  • Incompatibility
  • Module 10: Build / Deploy
  • Traditional Build Deploy
  • Agile Build Deploy
  • Historical Agile Build Pipeline
  • Modern Build Pipeline
  • Modern Pipeline Tools
  • Module 11: Static Code Analysis
  • Introduction to SCA / Linting
  • Defining Good Code
  • Checking For Good Code
  • Automating the checks
  • Tools
  • Module 12: Test Quality
  • Introduction to Testing the tests
  • The Test Quality Problem
  • To measure or not
  • Coverage approaches
  • Coverage Difficulties
  • Improved Coverage Approaches
  • Improved Coverage Approaches
  • Module 13: Automated Web Testing
  • Connection Pooling
  • Manual Web Testing
  • Varieties of Testing
  • Agile Testing Model
  • Automation
  • Tooling: Selenium
  • Module 14: Automated Service Testing
  • Testing Services
  • Tooling Options
  • Automation with Postman
  • Postman problems
  • Newman solutions
  • Module 15: Behavior Driven Development
  • What is BDD?
  • Sequence of Activity with BDD team
  • Confusion around BDD
  • Tooling in BDD
  • Cucumber
  • Module 16: Other Forms of Agile Testing
  • Other forms of testing
  • Load
  • Stress
  • Performance
  • Acceptance
  • Usability
  • Visual
  • Module 17: Intro To DEVOPS
  • Defining
  • Branching Strategies
  • CI/CD
  • Virtualization
  • Containerization
  • Provisioning
  • Environment Management
  • Blue – Green Deployment