<p>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.</p>

<ul>
<li>ORM</li>
<li>IoC</li>
<li>TDD</li>
<li>DDD</li>
<li>DSL</li>
<li>CI</li>
<li>MVC - MVP</li>
<li>Version Control (I think this is the one they get the fastest)</li>
<li>Agile</li>
<li>Etc, etc...</li>
</ul>

[{'answer_id': 80358, 'author': 'Jason Bunting', 'author_id': 1790, 'author_profile': 'https://Stackoverflow.com/users/1790', 'pm_score': 3, 'selected': False, 'text': '<p>ALT.NET is more of an attitude than a set of tools and practices. </p>\n\n<p>I don\'t know that you can "get someone started with ALT.NET," per se.</p>\n\n<hr>\n\n<p>To me it is an attitude born of experience, not something you can put on like a coat. But that is <em>my</em> opinion, subject to change.</p>\n'}, {'answer_id': 80363, 'author': 'Jeremy McGee', 'author_id': 3546, 'author_profile': 'https://Stackoverflow.com/users/3546', 'pm_score': 3, 'selected': True, 'text': "<p>The essential principles to drive home are:</p>\n\n<ul>\n<li>Microsoft tools are a good place to start, but it's possible to write better software faster by using other companion products</li>\n<li>Change is good, so always think about ways that code can be changed and verified quickly</li>\n<li>If it isn't tested, it's not production quality</li>\n</ul>\n\n<p>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.</p>\n\n<p>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.</p>\n\n<p>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.</p>\n\n<p>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.</p>\n\n<p>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!</p>\n"}, {'answer_id': 86210, 'author': 'Yitzchok', 'author_id': 5723, 'author_profile': 'https://Stackoverflow.com/users/5723', 'pm_score': 0, 'selected': False, 'text': "<p>I don't mean becoming an <em>ALT.NETter</em> just in a way of letting them know that the stuff are out there but in a way that they can understand it and feel that it can help them.</p>\n"}, {'answer_id': 86450, 'author': 'Pragmatic Agilist', 'author_id': 15971, 'author_profile': 'https://Stackoverflow.com/users/15971', 'pm_score': 2, 'selected': False, 'text': "<p>I think it depends on the individual or group.  Almost all shops have some exposure to one of these concepts.  From there, I would introduce new concepts only as fast as you think the developer or team can absorb them.  It's quite depressing to see teams start rejecting some of the important principles and concepts because they are over-loaded.  And try not to <em>assume</em> someone understands the principles behind using CI, IoC, or mocking frameworks.  </p>\n"}, {'answer_id': 86737, 'author': 'Yitzchok', 'author_id': 5723, 'author_profile': 'https://Stackoverflow.com/users/5723', 'pm_score': 0, 'selected': False, 'text': "<p>I think a lot of people don't know about Generics, delegates, Linq and Lambda expressions.<br>\nIf you will tell then all at about the same time then they will just drop everything.  </p>\n\n<p>Like you wouldn't teach a beginner programmer whats a DSL but you can let him know about SVN.</p>\n"}, {'answer_id': 344435, 'author': 'Mike Henry', 'author_id': 14934, 'author_profile': 'https://Stackoverflow.com/users/14934', 'pm_score': 0, 'selected': False, 'text': '<p>The <a href="http://altnetpodcast.com/" rel="nofollow noreferrer">Alt.NET Podcast</a> may be a good place to get some ideas. They have podcasts on continuous improvement, agile, DI/IoC, ORM, OOP w/ Ruby, etc. (in that order).</p>\n'}, {'answer_id': 2008199, 'author': 'Lee Warner', 'author_id': 135148, 'author_profile': 'https://Stackoverflow.com/users/135148', 'pm_score': 0, 'selected': False, 'text': "<p>For me it was a colleague who championed IoC/DI and TDD.  He also got me going to .net user groups so I could see that he wasn't just a one-off crazy guy who loved using new and strange technologies for the sake of using them.</p>\n"}, {'answer_id': 46253974, 'author': 'ryanwebjackson', 'author_id': 2125723, 'author_profile': 'https://Stackoverflow.com/users/2125723', 'pm_score': 0, 'selected': False, 'text': "<p>I would build a Web application using Nancy with C# (or Boo, Iron*, other language) using SharpDevelop (there is a book on this) or Rider (JetBrains' C# IDE). I view Alt.NET as non-Microsoft .net development, specifically focused on open source, and sometimes out-of-the-box thinking. There is a conference .NET Fringe in Portland Oregon every year now, that caters to this attitude toward development. </p>\n"}]
['https://Stackoverflow.com/questions/80258', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/5723/']