Awesome! I wouldn&#x27;t say my logical decisions are so cleanly cut from the UI as you&#x27;d wish (there&#x27;s client-side and server-side logic, and an interplay between the two), but apart from that I can apply what you&#x27;ve written. Forcing myself to refactor rather than &quot;making progress&quot; is going to be a mindshift.<p>A couple of questions:<p>1) Considering a CRUD app: what do you unit test? I get TDD&#x2F;automated testing for algorithms &amp; libraries (I&#x27;ve actually done that, to verify outputs match a given input). But for application code?<p>2) For external services (I rarely write code that doesn&#x27;t rely on at least one SOAP endpoint) is there any alternative to mocking the entire service and creating response data? That sounds painful (though worthwhile, subject to the issues in the next paragraph happening).<p>And then should your tests also verify that the remote service works according to its contract? As it would affect data in the live system, I cannot think of a way to safely do it, but 3rd party systems have &#x27;changed&#x27; their behaviours before now, and that&#x27;s a horrible bug to track down.