.netalt.net

How to get someone started with ALT.NET


What is the order of topics to explain to a .NET developer or user group to get them started and interested with alt.net tools and practices.


Solution

  • The essential principles to drive home are:

    Then, after version control (!), I'd start with continuous integration, and show how getting immediate feedback on the quality of a build can help improve quality from the first moment. Doing CI first doesn't change the codebase.

    Then I'd introduce automated end-to-end testing of the application with FitNesse, Watin or somesuch. This should then illustrate how refactoring code isn't something to be afraid of if you have good testing tools that will verify that the code still works.

    Then I'd do gentle refactoring to break out business logic and domain objects from the UI (if they're not there already) and introduce unit testing. This further shows how refactoring is a good thing.

    As we aim to get some sort of seperation of concerns, design patterns (such as IoC) will naturally start to become apparent. It's also going to be obvious that we can replace the data layer with ORM.

    As we refactor, I'd also show how test-driven development can actually speed creation of better code. This is probably easiest shown for the first time with new development, as otherwise it's quite a culture shock!