Archive for the 'case study' Category

Everyday Tales: We Call it Unit for a Reason

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 […]

Everyday Tales: Anatomy of a Refactoring – Part 3

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, […]

Everyday Tales: Anatomy of a Refactoring – Part 2

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, […]

Everyday Tales: Anatomy of a Refactoring

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 […]

Duke Nukem Forever and Magic Bags of Money

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 […]

Watch Your Language!

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 […]

Tag Clouds: See How Noisy Your Code Is

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 […]

Getting Cloudy: Clojure on Google App Engine

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 […]

Where do Acceptance Tests go to Die?

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. […]

BigPharma Problems & Solutions: Have You Seen This Before?

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 […]




About

You are currently browsing the Fragmental.tw weblog archives for the case study category.

Longer entries are truncated. Click the headline of an entry to read it in its entirety.





Creative Commons License

This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.