Extreme Programming Practitioner

Extreme Programming Workshop

5 day workshop on Extreme Programming (XP) coversall phases including planning, managing, designing, coding and testing a project. This is a workshop for everyone to learn XP practices such Simple Design, Planning Game, Small Releases, Metaphor, Testing, Refactoring, Collective Ownership, Pair Programming, User Story Writing, Specification by Examples, BDD, TDD, Test Automation and Continuous Integration.Workshop covers XP values(Simplicity, Communication, Feedback, Respect and Courage) to deliver working software every week.

Our Training Approach

We believe in XP and the workshop itself will be run using XP in multiple Iterations with ZERO power point slides. Expect to have lots of fun while you learn as workshop is loaded with content like pair programming, peer review, live project, learn by doing and learn to measure progress.We conduct training in interactive manner with several practical examples and activities. We also do customization to suite customer expectations while maintaining the objective of workshop. Workshop will have multiple coding DOJO sessions to sharpen your coding practices to have simple design and cleaner code.

Key Learning Activities

Hands-on activities (60-70%) and discussion on mentioned topics (30-40%). Hands-on activities include writing unit test, code, writing examples, setting environment, installing tools and some group creativity activities.

Target Audience

Development team members including developers, testers, architects, leads and scrum masters.

Prerequisites

Laptops/Desktops with required software and internet connection. List of required software will be provided by instructor in advance.

Training Programs

Extreme Programming (XP) Workshop
Duration: 4-5 Day
Timings: 9:00 AM to 5:00 PM

Day 1: Extreme Programming – Introduction and XP – Planning
   Topic    Duration
Introduction to Extreme Programming
Agile Overview and available Framework
What is Extreme Programming (XP)
How and why XP with Scrum
XP Values and Rules – Covering 12 practices of XP
Extreme Programming – Planning Game, Small Release and Metaphor
User Story and Estimation
User Story Writing Workshop
Splitting User Story
Running Spikes on Complex stories
Release Planning
Iteration Planning
Day 2: Acceptance Criteria and Acceptance Test Driven Development
   Topic    Duration
Specification by Examples Workshop – Collective Ownership and Testing
Challenges in Collaboration between Business and Development Team
How to write better Specification
Why Examples needed for specification
Writing Examples in Gherkin
ATDD and BDD workshop – Collective Ownership and Testing
Consequences of ATDD on the Sprint Planning and Sprint Review
Principles of Behavior Driven Development
Practicing BDD with Cucumber/SpecFlow: installation, writing features, testing and reporting
Role of Iteration Manager and crew when writing scenarios acceptance
Test Driven Development and Agile Design
   Topic    Duration
Test Driven Development – Simple Design & Pair Programming
Deion of the TDD approach and its benefits
Improving the quality and design of the code by testing?
Different types of tests: unit, integration, functional
Unit testing with Junit/NUnit – Testing
Understand the life cycle of a test in the XUnit framework
Respect of the principle of isolation and control of test results
The mocks or simulate how the code Device code tested
Use of simulation frameworks for test double
Organization of test activities
Methodology of correcting a Bug
Automate the execution of XUnit
Generating reports
Integration with Ant, Maven and Eclipse
Design Frameworks
Definition and principles of frameworks
Emergent Design
Principle of scalability and implementation
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
Day 4: Continuous Integration and Agile Testing
   Topic    Duration
Introduction to Continuous Integration
Principles, environment and infrastructure
Branching strategies and patterns for continuous integration.
Solutions for Continuous Integration: Hudson, Jenkins, Bamboo, TeamCity
Introduction to Jenkins
Installation, configuration and use of Jenkins
Automated Builds with Jenkins and Maven/MSBuild
Automation Framework with Junit/NUnit (TDD) and Cucumber/SpecFlow (BDD/ATDD)
Agile Testing
Importance of Agile testing
Ensure better quality product Iteration by Iteration
Test Automation Frameworks
Day 5: Scrum Essential Workshop
   Topic    Duration
Agile and Scrum Framework
What is time-boxing and why time-boxing?
What is Empirical Process?
Scrum Framework – in Brief
Scrum with XP in Practice
Scrum Roles, Artifacts and Events
Project infrastructure and Sprint
Definition of Done
Development Team Practices
Product Backlog
Prepare product backlog
Refine product backlog
Identify MVP & MMF
Ordering product backlog