JavaTM Virtual Reality Applications and
Related Technologies

"Freedom" Service-Oriented Methodology
Web Book

The First Agile Slugout:
eXtreme Programming versus Freedom

Round 7
Early and continuous delivery

Howard: We're almost ready for round 7. Round 7 will determine best support for Agile Principle 7, Early and continuous delivery:

    Our highest priority is to satisfy the customer
    through early and continuous delivery
    of valuable software.

Don: That sounds like "Frequent releases" all over again, Howard. This may just be a repeat of bloody round 6.

Howard: One difference, Don, the emphasis on "early" delivery could change things a bit. But I agree with you. There is a lot of overlap in principles 6 and 7, so the result may well be the same.

Don: The contenders are sauntering into the ring again. Freedom is winding up for another "Prioritization of requirements" punch, as you'd expect. Hey, what's XP doing?

Howard: He's got his arms up motioning for a hold. Looks like XP might have a problem! The ref is right there telling Freedom to hold off. XP is saying something to the ref and Freedom. Maybe Peter at ringside can clue us in as to what's going on.

Peter: Yes, I can, Howard. XP is formally asking Freedom to concede!

Howard: I guess we shouldn't be too surprised in light of the score. Thanks, Peter.

Don: Wow! Everyone just saw Freedom's answer -- a massive "Prioritization of requirements" blow to XP's jaw! XP is momentarily stunned.

Howard: Now he's recovered, and is coming back with those "Iteration Planning" and "Make frequent release" punches just like before. Looks like a repeat of round 6, like we expected. They're both beating up on each other, each trying to prove he's better at "continuous releases."

Don: Yup. Looks like "frequent releases" all over again.

Howard: Oow! Maybe not, Don. Freedom just did a fast 360 spin and nailed XP with a "UI prototyping" hammer blow! XP flew backward onto the ropes. Freedom is continuing to pound him with both "Prioritization of requirements" and "UI prototyping", but it's the "UI prototyping" hits that are keeping XP from recovering.

Don: Smart move, Howard. User Interface prototyping is about the quickest way there is to get code into the the customer's hands early on. A UI Prototype is just a facade for the purpose of having the customer verify that the requirements are correct and complete, and the interface look and feel is ok. Little or no functionality actually works, but rule 7 doesn't say it has to. It just says "early release." It's hard to beat a UI Prototype for an early release.

Howard: Having the customer verify correctness and completeness of the requirements is critical, so UI Prototypes serve an important purpose even if none of the functionality works. Looks like Freedom finally got one over on XP. XP is still on the ropes, taking a beating.

Don: There's the bell. Round 7 is over. I think we know who won this round.

Howard: No question, Don. There's the call -- round 7 to Freedom. The score is now XP 4, Freedom 2.

Howard: Don, can you explain why XP didn't throw any "Spike solutions" punches to counter Freedom's "UI prototyping?" Spike solutions are really just prototypes, right?

Don: They are, Howard, but a different kind. Spike solutions evaluate different design or implementation techniques during implementation of a user story. A user story serves as requirements for XP, so by the time XP implements a spike solution the team is well past the requirements stage for the Release. Also, spike solutions are not intended to be delivered to the customer, whereas a UI Prototype is. So spike solutions would not have helped XP in demonstrating support for the "Early and continuous delivery" principle.

Howard: Ok, but couldn't XP deliver a UI Prototype early also?

Don: A UI Prototype does not match XP's paradigm. The two methodologies have fundamentally different notions of requirements.

For Freedom, requirements are "the black box view of the system," meaning the software external interface and its stimulus-response behavior. Freedom first delivers a UI Prototype in which little or nothing works but which implements part of all of the user interface. This permits the customer to verify correctness of the human user interface, which remember is at least partially synonymous with requirements to Freedom. The UI Prototype can be delivered and evaluated in increments if the UI is extensive, which gets UI code to the customer even faster. Once the user concurs the requirements are ok, Freedom delivers functionality in increments of "stimulus sets", which are collocated groups of stimuli in the user interface. So a UI Prototype follows naturally from Freedom's interface-based approach, and also serves as a code framework for implementation and delivery of functionality.

For XP, requirements are User Stories. XP implements and delivers the system in increments of User Stories, which are process-centric, not interface-centric. A UI Prototype may not match any XP User Story. Also, a UI Prototype implements no actual functionality. whereas a User Story always has some associated functionality. UI Prototypes simply do not match XP's approach, so XP does not use them.

Howard: Thanks for clarifying that, Don. These two contenders are really different!

Copyright (C) 2003 LDJ Trust
Some rights reserved.

Creative Commons License
This work is licensed under a Creative Commons License

<<-- First . . . <- Prev . . . . . Next -> . . . Last -->>