Choose your language:

France
Germany
Hong Kong
India
Ireland
Japan
Malaysia
Netherlands
New Zealand
Singapore
Sweden
United Kingdom
United States

Certified Scrum Developer (CSD)

Course Code

AG90

Duration

5 Day

As programming exercises are included throughout the course, knowledge of Java is necessary. The course involves actual programming in a team environment. This notwithstanding, the course is a programming course, not a survey, overview, or discussion. Actual code will be written, tested, and reviewed by the instructors.
Scrum is simple, but it's not easy! Adopting Scrum changes everything, including the technical practices used to develop and test software. Developing software with Scrum requires developers and testers to understand Agile Engineering Practices, including Test Driven Development (TDD), Acceptance Test Driven Development (ATDD), Behavior Driven Development (BDD), Refactoring and Continuous Integration (CI).

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.

The course covers all of the learning objectives set by the Scrum Alliance for the Certified Scrum Developer credential, including Scrum Fundamentals, and Agile Engineering Practices such as SOLID design principles, designing by intention, and techniques for refactoring.

This Certified Scrum Developer (CSD) is for those who do not have the ScrumMaster® certification. If you do have the ScrumMaster® certification, you would take the Certified Scrum Developer (CSD) Technical Track 3-day course instead.

Certified Scrum Developer® Credential
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.
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 course in Agile Engineering Practices.
The CSD Learning objectives cover the critical skills in coding, testing, refactoring, continuous integration, and other related topics that are needed for successful team software development in the Scrum style.
Day 1: Scrum Fundamentals
Waterfall

Philosophical Underpinnings
Introduction to Scrum
Core Concepts
Agile Principles
Sprints
Requirements and User Stories
Product Backlog
Velocity
Roles – Product Owner
Roles – Scrum Master
Roles – Dev Team
Planning in Agile
Sprint Meetings
Agile Game – applying the lessons learned

Day 2: Agile Technical Practices
Programming by Intention
Visualizing the code you wish you had
Using helper methods
Delegating
Preview of Extract Method and Extract Interface refactoring techniques
Single Responsibility principle
Open / Closed principle
Liskov Substitution principle
Interface Segregation principle
Dependency Inversion principle
Onion Architectures
Evolving Architectures
Code Smells
Refactoring Techniques
Refactoring Case Study

SOLID Design Principles
Single Responsibility principle
Open / Closed principle
Liskov Substitution principle
Interface Segregation principle
Dependency Inversion principle

Architecture and Agile
Onion Architectures
Evolving Architectures

Refactoring
Code Smells
Refactoring Techniques
Refactoring Case Study

Days 3 – 5: Agile Test Driven Development
Introduction: What is ATDD/BDD/TDD?
What is ATDD – Acceptance Tests
What is BDD
What is TDD
Red – Green - Clean
How will ATDD/BDD really help?
Understanding Roles & Responsibilities
ATDD/BDD Work Process Flow
ATDD Best Practices

Cucumber and Gherkin
What is Cucumber
Introduce Gherkin
Gherkin Syntax – Keywords
Features and Feature files
Creating scenarios – using Given/When/Then/And/But
Creating multiple scenarios for a single feature
Background key word
Scenario Outlines
Regular Expressions
Good/Bad Practices – DSL
ATDD Best Practices
Tags

Tools and Web Driver
Selenium and Selenium Web Driver
Practice – Case study number 1

Programming the Tests (Step Definitions) in Java
Case Study number 2
Case Study number 3

Testing an API
Interfacing with an API
Case Study 1: Testing Git Hub
Parsing the Response
Case Study 2: Testing Google Maps

Advanced Topics
Folder Structure - Configuration, Feature files, and Step Definition files
Libraries and Logging
Refactoring test code – the DRY principal
Creating a DSL of steps
Refactoring with the Page Object pattern
Case Study number 4
Send Us a Message
Choose one