Course Overview

Professional Scrum Developer course is a unique and intensive three-day experience intended for anyone involved in software development. The course guides teams on how to turn product requirements into business value in the form of potentially-releasable increments of done, working software.This is accomplished using the Scrum framework,Visual Studio,and modern Agile development practices.This course is a mix of lecture, demonstration, group discussion, and hands-on software development. The true value of the course is realized as each student collaborates with other team members, on a case study product, using Azure DevOps Services, over several mini-Sprints.

Note: This course can be run using Visual Studio, Java, or generically (where the client decides the exact tools).

 

Key Learning Areas

The Professional Scrum Developer course is intended for all members of a Scrum Development Team; architects, programmers, database developers, testers, and others with some technical knowledge. The class focuses on using technology to deliver software in increments.

Assessment Certification

All participants completing the Professional Scrum Developer course will receive a password to attempt the PSD I assessment. The industry-recognized PSD certification requires a minimum passing score on this rigorous assessment.

Course Outline

Through a combination of certified instructor-led training, hands-on activities, and team exercises you will be exposed to the key components of Scrum and the skills required to help successfully develop software using Visual Studio. At course completion, attendees will have had exposure to most of the topic areas outlined in the Professional Scrum Developer Subject Areas:

Fundamentals of the Scrum framework

  • Scrum roles, artifacts, and events
  • Complementary development practices

Application Lifecycle Management

  • Visual Studio ALM/DevOps Tools
  • Azure DevOps Scrum process
  • Planning/managing work using Azure Boards
  • TFVC or Git version control
  • Branching and merging for Scrum Teams
  • Supporting the various release models

Refining the Product Backlog

  • Defining and assuring quality
  • Definition of done
  • Reporting bugs
  • In-Sprint vs. out-of-sprint bugs
  • INVEST and 3C techniques
  • Agile estimation
  • Wall estimation and Planning Poker techniques

Agile Testing

  • Testing in parallel with coding
  • Development, acceptance, and exploratory testing
  • Unit testing in Visual Studio
  • Test-Driven Development
  • Analyzing code coverage
  • Acceptance testing in Visual Studio
  • Planning/managing testing using Azure Test Plans
  • Acceptance Test-Driven Development

Emergent Architecture

  • Fitness (fit) for purpose
  • Avoiding upfront requirements and design
  • Developing in slices, not layers
  • Minimizing documentation

Quality Code

  • Quality code == quality software
  • SOLID principles
  • Clean code == quality code
  • Code and test smells
  • Code quality support in Visual Studio
  • Code Analysis, Code Metrics, Code Clone Analysis
  • Continuous Integration (CI)
  • Automating builds with Azure Pipelines
  • CI support in Azure Pipelines
  • Continuous feedback and related tools
  • Refactoring and refactoring tools
  • Technical debt and how to pay it back

Scrum Challenges

  • Getting done and avoiding undone work
  • Running experiments (spikes)
  • Cross-functional team collaboration
  • Not changing Scrum
  • Overcoming common dysfunctions and case studies
  • Working with challenging team members
  • Improving productivity
  • Becoming a high-performance Scrum Team

Who Benefits

This course is suitable for any member of a Scrum Development Team, such as those who develop tests, architecture, design, schema, or code. Entire teams are encouraged to attend this course and experience the positive effects of collaborating inside of a timebox according to their definition of done. Each team must be cross-functional, ensuring it has the necessary skills. Product Owners, Scrum Masters, stakeholders, and those evaluating Scrum’s effectiveness are welcome to attend, but they will be expected to participate and collaborate equally, working towards the achievement of their team’s goals.

Prerequisites

Team-based development experience required.