I get frustrated a lot with the software I write. Typically, it starts to get so complex that any small, local change could potentially effect some other part of the code. And it gets so complex and unmanageable that I usually start fantasizing about rewriting it. But there's something I've learned the hard way. Writing your tests first can really help remove the stress of a complex piece of softw