One of the agile practices commonly used by Scrum teams is the breakdown of requirements into User Stories. This course was designed to meet this user story:
As a .NET Developer on a Scrum team, I want to use Agile Engineering Practices, so that my team delivers business value with Production Quality Software in every Sprint.
To meet this goal this course meets the Scrum Alliance Learning Objectives for the Certified Scrum Developer Program in these areas:
The teamwork and collaboration on a Scrum team
Architecture and Design
The principles that drive code quality and support quick delivery of business value from testable, understandable and correct code.
Test Driven Development
Using the practice of Test First to help ensure the requirements are well understood and automated tests can be added to the build process to validate the system in the future.
The process of improving the design of software to increase the understandability and testability of the code and allow for easy and safe additions to the system in the future.
The process of creating and running automated build and test cycles as new code is checked in so that cross-application issues are discovered as soon as possible.
The course is structured around these user stories that provide the goals for each section:
The Developer Role In Scrum
As a Developer I want to understand my role on a Scrum Team So that the team is successful in meeting Sprint and Release goals.
As a Developer I want to clearly understand the story So that I can deliver the right functionality.
Writing Unit Tests in .NET
As a developer I want to write effective Unit Tests Using C# So that I will know when the code is done.
Agile Analysis for Developers
As a Developer I want quickly and accurately break down requirements So that the work of delivering the business value can be planned effectively.
What is Quality Code?
As a Developer I want to write high quality code and be able to evaluate code quality So that the project is not slowed down in the future by poor quality code.
As a Developer I want to work collaboratively and efficiently with the other members of my Scrum team So that the Sprint and Release Goals are achieved.
Test Driven Development
As a Developer I want to write small tests then write the code to pass the tests and clean up the code So that I can work quickly and efficiently.
As a Developer I want to create software components that are maintainable and efficient So that the product will have a long life and adapt to new requirements easily.
Talking About Design
As a Developer I want to have a common language to use when discussing application design with other developers So that we can quickly and accurately describe the system design.
As a Developer I want to clean up my new code safely So that the new code is flexible and easy to understand.
As a Developer I want to use automatic tools to Refactor So that I can concentrate on delivering the functionality.
As a Developer I want to verify that my code works in the system and does not break the system as often as possible So that issues are discovered quickly and the project is almost always in a state that can be demonstrated.
As a Developer I want use a build system that automatically builds the system and runs all automated tests So that integrating often is as easy as possible.