XP??
Haven't you upgraded to Vista yet?
Age mellows us all and the co-inventor of extreme programming (XP) and an early Smalltalk advocate, Kent Beck, is apparently no exception. During his presentations at QCon this week Beck advocated the principle of taking "safe steps" in the evolution of a software design to ensure that technical risk is properly managed. Beck …
"An organization like Flickr deploys a new version of its software every half hour."
I don't think that even a goose could crap out a load that fast. Why is it that every one of these extremophiles is a Web 2.0 devotee? I suppose that if your product is fluff in the first place, then it has to be kept in the air continually or else it becomes a dust bunny and gets swept away.
"Extreme Programming?" .... By christopher Posted Saturday 15th March 2008 19:13 GMT
Well, if XP is for Extreme Programming and Vista is just a flashy bells and whistles Desktop Media Console, that means that Microsoft have been ignoring/have no Beta Product for XXXXStream Programmers.
Unless, of course, they are working on ITs Target XXXXCentric Operating System on the QT/in the Skunkworks/Underground/in AIR&dD
Maybe it's nice for Web 2.0 firms to pony up a new version every half an hour, but I'm not sure I'd want my online bank doing that.
You can't tell me that a half-hourly release has been thoroughly stress and regression tested. Oh, wait, that would imply that Web 2.0 sites actually *have* stress and regression tests.
Everything in moderation, IMHO.
URL-driven development was a joke, an exaggeration to make a point.
Looks like El Reg journo was snoozing, and spectacularly missed the point.
Kent Beck said something along the lines of...
"You receive a web request - you have no code yet. You hand-craft the HTML in response, start typing '<html>...'
And then in the following 30s while you're waiting for the next URL request, you write the code that would have generated the first response. And you've got an automatic test case already written."
He was taking the concept of incremental design to a ridiculous extreme, to make the point that there's a lot further we could realistically and usefully push it.
I think he's got a point - coders are notoriously good at spending a long time beautifully solving the wrong problem.
But it certainly works better for 2.0 and gui-type stuff. Does incremental design and XP really work for back-end infrastructure type work?
...the notion that upfront analysis delivers software later and costs more.
My experience is that front-loading the analysis phase and debugging pseudocode instead of real code is much more productive than immediately slinging code and trying to retrofit changing specifications into it. Retrofitting clarified spec into existing code forces hokey workarounds because few managers really believe the XP gospel about throwing the first one or two systems away. Calling it refactoring doesn't make the result any prettier unless you can throw away code in the process, but just try it!
That said, what I found very valuable in the XP literature was the incremental, iterative approach presented as a solution to a problem, i.e. risk management. Risk management is the strategic issue, and the choice between "prototype iteration until done" versus "spec it out and debug the spec first" is really a tactical decision that depends on conditions in the field.
If the client only has a vague idea of what is desired and what is possible, then throwaway prototypes that throw up forms on a screen that people can jab their fingers at is the way to go. Oftentimes, however, you are interfacing two systems whose detailed data formats and semantics must be nailed down before you can really begin talk about the problem. One size doesn't fit all tactically, but the strategic concept of risk reduction is applicable always.
There is valuable content in the XP gospel, but it may not survive the slogan wars. It has penetrated some of the collective unconscious though, and can be expected to appear fairly soon with a new coat of paint as the paradigm du jour unless O'Reilly runs out of animals.