Course #:TP2658 Agile Engineering and Quality Training 03/15/2021 - 03/18/2021 USD$2,795.00 Instructor Led Virtual 04/05/2021 - 04/08/2021 USD$2,795.00 Instructor Led Virtual 05/03/2021 - 05/06/2021 USD$2,795.00 Instructor Led Virtual 05/25/2021 - 05/28/2021 USD$2,795.00 Instructor Led Virtual 06/01/2021 - 06/04/2021 USD$2,795.00 Instructor Led Virtual 06/21/2021 - 06/24/2021 USD$2,795.00 Instructor Led Virtual 07/06/2021 - 07/09/2021 USD$2,795.00 Instructor Led Virtual 08/16/2021 - 08/19/2021 USD$2,795.00 Instructor Led Virtual 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 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 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. View Course Outline Share This Request On-Site or Customized Course Info REGISTER FOR A COURSEWARE SAMPLE x Sent First Name Last Name Email Request On-Site or Customized Course Info x Sent First Name Last Name Phone Number Company Name Email Question
Course #:TP2658 Agile Engineering and Quality Training 03/15/2021 - 03/18/2021 USD$2,795.00 Instructor Led Virtual 04/05/2021 - 04/08/2021 USD$2,795.00 Instructor Led Virtual 05/03/2021 - 05/06/2021 USD$2,795.00 Instructor Led Virtual 05/25/2021 - 05/28/2021 USD$2,795.00 Instructor Led Virtual 06/01/2021 - 06/04/2021 USD$2,795.00 Instructor Led Virtual 06/21/2021 - 06/24/2021 USD$2,795.00 Instructor Led Virtual 07/06/2021 - 07/09/2021 USD$2,795.00 Instructor Led Virtual 08/16/2021 - 08/19/2021 USD$2,795.00 Instructor Led Virtual 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 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 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. View Course Outline Share This Request On-Site or Customized Course Info REGISTER FOR A COURSEWARE SAMPLE x Sent First Name Last Name Email Request On-Site or Customized Course Info x Sent First Name Last Name Phone Number Company Name Email Question