Test-Driven Development (TDD) has a strong track record in the industry and has proven to be great at allowing developers to build higher quality code more quickly. For us BizTalk guys, though, TDD is often difficult because writing a test often involves deploying a full BizTalk solution. In addition to the typical troubles in deployments, getting “real world” scenarios or effective mock-ups can be problematic as well.
I’ve spent some time researching testing solutions for BizTalk recently and discovered a neat little tool called BizMock. BizMock ties in with Visual Studio test and gives you the ability to emulate Ports and other BizTalk artifacts without actually deploying them. It also allows you to mock up Messages and send them into BizTalk. I’ve just begun to dig into BizMock, so I’ll not offer up a final opinion yet, but early on it looks promising. The download comes with some sample code to help you get started, but other than that, it’s not very well documented. Documentation of the artifacts schema in particular, would be most helpful, but is missing. If you use this, prepare to get deep into code in order to figure things out.
It seems that on almost every project I’ve worked, we end up with a number of TODO’s left over. These things can be as simple as basic code cleanup, or full-on refactoring that would help the application perform better. We often take short-cuts, usually for good reasons, that we wish we hadn’t. Over time these things pile up and we create quite a bit of technical debt.
A friend passed this article, Technical Debt a Perspective for Managers, by Mark Levison on to me that pretty acurately describes how we accumulate such technical debt, particularly in agile processes, and some tips on how to manage it.