We finished last post with this funny situation: the abstraction that represents Facebook depends on our Domain Model.
It was a bit obvious that what we needed was not only system abstractions for Facebook, Twitter and the like but Bounded Contexts. We need to acknowledge the fact that these domains are not part of our model, […]
Read the first post here.
In the previous post we were facing the problem demonstrated by the diagram below.
Our FacebookMessageParser needs an instance of AllSocialNetworks so that it can create valid Users coming from Facebook. The only implementation we have for the AllSocialNetworks interface is UserRepository, and this implementation needs a FacebookMessageParser. That’s a circular dependency, […]
I’ve been extremely busy with project after project in the past few months, leaving me no time to do any research and/or play around interesting things. Even though I prefer to write about what is really interesting me at a given moment, I think that writing about some smaller/simpler problems and solutions would be better […]
Wired has a very interesting piece on how the Duke Nukem Forever project failed. It’s not only relevant because DNF is part of the nerd culture but also because it is a very interesting tale about a company that could not achieve a reasonable Definition of Done (DoD).
In software development we often talk about Done […]
It was one of my first days in the job. I was hired to head the development of several products for a media company and my new boss and I went to my first meeting.
The room was full of different types of people. You could tell those who were media producers from the managers […]
If you follow this blog then you probably know that one of current interests is expressive design, either using Domain-Driven Design or Domain-Specific Languages. Here is a presentation about this topic.
One of the tricky things about expressive code is that it is very hard to see how noisy a code base is. What I found […]
Published by Phillip Calçado April 8th, 2009
in business, case study, clojure, cloud computing, components, groovy, java, lisp, soa, software architecture, software design, thoughtworks, trends and web.
Some weeks ago I joined a handful of ThoughtWorkers invited to test the new Google AppEngine’s Java API. Unfortunately I had a project requiring a lot of attention during most of this period but once back on the beach I found some time to play around with it.
Cloudy Skies
Google AppEngine (GAE) is Google’s shot in […]
My colleague Sarah Taraporewalla posted an interesting text on acceptance testing. She doesn’t believe in this technique. I’ve been thinking of acceptance tests for some months now and think that she has a valid –a bit too radical but still valid- point.
My main problem with acceptance testing is that they are too wasteful.
They are temporary. […]
May 2008’s edition of Harvard Business Review has an article titled ‘Rebuilding the R&D Engine in BigPharma’. In this article Jean-Pierre Garnier -CEO of GlaxoSmithKline- talks about the changes that BigPharma’s R&D process has to face to stay competitive in the new market.
See if you find anything familiar in these quotes:
The most significant [of the […]
I’ve presented at the Australian Architecture Forum a couple of weeks ago. It was a very nice opportunity to get an overview of what the Australian software development market looks like outside ThoughtWorks.
The presentation was a case study on a previous project where we changed a legacy architecture from a completely ad-hoc structure to a […]