Students will start coding almost immediately. We’ll break into small teams and work in short, intense, iterations typically lasting 30 minutes. The course is extremely demanding and requires complete focus by the students in order to finish the material.
Teams learn agile by doing agile and practicing development “micro-cylces” where we design – test (first!) – code – reactor until the sprint is complete.
Teams will walk away with new Team Engineering Norms they can immediately begin to practice.
Objectives
• 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
Audience
Developers, Technical Leads, and Software Architects
Prerequisites
Participants should have a strong knowledge of Java and foundational agile
Duration
Four days
Outline for Agile Engineering and Quality Training
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
o Design – Test – Code – Refactor
CHAPTER 3. - Sprint 2: Quality Code
• Engineering Excellence
• Code Quality
o Written Metrics
• Lightweight Design
• LAB: OO Programming
o Design – Test – Code - Refactor
CHAPTER 4. - Sprint 3: Mocks
• Mocks
• Fakes, Stubs
• Mockito
• LAB: Mock Objects
o Design – Test – Code - Refactor
CHAPTER 5. - Sprint 4: Microservices
• Microservices
• RESTful
• Testing Services
• LAB: RESTful Services
o Design – Test – Code - Refactor
CHAPTER 6. - Sprint 5: Reactive Programming
• Functional Programming
• Reactive Programming
• LAB: Functional & Reactive Programming 101
o Design – Test – Code - Refactor
CHAPTER 7. - Sprint 6: DevOps
• The DevOps Pipeline
• Sonar Lint
• Jenkins
• LAB: Lint & Jenkins
o Design – Test – Code - Refactor
CHAPTER 8. - Sprint 7: Enhancing Performance
• Sprint Review
• Sprint Retrospective
o 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