TP2658

Agile Engineering and Quality Training

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 Scrum, eXtreme Programming (XP), Feature Driven Development (FDD), OO, Reactive and Functional Programming. The course is 70% hands on programming.
Course Details

Duration

4 days

Prerequisites

Participants should have a strong knowledge of Java and foundational agile.

Target Audience

  • Developers
  • Technical Leads
  • Software Architects

Skills Gained

  • Learn to code the agile way
  • Increase predictability and time to market with less stress on your team
  • Practice agile by doing agile
  • Understand and codify quality and engineering excellence
  • Comprehend the purpose of Object Oriented, Functional, and Reactive Programming
  • Discover key techniques for increasing your team’s effectiveness
  • How to tune and customize agile in your organization
  • Where and when to design as you iterate
  • Train to learn transparent, accurate, communication with customers and leadership
  • Hands-on, practical mocking
  • The intent of microservices and why design / architecture are critical to success in Agile
  • How to increase predictability and deliver more consistently
  • Unleash your teams to remove impediments and improve performance
  • Create a culture of pride and software development expertise
Course Outline
  • PREWORK
    • Survey of the Scrum Guide
    • Agile Manifesto Principles
    • I See Agile 
  • CHAPTER 1. - Sprint 0: Release Planning
    • LAB:  Build me something
    • Agile Framework
    • Agile Advantages and Potential
    • The Agile Manifesto and Principles
    • Lean Practices
    • eXtreme Programming
    • LAB: Release Planning & Product Backlog Review
  • CHAPTER 2. -  Sprint 1: Sprint Planning & TDD
    • Ready?
    • Agile Estimation
    • LAB:  TDD
      • Design – Test – Code – Refactor
  • CHAPTER 3. - Sprint 2: Quality Code
    • Engineering Excellence
    • Code Quality
      • Written Metrics
    • Lightweight Design
    • LAB: OO Programming
      • Design – Test – Code - Refactor
  • CHAPTER 4. - Sprint 3: Mocks
    • Mocks
    • Fakes, Stubs
    • Mockito
    • LAB: Mock Objects
      • Design – Test – Code - Refactor
  • CHAPTER 5. - Sprint 4: Microservices
    • Microservices
    • RESTful
    • Testing Services
    • LAB: RESTful Services
      • Design – Test – Code - Refactor
  • CHAPTER 6. - Sprint 5: Reactive Programming
    • Functional Programming 
    • Reactive Programming 
    • LAB: Functional & Reactive Programming 101
      • Design – Test – Code - Refactor
  • CHAPTER 7. - Sprint 6: DevOps
    • The DevOps Pipeline
    • Sonar Lint
    • Jenkins
    • LAB: Lint & Jenkins
      • Design – Test – Code - Refactor
  • CHAPTER 8. - Sprint 7: Enhancing Performance
    • Sprint Review
    • Sprint Retrospective
      • Innovation and Learning Experiments
    • Keeping Score – Task Boards and more
    • LAB: The Agile P&L
    • LAB: Immediate Improvement
  • CHAPTER 9. - Sprint 8: BDD (Optional if time allows)
    • Acceptance Criteria
    • Introduction to Cucumber
    • Writing scenarios with Gherkin
    • Setup and Tear Down
  • POSTWORK
    • The Self Managing Team
    • Lean / Agile Center of Enablement