ExtremeProgramming

ThoughtStorms Wiki

Extreme Programming resources and pages on this wiki :

  • Wiki:ExtremeProgramming

KentBeck : my philosophy is more on the complex-system side—that software development shouldn't be composed of phases. If you look at a decade of software development and a minute of software development, you ought to have a process that looks really quite similar, and XP satisfies that. And, secondly, the appropriate social structure is not a hierarchical one, but a network structure.

Which strikes me pretty much as Cooper (who I admire because VB is brilliantly conceived), trying to argue that there's nothing wrong with design as long as it's done right. Which just begs the whole question. Design can't be done right. And just one more appeal to "this time, this methodology will get it right" seems naive.

Some more XP/Usability links that you might find interesting:

Extreme vs. Pragmatic from http://www.artima.com/intv/metadata2.html

I think another difference between us [Pragmatic Programmers] and the XP folks is that we value experience. We think your experience is a key component of your everyday work. It is perfectly valid to look at your experience and say, "The last time I did this I got bitten by this particular field changing 17 times, so this time I'm going to abstract it out into metadata."

XP people value experience too :-)

The http://xp.c2.com/DoTheSimplestThingThatCouldPossiblyWork.html approach is not just about avoiding premature decision making - it's also about not having complexity until the point it is needed. If you avoid abstracting things until you actually need the abstraction the code base as a whole remains simpler and you can therefore develop and change things more easily.

XP LinkBin

Abuser stories : http://www.artima.com/weblogs/viewpost.jsp?thread=113306 (Basically take risk of new functionality into account)

Criticism

Executive Summary : If you can't do all of the XP practices, it might not work. Except for all those other AgileMethodologies and PragmaticProgramming methodologies which borrow a bit of XP, and do seem to work OK too.

: Personally I find Matt Stephens and Doug Rosenberg criticisms of XP, especially in their book, quite poor (http://www.oreillynet.com/pub/wlg/4718) A much better read is Barry Boehm and Richard Turner's "Balancing Agility and Discipline" – AdrianHoward

Personal note : I'm as pragmatic as the next man. (And don't write nearly enough UnitTests for XP) But there's always something pretty annoying about someone who basically tries to elevate mediocrity to a big idea. Compare Popper on Anaximenes ... QUOTE NEEDED.

This is an interesting question of modularity in large XP teams. How do they scale up? http://www.softwarereality.com/lifecycle/xp/storm.jsp

Is XP predicated on RossMayfield's CreativeNetwork sized teams?

More : http://www.idinews.com/indexmethod.html

More interesting criticism of PairProgramming : http://www.hacknot.info/hacknot/action/showEntry?eid=22 (see comments)

I guess there are different TypesOfProgrammer

TestDrivenDevelopment

CategoryDesign, CategorySoftware, CategoryComputerScience