Tuesday, January 22, 2008

No BDUF != NoDUF

Continuing with the theme of architecture in an agile organization, one of the most abused principles in agile software development is that of avoiding Big Design Up Front (BDUF).

No BDUF does not mean NoDUF!

NoBDUF != NoDUF

I submit that every single one of us is guilty of designing a solution to a problem before the person is finished describing what the problem is! Anybody with a modicum of imagination does design up front (DUF). In my experience, the amount of ceremony required for DUF is directly proportional to the cost-to-fix/cost-of-failure. This is pretty obvious in the construction of physical objects, and the debt is tangible. I don't think it's unreasonable to apply the same rule of thumb to software or virtual objects.

No comments: