In this course we will review Agile and the Extreme Programming (XP) framework. Extreme Programming has 12 practices, grouped into four areas, derived from the best practices of software engineering. 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.
Learning Objectives:
- Fine Scale Feedback
- Pair Programming
- Planning Game
- Test Driven Development
- Whole Team
- Continuous Process
- Continuous Integration
- Refactoring
- Small Releases
- Shared Understanding
- Coding Standards
- Collective Code Ownership
- Simple Design
- System Metaphor
- Programmer Welfare
- Sustainable Pace
Who Should Attend:
- ScrumMasters
- Product Owners
- Developers
- Architects
- Testers
- Business Analysts
- Agile Project Managers
- Managers, Stakeholders
Outline of Extreme Programming (XP) Workshop Training
Agile Overview
- Manifesto & Principles
- What is Extreme Programming (XP)
- How and why XP with Scrum
- XP Values and Rules – 12 practices of XP overview
Agile and Scrum Framework
- What is time-boxing and why time-boxing?
- What is Empirical Process?
- Scrum Framework – in Brief
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)
Scrum & XP Overview
- Scrum Roles, Artifacts and Events
- Definition of Done
- Development Team Practices
- Whole Team (XP Practice)
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
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
Scrum & XP Execution\Development
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
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
Introduction to Continuous Integration
- Continuous Integration Overview
- Continuous Improvement (XP Practice)
- Refactoring (XP Practice)
- CI and DevOps
- Small Releases (XP Practice)