Kane Mar

Adventures in Agile Software Development and Scrum

Applying the Principle of Postponement to Software Architecture

This article is about my further understanding about Agile software development. As I my understanding of Agile software development has increased, so has the conflict between my established ideas and what I now see happening in the real world. The latest casualty was my belief that having repeated code or components is bad.

I was greatly influenced by Bertrand Meyer’s [1] book Object-Oriented Software Construction [2] where he presented the case of reusable software components. It could be argued that reusable components are with us now in the form of large frameworks, but my understanding of his vision (reuse of fine grain components) never fully came to pass.

The original impetus for this article was a conversation that I had with Ken Everett. He described the logging scenario that I use as the example for this story. His argument was that for a large team using more than one logging framework was not a bad thing provided that the code quality was good and that it met the business functionality. I absolutely agree. I also wondered, when was the latest responsible date at which point a decision needed to be made?
Read the rest of this entry »

Filed under: Patterns, Technology

Share This Blog

Bookmark and Share

My Twitter Updates

Agile Carnival