Training

Continuous delivery in .NET

Chances are, everyone knows what continuous delivery is. Many can even tell it apart from continuous deployment. Yet in practice, it works in very few places. And developers spend their time, again and again, on manual deployments, on verifying bugs and their fixes, or on arguing with QA over “is it a bug or a feature?” And yet a properly configured continuous delivery process lets them focus instead on what a developer is supposed to do: write code.

So why does this happen? Often it simply comes down to a lack of experience and skills in building such processes. This training is designed to fill exactly those gaps in theory and to reinforce the material with hands-on sessions.

We’ll go through the process of building a working application, from refining the requirements to a running system. Every move is on record: participants get access to the code repository, which lets them retrace every step taken during the training. In addition to processes, we’ll look at a number of tools that will help take both the productivity and the fun of development to a new level.

Target audience
.NET developers at any level, technical managers
Price
$200per participant
Date and time
8 hours / 1 day

Book for your company

Detailed program

Introduction

  • Typical development problems
  • Possible solutions

An iterative approach to development (GOOS)

  • London school of TDD
  • Working with requirements
  • Acceptance tests and how to automate them
  • Iteration 0
  • Setting up the deployment pipeline

Project start: Iteration 0

  • Creating the project
  • Automating the build and test runs with FAKE
  • Adding static code analysis (SonarQube)
  • Deployment and versioning (Octopus, GitVersion)

Fun-driven development

  • Modern TDD in .NET (xUnit.net, Fluent Assertions, NSubstitute, AutoFixture)
  • Working with live code (NCrunch)
  • Refactoring (ReSharper)
  • Testing the untestable (ApprovalTests)
  • Code review and pair programming
  • Requirements traceability and bug tracker automation

Deployment pipeline

  • Continuous integration (TeamCity)
  • Acceptance tests (canopy)
  • Automating the release process