Certified Scrum Developer (CSD) Workshop - Vancouver, BC

Event Information

Share this event

Date and Time



Holiday Inn Express

15808 104th Avenue

Surrey, British Columbia V4N5L2


View Map

Event description


Take your Agile Development Skills to the Next Level – Become a Certified Scrum Developer®

Course Description

Scrum is simple, but it's not easy! Effectively developing software using Scrum requires developers and testers to understand a Agile Engineering Practices, including Test Driven Development (TDD), Acceptance Test Driven Development (ATDD), Behavior Driven Development (BDD), Refactoring and Continuous Integration (CI).

To recognize developers and testers who have mastered these skills, the Scrum Alliance has created the Certified Scrum Developer® (CSD) program. To become a Certified Scrum Developer, a person must complete training classes and pass a technical skills assessment to demonstrate that he or she has a working understanding of Scrum principles and has mastered the Agile Engineering Practices.

This immersive, 5 day course provides developers, testers and managers with a comprehensive introduction to these practices. There are numerous hands-on coding exercises to reinforce the lecture material. Throughout the course, students will create solutions to real problems, including developing tests, designing and coding solutions, validating the solution and then refactoring their initial designs to improve code quality.

Students who successfully complete the course and pass the assessment will be eligible for the Scrum Alliance’s Certified Scrum Developer® (CSD) credential.


The course is intended for testers, developers, quality engineers and managers who want a practical understanding of developing modern applications using Scrum and Agile best practices. As programming exercises are included in the course work, a knowledge of Java is necessary.

Course Outline

Day 1: Scrum Fundamentals

  1. Waterfall
  2. Philosophical underpinnings
  3. Introduction to Scrum
  4. Core Concepts
  5. Agile Principles
  6. Sprints
  7. Requirements and User Stories
  8. Product Backlog
  9. Velocity
  10. Roles – Product Owner
  11. Roles – Scrum Master
  12. Roles – Dev Team
  13. Planning in Agile
  14. Sprint Meetings
  15. Agile Game – applying the lessons learned

Day 2: Agile Technical Practices

I. Programming by Intention

  1. Visualizing the code you wish you had
  2. Using helper methods
  3. Delegating
  4. Preview of Extract Method and Extract Interface refactoring techniques
  5. Single Responsibility principle
  6. Open / Closed principle
  7. Liskov Substitution principle
  8. Interface Segregation principle
  9. Dependency Inversion principle
  10. Onion Architectures
  11. Evolving Architectures
  12. Code smells
  13. Refactoring Techniques
  14. Refactoring Case Study

II. SOLID Design Principles

  1. Single Responsibility principle
  2. Open / Closed principle
  3. Liskov Substitution principle
  4. Interface Segregation principle
  5. Dependency Inversion principle

III. Architecture and Agile

  1. Onion Architectures
  2. Evolving Architectures

IV. Refactoring

  1. Code smells
  2. Refactoring Techniques
  3. Refactoring Case Study

Days 3 - 5: Acceptance Test Driven Development (ATDD) / Test Driven Development (TDD)

I. Introduction: What is ATDD/BDD/TDD?

  1. What is ATDD – Acceptance tests
  2. What is BDD
  3. What is TDD
  4. Red – Green - Clean
  5. How will ATDD/BDD really help?
  6. Understanding Roles & Responsibilities
  7. ATDD/BDD work process Flow
  8. ATDD best practices

II. Cucumber and Gherkin

  1. What is Cucumber
  2. Arrange – Act – Assert
  3. Gherkin Syntax – Keywords
  4. Features and Feature files
  5. Creating scenarios – using Given/When/Then/And/But
  6. Creating multiple scenarios for a single feature
  7. Background key word
  8. Scenario Outlines
  9. Regular expressions
  10. Good/Bad Practices – DSL
  11. ATDD Best Practices
  12. Tags

III. Tools and web driver

  1. Selenium and Selenium web driver
  2. Practice – Case study number 1

IV. Programming the tests (step definitions) in Java

  1. Case Study number 2
  2. Case Study number 3

V. Testing an API

  1. Interfacing with an API
  2. Case Study 1: Testing Git Hub
  3. Parsing the response
  4. Case Study 2: Testing Google Maps

VI. Advanced topics

  1. Folder Structure - Configuration, Feature files, and step definition files
  2. Libraries and Logging
  3. Refactoring test code – the DRY principal
  4. Creating a DSL of steps
  5. Refactoring with the Page Object pattern
  6. Case Study number 4


Bill Fairfield has been training and coaching software development for over 25 years. In that time, he has taught well over 20,000 students. Working at a large manufacturing corporation, a defense contractor, and a startup company, Bill worked his way up the corporate ladder from an engineer to a program manager. In his spare time, you can find Bill hiking with his two dogs, Monster and Zeus.

Bill’s credentials include the following certifications:

Image of Bill's Certifications

Cancellation Policy

In order to receive a refund you must notify us no later than 10 business days before the class start date. Cancellation requests received after the 10 day window will be issued a credit that can be used for a future class.

Date and Time


Holiday Inn Express

15808 104th Avenue

Surrey, British Columbia V4N5L2


View Map

Save This Event

Event Saved