Scrum Alliance
Certified Scrum Developer (CSD)


Introduction

Purpose

The Certified Scrum Developer® course is aimed at software developers (programmers) who are building software in a Scrum environment. The goal is to expose students to the most important tools and techniques that need to be applied in order to build good software in the iterative and incremental fashion that Scrum requires. These ideas are central to the entire field of Agile software development.

The following CSD® Learning Objectives (LOs) are the basis for evaluating and confirming candidate courses.

Scope

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.

Prerequisites

The candidates for this course should generally be programmers in a conventional programming language such as Java, C#, Swift, C++, Ruby, and so on. The course involves actual programming in a team environment. Some courses offer student slots to testers, who should have some experience with test automation. Some also accommodate Product Owners, who will help direct the iterations that the programmers and testers experience during the course. 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.

Students should also arrive at the course familiar with:

CSD Courses are taught by authorized Scrum Alliance REP® organizations whose courses and instructors have been reviewed and approved by Scrum Alliance®.

Organization of Candidate Courses

Conforming courses may contain more subjects than are covered in the following Learning Objectives, but the LOs are a minimum requirement. For example, a course may also cover Scrum applied to non-softwareproduct domains, other non-Scrum-related frameworks, and so on. Conforming courses can be organized in any way; we do not expect courses to be organized according to these LOs or major sections. One LO may be addressed via topics dispersed within different course areas.

Learning Objectives

By the completion of the CSD course, the learner will be able to perform test-driven development, acceptance test-driven development, refactoring, and continuous integration in a course-provided sandbox situation. The learner will be familiar with the terms and practices involved, and with why these practices are important. They will have taken the first steps toward becoming expert in Scrum-style iterative and incremental development.

By the completion of the CSD course, the learner will be able to...

Agile Values

  • Define simplicity, communication, and feedback (in relation to the Agile Values that drive Scrum).
  • Describe “individuals and interactions over process and tools.”
  • Describe “working software over comprehensive documentation.”
  • Describe “customer collaboration over contract negotiation.”
  • Explain, using examples, “responding to change over following a plan.”

Scrum – Study of Scrum principles and practices, including but not limited to, the following key concepts:

  • Define Scrum roles, activities, and artifacts.
  • Outline the process of working with a product backlog and a sprint backlog.
  • Define a sprint.
  • Describe the process of defining “Done.”

Architecture and Design – Study of architecture and design, focusing primarily on the principles that better enable testability and ease of refactoring, including but not limited to, the following key concepts:

  • Outline at least three principles of architecture in an Agile environment.
  • Design at least one practice on an Agile team.
  • Outline at least two principles that enable testability and ease of refactoring.

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

  • Describe “working together as one team.”
  • Describe how to “include the customer” in the process.
  • Define pair programming.

Test-Driven Development – A study of test-first development, including but not limited to, the following concepts:

  • Describe Test-Driven Development (TDD) as a design approach.
  • Review the steps of the red-green-refactor cycle.
  • Explain, using examples, at least three unit testing principles and practices.
  • Outline five qualities of a good test.
  • Describe how to measure test effectiveness.

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

  • Describe when to refactor.
  • Outline refactoring for maintainability.
  • Define refactoring to patterns.

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

  • Define a single command build.
  • Summarize how to create a build that is automated, self-testing, and fast.
  • Describe the importance of a single-source repository.
  • Define increasing visibility and automating deployment.

Scrum Alliance

 
Certified Scrum Master (CSM)

A Certified ScrumMaster® helps project teams properly use Scrum, increasing the likelihood of the project's overall success. CSMs understand Scrum values, practices, and applications and provide a level of knowledge and expertise above and beyond that of typical project managers.

Learn More »

 
Certified Scrum Product Owner (CSPO)

Certified Scrum Product Owner® professionals have been taught the Scrum terminology, practices, and principles that enable them to fulfill the role of Product Owner on a Scrum team. CSPOs are typically the individuals who are closest to the "business side" of the project. Taking the CSPO course is the first step on your path of becoming more Agile. To truly master Scrum, experience and continuing education are necessary.

Learn More »

 
Certified Scrum Developer (CSD)

Certified Scrum Developers have demonstrated, through a combination of formal training and a technical skills assessment, that they have a working understanding of Scrum principles and have learned specialized Agile engineering skills. The Certified Scrum Developer® course is aimed at software developers (programmers) who are building software in a Scrum environment. The goal is to expose students to the most important tools and techniques that need to be applied in order to build good software in the iterative and incremental fashion that Scrum requires.

Learn More »