Participants will review, demonstrate, and practice each principle as it related to modern day software development using a real-world project. This course is ideal for team looking to understand XP or to use XP practices to take their projects to the next level.
TOPICS
• Fine scale feedback
Pair Programming
Planning Game
Test Driven Development (BDD optional)
Whole Team
• Continuous process
Continuous Integration
Refactoring Design Improvement
Small Releases
• Shared understanding
Coding Standards
Collective Code Ownership
Simple Design
System Metaphor
• Programmer welfare
Sustainable Pace
DURATION
Four Days.
Outline for Agile Programming (XP) Training
Chapter 1. Agile Overview
• Manifesto & Principles
• What is Extreme Programming (XP)
• How and why XP with Scrum
• XP Values and Rules – 12 practices of XP overview
Chapter 2. Agile and Scrum Framework
• What is time-boxing and why time-boxing?
• What is Empirical Process?
• Scrum Framework – in Brief
Chapter 3. Scrum with XP Teams
• Roles and Responsibilities
• Creating Shared understanding
Coding Standards (XP Practice)
Collective Code Ownership (XP Practice)
Simple Design (XP Practice)
System Metaphor (XP Practice)
Whole Team (XP Practice)
Chapter 4. Scrum & XP Overview
• Scrum Roles, Artifacts and Events
• Definition of Done
• Development Team Practices
Whole Team (XP Practice)
Chapter 5. Scum & XP Backlog Planning
• User Story and Estimation
• User Story Writing Workshop
• Acceptance Criteria (Gherkin syntax)
• Splitting User Story
• Running Spikes on Complex stories
• Release Planning
Planning Game
Small Releases (XP Practice)
Metaphor (XP Practice)
• Iteration Planning
• Refine Product Backlog: Prioritization, Sequencing MVP & MMF
Chapter 6. BDD workshop – Collective Ownership and Testing (optional-extra day)
• Principles of Behavior Driven Development
• Why Examples needed for specification
• Writing Examples in Gherkin
• Practicing BDD
Chapter 7. Test Driven Development
• Test Driven Development
Test Driven Development (XP Practice)
Pair Programming (XP Practice)
• Improving the quality and design of the code by testing?
• Different types of tests: unit, integration, functional
Chapter 8. Refactoring
• Consequence of technical debt and risk of “breaking” the code
• Where? When? How refactoring?
• Support of TDD and ATDD during refactoring
• Best practices and limitations
• The various categories of refactoring tools
Chapter 9. Introduction to Continuous Integration
• Continuous Integration Overview
Continuous Improvement (XP Practice)
Refactoring (XP Practice)
• CI and DevOps
Small Releases (XP Practice)