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. These ideas are central to the entire field of Agile software development.
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:
- 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.
- 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.
- 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.”
- 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.
- 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.