Last week, Cauê and I were refactoring some classes in our systems and faced an interesting situation.
In our application we have a notifications system. It is quite simple; notifications are read from a text file and shown in a small information box in the home page. The MVC controller –it’s a Java application and we […]
Archive for the 'agile' Category
Everyday Tales: We Call it Unit for a Reason
Published by June 7th, 2010 in agile, case study, components, everyday tales, java, object orientation and software design. 1 CommentAgile Architecture: 4 Common Strategies
Published by May 12th, 2010 in agile, books, management, software architecture, software design and thoughtworks. 4 CommentsAt ThoughtWorks, our preferred way to start a project is by doing a set of workshops and sessions with stakeholders for about two weeks. That’s what we call Inception. After the Inception we usually have a product backlog for the project and are ready to start writing production code.
During that period, we often come up […]
Agile Anti-Patterns: Democratic Design
Published by May 9th, 2010 in agile, components, java, layers, object orientation, ruby, soa, software architecture and software design. 5 CommentsWeeks ago, some people in the Ubuntu community got a bit disappointed with the distribution’s core team:
> We are supposed to be a community, we all use Ubuntu and contribute
> to it, and we deserve some respect regarding these kind of decisions.
> We all make Ubuntu together, or is it a big lie?
We all make […]
Recovering Agile Projects
Published by May 8th, 2010 in agile, economics, management, software architecture and software design. 1 CommentOver the years I’ve been part of many recovery projects. What I mean by “recovery project” is usually a project-inside-a-project that is started when the original project was clearly not going to meet its objectives. Each project fails in a unique way, but often failure is characterised by not fulfilling the stakeholder’s expectations.
There are […]
Nevermind Domain-Driven Design
Published by March 22nd, 2010 in agile, books, c#, domain driven design, domain specific languages, events, java, language oriented programming, layers, object orientation, software architecture, software design and trends. 5 CommentsOver the past years I’ve held many workshops on Domain-Driven Design. We had more than one hundred people on those sessions, and feedback was often pretty good. After my last run I told my business partner that this was my last time running those workshops.
I think that Domain-Driven Design is one of the most […]
Everyday Tales: Anatomy of a Refactoring – Part 3
Published by March 10th, 2010 in agile, books, case study, domain driven design, everyday tales, layers, object orientation, software architecture, software design and trends. 4 CommentsWe 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, […]
Everyday Tales: Anatomy of a Refactoring – Part 2
Published by March 10th, 2010 in agile, books, case study, domain driven design, everyday tales, layers, object orientation, software architecture, software design and trends. 1 CommentRead 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, […]
Everyday Tales: Anatomy of a Refactoring
Published by February 24th, 2010 in agile, case study, domain driven design, java, layers, object orientation, software architecture, software design and thoughtworks. 11 CommentsI’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 […]
Coders at Work: My Review
Published by December 29th, 2009 in agile, books, software design and trends. 2 CommentsI just finished reading Peter Seibel’s new book, Coders at Work.
I was a bit skeptical at first. I only picked the book because of the big names on the cover and because Peter Siebel’s Practical Common Lisp is one of my favourite books on learn-a-new-programming-language. I thought that a book filled only with interviews with […]
Duke Nukem Forever and Magic Bags of Money
Published by December 22nd, 2009 in agile, business, case study, digital media, economics, management, thoughtworks and trends. 3 CommentsWired 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 […]

