eXtreme Programming Explained

  This book has profoundly influenced my views on enterprise software development. The book is told as a collection of best practices applied to a particular project and testifies to the project’s success. The book emphasises software development as primarily a collaborative process, highly dependant on open communication between all members of the team. To…


Patterns of Enterprise Application Architecture

  Martin Fowler (Chief Scientist for ThoughtWorks) has been a long time favourite author of mine, ever since I read “UML Distilled”. I’m a regular reader of some of his columns and his articles are an inspiration, so I thought I’d start these series of reviews, not with a classical book, but with one of…


WiX: Managed Custom Actions

I’ve added WiX to my build process to automate the production of windows installer packages for my product. I’m not very proficient with Windows Installer technology, so I thought I might get by with what I’ve seen is already a “traditional” approach: dark an MSI created by a Visual Studio Setup Project. Well, I knew…


Unit testing session

During TechEd’04 in Amsterdam I attended a Birds Of a Feather session on how to integrate unit testing into the Software Development Life-Cycle. For those who are unfamiliar with the format of these sessions, it’s a speaker moderated discussion, where we can ask questions and have them answered and commented by the speaker and other…


Unit Testing User Interfaces (Updated!)

Usually one of the major difficulties a developer faces when writing unit tests is how to write test code for User Interfaces. This is particularly important when we’re doing Test-Driven Development. The Visual Studio .NET IDE makes it difficult to unit test Windows Forms applications, because if we want to keep the test code decoupled from the…


Loading .config files in NUnit

Last week I gave a presentation at Microsoft DevDays 2004 in Lisbon on Test-Driven Development. A day later I got this interesting question: “(…) if I’m testing a DLL assembly that uses a .config file to read in data, when I run the tests, NUnit loads it’s own .config file and all my tests fail….


Testable code

Previously I mentioned that one of the most important benefits I get from using TDD is that it drives me to write more testable code. I’ve been thinking quite a lot about this, and another recent post from Chris Dickens made we even more aware of the importance behind writing testable code. Chris states:  “As…


TDD Adoption Numbers

Matt Hawley posted a few numbers in order to justify/support the adoption of TDD. I’ve found an interesting research paper on the subject, from Matthias Müller and Frank Padberg from the Karlsruhe University in Germany. Some of my personal views on the subject are: I do find there’s a slight overhead to developing Test-First. However…


MSBuild and NAnt

Lately, I’ve been looking closely at build tools and, namely MSBuild and NAnt, so I stumbled upon this post from Don Box. After some digging I came across the following thread where an MSBuild and NAnt integration/interop scenario seems to be in the scope of the work beeing considered by the VS Core Team. I…