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
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
