Unit Testing? MVVM? Yeah, well we’ve always meant to do that but you know, we never found the time to really get into that properly..." Too often, adoption of proper testing as an integral part of the software development process remains just good intentions, and doesn't get put into practice. Most developers understand that unit testing brings great benefits to the quality of the software they produce, but too many don't know how to get started and how to modify the way they design software in order to incorporate it. In this session, we'll take as our starting point a simple project built with the standard Visual Studio project templates, and show how it can be hard to develop good unit testing. Then we'll improve its architecture by applying software patterns such as MVVM, Dependency Injection and by abstracting services away behind interfaces, which not only leads you to creating much cleaner code but also has the benefit of making it *testable*. We'll do it step by step, explaining the architectural changes you need to make to embrace unit testing, and then we will create a test project using the Silverlight Unit Testing Framework and write some unit tests. Everyone can benefit from adopting MVVM and unit testing, not only enterprise and professional developers, but hobbyists too. This session shows you how to do it.