Engineering Practices for Certified Scrum Developers

This class covers the following learning objectives for the CSD as established by the Scrum Alliance. Each student will receive a virtual machine with all the tools needed to do the exercises.

Architecture & Design

Study of architecture and design, focusing primarily on the principles that better enable testability and ease refactoring

Principles of architecture in an agile environment

Design practices on an agile team

Principles that enable testability and ease refactoring

Collaboration

An in-depth look at the way agile teams work together. This might include, but is not limited to, the following concepts:

Working together as one team

Including the customer in the process

Pair programming

Test Driven Development

Study of test-first development, including but not limited to the following concepts:

Test driven development (TDD) as a design approach

Red-green-refactor cycle

Unit testing principles and practices

What makes good tests/measuring test effectiveness

Refactoring

An introduction to the practice of refactoring, including but not limited to the following concepts:

When to refactor

Refactoring for maintainability

Refactoring to patterns

Continuous Integration

An introduction to the key practices of continuous integration, including but not limited to the following:

Single command build

Creating builds that are automated, self-testing, and fast

The importance of a single source repository

Increasing visibility & automating deployment