Course Outline: Below is course outline, but training focus on practice, practice and more practice. The participant works with groups throughout the days to seek solutions to common problems that may arise in their daily work as Scrum team. Training is NOT about running presentation and discussion, but focus more on hands-on training. Introduction of Agile – Why Agile, Agile Manifesto, Agile principles and values Introduction of Other Agile Methodologies – XP, Kanban, Lean and DSDM Scrum Framework – Scrum Roles, Scrum Ceremonies and Scrum Artifacts Estimation and Planning – User Story writing and Estimation techniques Estimation and Planning – User Story writing and Estimation techniques Distributed Team and best practices for distributed team Introduction to Acceptance Test Driven Development Behavior Driven Development – why, what and how Difference between ATDD, BDD and TDD Hands-on practice on Fitnesse, Cucumber, Selenium and SpecFlow Planning Agile Software Development Agile Architecture and Design SOLID design Principles Test Driven Development Mocking Refactoring, Patterns and Anti-Patterns When and how to Refactor Collaboration and Pair Programming Continuous Integration How to use TDD with Continuous Integration Architecture and Design