August 18, 2005 at 3:22PM XP and Big Design Upfront
Joel Spolsky posted on his site about several instances where where he needed to modify the Project Aardvark (Copilot) Functional Specification.
It was all fine, and stuff I agree with myself, up until close to the end where he wrote: “I can’t tell you how strongly I believe in Big Design Up Front, which the proponents of Extreme Programming consider anathema. I have consistently saved time and made better products by using BDUF and I’m proud to use it, no matter what the XP fanatics claim. They’re just wrong on this point and I can’t be any clearer than that.”
Now, I’m neither a hardcore XP person, nor a hardcore BDUF person, but that’s a bit of a mischaracterisation of XP if I ever heard one. There was me thinking one of the core mantras of XP was “design a bit, code a bit”, meaning you create a rough spec up front, and then refine that over each iteration/milestone/phase/whatever of the project.
I know there’s people out there who look at XP and say to themselves, “yay, no planning!”, but that’s not XP. And I think we can all agree that those people aren’t so much XP fanatics as XP idiots.
1 On August 18, 2005 at 16:52, Mick wrote:
Keith.
I always (of course) read your blog, but I was compelled to praise you on this article. Its a good read, and I enjoyed reading about the XP approach. Also the CoPilot scheme is an interesting one.
Btw - I got myself a nice permanent job as a PHP/Webdev type person. It keeps me to the luxury to which I have become accostomed.
Nehoo, hope your doing well.
Latozorseszezeez
2 On August 19, 2005 at 15:00, Keith wrote:
Argh! Flash intro! My eyes! The goggles, they do nothing!
3 On August 20, 2005 at 10:41, Revence 27 wrote:
Yep. You’re right.
The best way to go on a project (if “project” doesn’t mean “Hello, World!” to you) is to write a rough spec first, and know that by the time you’re done, it’ll have changed lots.