Process
For a typical mid-sized project we apply user stories, and use cases to collect a description of expected behavior and operational constraints. We design first, then build unit tests while we create code, always building the minimum needed to meet requirments. We use Visual Studio 2010 UML tools to document project concepts and implement application design, code, and test.