Implementing Unit Of Work with NHibernate

The more I work with it the more stupid I feel around what I have been doing before; why have I written so much SQL? It feel just … unnecessary. Who said stupid? Not me… Jimmy Nilsson said something like; “I just want the database and storage problems to be a consequence of my domain model. I don’t want to think about it”.  And that is one of the goals with DDD and the solution is, for example, NHibernate. I have been doing some labs with NHibernate the last couple. And as often with me – I think I am in love. NHibernate really rocks. The mapping files are quite hard to chew off at first and I suspect that there are many tricks and traps for me to find. But still – so beautiful. Of course the Net has helped me a lot on my quest. Here are some...
Read More

Object-oriented database – worth a try

I have been doing a very small lab with an object-oriented database, db4o, and I am very impressed indeed. The concept a first is a bit hard to grasp since there are no tables, no SQL and hence no mapping going on. You simply store your objects. Of course the trick is to query them back, but the excellent db4o-crew and chunking out code every now and then and for example the current release includes full support for LINQ which gives you and excellent programming experience. I am still very much a newbie and have some un-answered questions on how data and class definitions evolution is handled. But it looks cool, very cool. Just say it loud for yourself: “No more SQL. No more mapping.” Yeah, you like it, admit it.
Read More

Task Board for Team System – finally!

I have been quite harsh to the Conchango Scrum template for Team Foundation Server, and I actually didn’t like it when I used it last (8 months ago). That primarily had to do with me being forced to use the standard, heavy-weight forms in Visual Studio to edit Backlog Items and Actions. That did that we couldn’t use it in our daily scrums and hence someone (read: me) had to take notes and then go an update the TFS. In lean terms this was WASTE that was added to our project. I didn’t like that one bit. So we stopped using it. Quickly. But now Conchango has created the tool that I think was the missing link. A Task Board application that mimics the actual task board that you draw and edit during sprints, planning and daily scrums. You can read more about it here and learn how it works...
Read More

Why do TDD?

I haven’t done TDD for a very long time and I still am waiting for my first BDD project in real life. In fact I sometimes have a problem to describe the goodness. But Gregg Pollack has done the same journey as I have and he has also done this great presentation on why TDD is good and how to use it. Sadly that video is long gone. Sad, because it was a good presentation. This is such a great presentation where he takes us through a series of points that explains the rationale of TDD and then BDD, or the “pathway to developer enlightenment”, as he calls it. I have extracted his points here: Testing breeds confidence If you write tests before you write your code, you end up writing better code Well written tests are just as good, if not better than documentation TDD isn’t about writing tests,...
Read More

More great stuff on BDD

I have been doing some more reading on BDD, and I like it more and more, the more I read about it. I am working from my house today and Elin is getting a bit annoyed from every time I call out “Yes”, or when I am trying to explain how good this is. The main thing for me, right now, is that using the BDD-technique gives you a way to derive the requirements in a iterative and exploring way. And in the language of the experts (the ubiquitous language). I also is fond of the strict structure of a story and it’s scenario that Dan North describes in this article. Mainly because it gives you guidance in the process (“what is the next important thing the system doesn’t do”). Here are some other reasons from Mike Cohn Being strict and formal it also lends itself to automation, like these...
Read More

Pomodoro – being agile and focused on the individual level

I have been introduced to a new concept called The Pomodoro Technique. It’s a way to work in a very focused and lean way, on the individual level (it can also be used for groups). From what I’ve learned so far it seems very powerful and is something that I sure will be reading more about, and try to use for myself. I often have trouble to keep my focus on the task at hand and the Pomodoro Technique seems like a great way of handling that. Here are some resources that I found on the subject: Pomodoro Technique in 5 minutes Book from the inventor of Pomodoro, Francesco Cirillo Pomodoro Technique Illustrated And finally a great lightning talk by Staffan Nöteberg on the problems that Pomodoro sets out to solve. In Swedish I am afraid… Here is a longer (50 min) version of the same talk in english.
Read More

Some great SOA – articles

I am preparing a talk on SOA. That always scares me since it’s such a big topic. Who among us would want to answer the question “What is SOA?” OK – in my preparations I found some great resources. My new house-god Dan North has made this fun and easy to follow introduction. A lot of different stuff on Wikipedia is a good starter. Here are some articles on SOA, Enterprise service bus and SOA Governance that I found useful as introduction. Here is a really good discussion on why a common domain model is no good idea.
Read More

Booting from a VHD in Windows 7

OK – I have been playing around for a while with my Windows 7 and up to now I love it! It even got my old Dell Precision M70 (4 years old and as many kilos) to look good again. I am also trying to setup a lab environment for Visual Studio 2010 and TFS Server 2010 and found this great video and introduction on how to do that. However, since my system is slow and low on memory, it doesn’t play to well with running the whole thing (Windows 2008 Server, SQL Server 2008, TFS Server 2010 and Visual Studio 2010) in Virtual PC. So I was very happy when I found this post from Scott Hanselman. Here is an excellent video that shows you how it’s done. In short there is now support to boot from a VHD (Virtual Hard Drive) and even to create a VHD-file from...
Read More

I am back working

Sooo - the parental leave is now over. I have spent six months “not-working” and together with my son, Albert. It has been great but when looking back it seem like the time has passed very fast. OK - so now I am offically back in business. Well, by the way, let’s see if there is anything for me to do first. Otherwise I’ll be “free” for a little while longer. We’ll see. What I have done so far is just updated my CV. That’s always rewarding since it seems like you have done a lot of important work… And now I have put way to much time into installing Windows 7. I have had a real hard time to do it from a USB-stick. But here is a great a description on how to install Windows 7 from USB-stick. From that I’ll try to install Visual Studio 2010 and...
Read More