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

  • 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

Day 1: 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

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

Day 3: Test Driven Development and Agile Design

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

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

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

–>

Day 1: Extreme Programming – Introduction and XP – Planning
   Topic
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
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
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
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
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

Classes Schedule

Coming Soon

For more info Please send us a mail to connect@agilemania.com