In this article we will have a look at how we can automate the Octopus deployment using TFS build server. Every time a member of the team performs a check-in I want to execute a continuous build with the following workflow: The first step is to change the default build workflow in TFS. Usually I Read More →


Octopus is a deployment tool that use the Nuget packaging mechanism to pack your application and deploy it over multiple environments. Unfortunately it does not have a native support (yet) for Visual Studio Database project, so I had to provide a sort of workaround in my project structure to allow Octopus to deploy also a Read More →


When I talk about test with a collegue, a tech friend or anybody involved in Software Development, the conversation always ends up with a comparison between Unit Tests and Integration Tests. As far as I am aware of, I know four type of developers, the one that practices unit tests, the once that practices integration Read More →


This series is getting quite interesting so I decided to post something about Domain Model. Just a little introduction to understand what is and what is not Domain Model. Honestly this pattern is often misunderstood. I see tons of examples of anemic models that reflect 1:1 the database structure, mirroring the classic Active Record pattern. Read More →


When I work in a project that implies Business Logic and Behaviors I usually prefer to write my unit tests using a Behavioral approach, because in this way I can easily projects my acceptance criteria into readable piece of code. Right now I am already on Visual Studio 2013 and I am struggling a bit Read More →


I am always wondering where I was the day they distributed the Magic Wand. I mean, every time I join a new Team/Project I always have to carry with me a set of tools that make my job easier. Some of these tools are within Visual Studio, some are pre-defined architecture diagrams that I created Read More →


Around the web there is a lot of noise about “CQRS” and “Event sourcing”. Almost everybody involved in a layered application is now trying to see if CQRS can fit in its current platform. I also found some nice tutorial series about CQRS and some good explanation of event sourcing but what I didn’t see Read More →

An answer for people who “make mountains out of molehills“. First of all, what is Software Architecture and what is Agile. I need to provide a short and summary definition of both terms in order to avoid “Barking up the wrong tree“. The term software architecture intuitively denotes the high level structures of a software Read More →


In the previous post we saw how to provide Inversion of Control capabilities to a WCF service. That’s pretty cool but unfortunately it requires a big refactoring if you plan to apply the Dependency Inversion pattern on an existing WCF project. Today we will see an interesting alternative provided by Castle project. If you are Read More →


When you start to work with TDD and other Agile practices the first thing you try to apply almost everywhere in your code is the Dependency Inversion pattern because you want to invert the logic of your dependencies to make your code more testable and maintainable. In order to accomplish this result I am using Read More →