Thursday, November 6, 2008
JDUF - Just Enough Design Up Front
I was reading Michael Groeneveld's reactions to Agile 2008 and thought the Iteration-1 idea was quite interesting. He says it could be controversial because it increases the amount unvalidated work, and that it seems like BDUF (big design up front), and therefore antithetical to Agile. However, he goes on to point out that there are sometimes more effective ways to get feedback from a client than to demo working software. I think that early in a problem I tend to thrash around with unit tests until I figure out how to solve the problem efficiently... and as a result I waste time that could have been saved if I just stood at a white board with a pair. Back in my job in Philly, we called this JDUF -- Just Enough Design Up Front. XP never advocated blind coding... it just requires us to wait to do this design and planning until the last responsible moment, and then not to let that design rot before releasing it to the customer.