Extreme Programming Is Just The Spiral Model

...but going at 32x.

...or so people tend to say. I am not sure I believe it, but it is hard to say what the spiral model actually is, for starters.


Spiral does not talk about values such as aggressiveness, listening, users on the team, team morale. Spiral does not require PairProgramming. Most spiral practitioners would want written requirements and designs. Spiral does not not talk about 100% UnitTests. Most spiral people I have met would be uncomfortable with 1-day spirals (but happy with 3-week spirals). XP iterates like spiral, reduces risk like spiral, so I would say spiral fits within XP (mostly), but XP covers more territory than spiral. That's my version. -- AlistairCockburn

I would say that "spiral" (incremental development, with increasing system scope in each increment) is simply the minimum required of any project that intends to succeed. Doing a project any other way is asking for failure. XP, as you say, hangs some specific development practices on the spiral organizational framework. -- RobertEikel

I'm not sure I would equate each day's work in XP with a spiral. Reading Boehm's more recent work, a single spiral is much closer to an XP iteration. -- DanIngold?


Concur. Spiral in my recollection (not even sure where my copy of the original Boehm (wasn't it?) article is) is an iterative risk-first development model. His main point was just that - didn't address the entire process, at least not in the original article.

I hadn't heard that particular "objection" before, must not be from anyone who posts here. It's really good to have reached the "XP is just" stage of recognition though! ;-> -- RonJeffries


Actually, maybe it was ExtremeProgrammingIsJustRapidApplicationDevelopment? -- I know I have heard that one before, and even can remember who said it. RAD vs. Extreme? Makes sense from the words, at least. (-:

Anyhow, Alistair's points are well taken. Thanks. -- BT

Yup, I agree largely with Alistair, but it's perhaps worth saying in passing that TomGilb was always more extreme than Boehm and would certainly have no problems with 1 day increments. Boehm acknowledged Gilb's influence in the forward to PrinciplesOfSoftwareEngineeringManagement - and made some good points about our ignorance (at that time, without the additional joys of XP unit testing and pair programming) about engineering towards non-functional system requirements. -- RichardDrake


Spiral is what I was apparently doing before I knew it had a name. On my second RealProject? at my RealJob? (the first apparently proving I wasn't a BadProgrammer) my new boss asked about my design given that I was already coding. I told him I didn't yet sufficiently understand the problem or the solution to have a design. To his credit he showed up the next day (and this was pre-web I believe :-) with a paper about the SpiralModelOfDevelopment?. Now it turns out, that maybe what I was really doing was ExtremeProgramming (though I'm still reading about what that actually means). Now the credit for any of that goes to my first real mentor. Being unable to afford school without working, I got a part time job in the field and I learned the most valuable lesson they do not teach in school -- get a little tiny piece working, and then build on it. He made me throw out this elaborate infrastructure for controlling 3 (x,y,z) stepper motors in favor of a tiny stand-alone program which made a single motor move which of course evolved into a main and a function for a motor's control, etc. It is, of course, possible that I'm just used to CowboyCoding and trying to justify his hard and set ways (and don't we make the worst converts. I can WaterFall you to death :-) -- ChrisHyser


CategoryExtremeProgramming


EditText of this page (last edited May 20, 2013) or FindPage with title or text search