Already be a Certified ScrumMaster®
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, 3 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.
This Certified Scrum Developer (CSD) Technical Track is for those who have the ScrumMaster® certification. If you do not have the ScrumMaster® certification, you would take the Certified Scrum Developer (CSD) 5-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 have completed the technical track requirements for a CSD.
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.
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
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
Good/Bad Practices – DSL
ATDD Best Practices
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
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