Certified Scrum Developer

Agile Engineering Workshop

Learn to use a deliberate and disciplined approach to tackle any development challenge and produce reliable, robust, verifiable applications.  This three-day Agile engineering workshop provides you with the technical skills necessary to better code with fewer defects and respond quickly to changing requirements.  This is a hands-on agile engineering workshop, so get ready to roll up your sleeves and code!  Upon completion, earn your Certified Scrum Developer (CSD) credentials from the Scrum Alliance.

 

Professional Benefits

  • Earn 21 PMI PDUs & 21 Scrum Alliance SEUs
  • Satisfy a core requirement of Certified Scrum Developer (CSD) certification track
  • Merit recognition as a CSD on the Scrum Alliance Website, pending Scrum Alliance review

The LitheSpeed Experience

  • Full color high-quality reference printouts
  • Digital copies of all training materials
  • Catered breakfast, lunch and snacks
  • Access to our free retrospective tool Sensei

Upon completion of the workshop, participants will have met the core requirement of the CSD track, and those with two prior days of Agile training (CSM) will be eligible for CSD certification by the Scrum Alliance.  More importantly, the constructs and techniques taught in the class will be readily applicable by the participants in their enterprise environments.

What You'll Learn

Participants will work in pairs on laptops configured with the tools necessary to support Agile delivery as we incrementally and iteratively build a simple, yet fully functional working application. The project will adhere to Scrum techniques, leading out with a Discovery/Planning session, with each day being broken into mini-sprints, interspersed with topic discussions/demonstrations of the various engineering practices that are duly reinforced with vigorous hands-on coding exercises.

Agile Engineering and Environment

Study Extreme Programming (XP) practices augment Agile PM framework (e.g. Scrum) in the delivery of software projects. Understand the typical Agile development environment and tools to support Agile engineering practices.

Agile Architecture and Emergent design

Study the principles of architecture and design practices in an Agile environment, focusing primarily on the techniques that better enable testability and ease refactoring.

Test Driven Development (TDD)

Study unit testing principles, TDD as a design approach, Red-Green-Refactor rhythm, collaboration tests vs. isolation tests, and effective use of test doubles.

Refactoring

Study of key refactoring techniques, addressing technical debt, and refactoring legacy code.

Continuous Integration

An introduction to the key practices of continuous integration, the integration cycle, and creating builds that are automated, self-testing and fast.

Automated Acceptance Testing

Study of agile testing principles, the shifting role of testers in an agile environment, and an introduction to automated acceptance testing and Acceptance Test Driven Development (ATDD) techniques.

Sample Agenda

Architecture and 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
Emergent Architecture

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
Test Doubles

Continous 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

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
Refactoring legacy code

Automated Testing

Study of agile testing principles and an introduction to the practice of multi-level automated testing,
that includes:

Automated unit/integration testing
Refactoring for maintainability
Automated acceptance testing
Acceptance Test Driven Development (ATDD)