• Course overview
  • Course details
  • Prerequisites

Course overview

About this course

This program introduces Agile Values & Principles, Scrum Framework, Acceptance Test Driven Development, Behavior Driven Development, Test Driven Development, Refactoring, Emergent Design, Agile Architecture, Collaboration, and refactoring techniques to the audience and follows a life cycle approach where participants get to learn how to practice these in real-life projects. Participants learn to implement TDD on a project developing in either java, .net, ruby, python or C++ framework. It also covers how to effectively work on legacy code and break dependencies. The expected business outcome is readable, maintainable code going forward as well as reduction defects.

Achieving the Certified Scrum Developer (CSD) certification is an ever-increasing requirement for Development Team working in an Agile environment. The CSD course at Scrum Alliance is designed for software development teams including developers, testers, analysts, UI/UX, infrastructure engineers and anyone part of the development team who are building software in a Scrum environment. Strengthen your technical skills in Agile software development with hands-on instructions.

Audience profile

This Training is for developers and teams interested in agile engineering practices and for everybody who wants to master the technical challenges of the Scrum framework.

At course completion

You will be able to:

  • Product development using Scrum framework
  • Complementary practices to improve effectiveness of Scrum
  • Deep understanding of the rules of Scrum
  • Agile requirement management using Specification by Examples
  • Write executable requirement with the help of BDD and ATDD
  • Write testable code using Test-Driven Development (TDD)
  • Refactoring code and Refactor to patterns
  • DevOps practices to improve delivery and deployment
  • Emergent design to keep the framework and design simple
  • Team collaboration using pair programming and mob programming
  • Remote Team practices while working in distributed team setup

Show More Show Less

Course details

Day 1

Module 1: Scrum Essential

Agile and Scrum Framework

  • What is time-boxing and why time-boxing?
  • What is the Empirical Process?
  • Scrum Framework – in Brief

Class Project

  • Introduction to a class project
  • Introduction to project infrastructure
  • Scrum Roles
  • Definition of Done

Product Backlog

  • Prepare product backlog
  • Refine product backlog
  • Identify MVP & MMF
  • Ordering product backlog

Day 2:

Module 2: Application Lifecycle Management (ALM) and Scrum Beyond Single Team Scrum

Agile Estimation & Planning

  • Why estimate and how to estimate?
  • Relative Estimation
  • Estimating Product Backlog
  • Preparing Release plan

Sprint Simulation using ALM Tools

  • Sprint simulations
  • Agile Metrics & Reporting
  • Team dynamics and dysfunction
  • Introduction to Large-Scale Scrum (LeSS)

Day 3

Module 3: Agile Requirements and Acceptance Test Driven Development

Specification by Examples Workshop

  • 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

  • Principles of Acceptance Test-Driven Development
  • Consequences of ATDD on the Sprint Planning and Sprint Review
  • Principles of Behavior Driven Development Practising BDD with Cucumber/Behave/SpecFlow: installation, writing features, testing and reporting
  • Role of Product Owner and crew when writing scenarios acceptance

Day 4

Module 4: Test-Driven Development and Agile Design

  • Test-Driven Development
  • Test-Driven Development (TDD) approach and its benefits
  • Improving the quality and design of the code by TDD
  • Different types of tests: unit, integration, functional

Unit testing with Unit Testing Framework

  • Understand the life cycle of a test in the Unit Testing 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

Organization of test activities

  • The methodology of correcting a Bug
  • Automate the execution of Unit Test
  • Generating reports
  • Integration with Build Tool and IDE

Design Frameworks

  • Definition and principles of frameworks
  • Emergent Design
  • Principle of scalability and implementation

Refactoring

  • The consequence of technical debt and the risk of “breaking” the code
  • Where? When? How refactoring?
  • 3 stages of refactoring
  • Support of TDD and ATDD during refactoring
  • Best practices and limitations
  • Working with legacy code

Day 5

Module 5: 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, Cruise Control, Bamboo, TeamCity, Apache Continuum

Introduction to Jenkins

  • Dashboard and health projects
  • Architecture and extension principle
  • Installation, configuration and use of Jenkins
  • Automated Builds with Jenkins
  • Automation Testing with JUnit (TDD) and Cucumber (BDD/ATDD)

Agile Testing

  • Importance of Agile testing
  • Ensure better quality product sprint by sprint
  • Test Automation Frameworks
  • Test quadrants and test pyramids

Other topics

  • Continuous Delivery and Deployment – Why and How?
  • DevOps Introduction
  • ALM tools for Development Team such as Jira

Show More Show Less

Prerequisites

In order to earn a CSD, we require at least five days of formal training taught by a Scrum Alliance Registered Education Provider (REP) and a Scrum Alliance Authorized Instructor.

Our Technology Partners

Spectrum Networks is the Authorised Learning Partner for some of the leaders in IT technology for Digital Transformation