We will be meeting at the Lamb and Flag from 8pm to discuss Domain Driven Design. The starting point for the discussions will obviously be the concepts in Eric Evans’ book, but don’t be put off if you haven’t read it. There is a good free introduction to the area in this freely downloadable book available from InfoQ.
At the Lamb and Flag as usual
Ok, so we need to decide what to discuss at October’s meeting (due to be on 14th October). As mentioned in the previous posting, we are going to kick off our discussions based around a book we have already covered. So please vote for your three favourite books to discuss in order.
[UPDATE: So Domain Driven Design is the winner by a short head]
At yesterday’s meeting, we had a discussion about how to improve the way we run the group and encourage more folks to come along. Steven was at the forefront of these ideas and said that he thought that reading a book a month was really too much. He also thought that concentrating on the book puts people off, even though we explicitly say that you don’t need to have read the book to come along. So we are going to make a handful of changes going forward:
- We will only read a new book every 2 months.
- The meetings in between we will go back and look again at a book we have covered before. This will give new folks a chance to discuss a book they missed. It will also give anyone who didn’t manage to finish the book a chance to get to the end. And finally it will allow us to look at how the book actually influenced the way we develop software.
- We will place less emphasis on the books. We will make it clearer that the discussion will merely use the book as a starting point and that we’ll be talking about the topic of the book, not just the words within it. Hence the title of this posting.
So, back to last night’s meeting. Joining me to discuss Release It! were Tom, Steven, Jocelyn, John and Ursula. Tom kicked off by saying that he hadn’t realised beforehand that it was about making your software robust for real life usage. But once he started reading it he found it hard to put down. Lots of it rang true and reminded him of situations he had been in before. On the down side, he felt that the stories were a little predictable after a while.
I pointed to the “Circuit Breaker” pattern as one that I found very interesting. This seems to be the one that has generated the most interest judging by the postings on the book’s forum. I also found a description of this pattern implemented as a Spring aspect.
Tom was also keen on the Bulkhead and Decoupling Middleware patterns. Something he thought was missing was a discussion of splitting up a large system into separate components so that you could shut down individual components and leave everything else running. This wouldn’t even have to be something as sophisticated as OSGi.
Steven said that he was looking for ideas to make his new mobile “Good Beer Guide” service stable. Unfortunately he didn’t get too far, which is ironic since he was the main person advocating this book.
Tom said that when he used to be a sys admin it was great to have data about the systems you are looking after. So when a problem arises and someone says “the network’s having problems”, you can open up your dashboard and say “Nope, look at the data”. He liked the story about ‘Voodoo Operations’ where the database kept being restarted just for luck (p280). Tom said he’d experienced people doing this sort of thing for real.
Ursula liked the discussion about making log files easy to read (p279). This seemed like a very simple idea, but a powerful one. John said that all this sort of thing had been done in the 80′s, but that when PCs and Unix took over from mainframes the whole financing of software changed. So that quick and dirty was the order of the day. But now we are going back to those roots.
Ursula said that she found the whole section on Capacity very interesting. In her experience that sort of work has always been left to experts to deal with at the end of a project whereas it might make more sense to think about this from the start. She did however find that the book was very focussed on web applications and mainly on Java. But she thought the references (internally forward and backward) were very well put together.