File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Agile and Other Processes and the fly likes Difference between XP and RUP Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Soft Skills this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Engineering » Agile and Other Processes
Bookmark "Difference between XP and RUP" Watch "Difference between XP and RUP" New topic
Author

Difference between XP and RUP

John Lee
Ranch Hand

Joined: Aug 05, 2001
Posts: 2545
H:
what is the biggest difference between xp and rup?
thanks,
Hung Tang
Ranch Hand

Joined: Feb 14, 2002
Posts: 148
UP and XP are similiar in many ways, but I think there's more emphasis placed on one methodology than the other in one of the following areas:
1. XP stresses shorter integration cycle (like every 2 hours) UP recommends that too, but perhaps every day or so.
2. XP users must follow Unit-Test first design, that is write Test Cases first, then create application to pass those tests. UP, I believe, don't have this in their process.
3. UP biggest point is getting rapid feedback from its customers. Iterative development takes place from getting feedback from their customers. Not that XP doesn't have this, they do too but UP emphasize this more so.
4. UP follows four distinctive stages in the development cycle, each stage is done iteratively. Inception, Elaboration, Construction, Transition.
5. both XP and UP are agile methods; that is they are both processes that embrace change. It doesn't follow the "waterfall" method in which they must get all the requirements down and freeze them.
6. XP has other stuff like pair-programming, collective-code ownership.
John Lee
Ranch Hand

Joined: Aug 05, 2001
Posts: 2545
Thanks a lot!
Jane Somerfield
Ranch Hand

Joined: Jul 20, 2002
Posts: 193
XP is a hacker process because of lack of
CM.
Max Habibi
town drunk
( and author)
Sheriff

Joined: Jun 27, 2002
Posts: 4118
What does that mean, exactly?
M


Java Regular Expressions
Frank Carver
Sheriff

Joined: Jan 07, 1999
Posts: 6920
Yes, please explain a bit more about what you mean by the term "CM".
I use what I think of as "CM" when I use XP practices, but it seems likely that we have different interpretations of what "CM" is, and what it is useful for.
I'd really appreciate a clarification of what "CM" is to you, and how you use it.


Read about me at frankcarver.me ~ Raspberry Alpha Omega ~ Frank's Punchbarrel Blog
Lasse Koskela
author
Sheriff

Joined: Jan 23, 2002
Posts: 11962
    
    5
XP definitely requires proficient configuration management in order to work. Short cycles--which might be scrapped in the end--force you to use CM systems. I believe it's not said anywhere that XP suggests not using a CM system...


Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
HS Thomas
Ranch Hand

Joined: May 15, 2002
Posts: 3404
XP is an ideal or goal and RUP ( a process which has many sub processes ) can help attain ( and maintain ) that goal.
I don't see them being as distinct but complementary up to a point. Of course , RUP can be used independently of XP. The goals in this case may/ may not be too different from XP goals(ideals).
I'm not sure if RUP incorporates all of XP tools yet(e.g. Pair Programming)but there's nothing to stop programmers in a RUP project practising it.
And there is no reason why XP practioners cannot use at least some of the CM tools of the RUP. XP is a grass-roots programmer-driven movement, whereas RUP has evolved from combining the experience of decades of Software development with the new experiences of OO development.
Depending on the change required a sub-project could switch focus from RUP (think of a cruise ship going to from Port d'A to Port d'U but it may stop at various other destinations and may even alter it's course to finally end at Port d'S instead) to XP ( think speed-boat leaving the cruise ship to destinations A and D with short-term plans only - pit stops only for lunch and dropping passengers off)and then switch focus back to RUP(speed boat returns to mother ship).
IMHO....please comment.
regards
[ June 01, 2003: Message edited by: HS Thomas ]
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
OK, here is my go - take into account that I know much more about XP than about RUP...
First, RUP is a process *framework*, whereas XP is rather a "minimal set of practices for small teams".
That is, RUP is more along the lines of "these are all good practices, depending on the context - choose from them for your project". XP, on the other hand, says "if you start with all these practices, your project will make good advances, and the rapid feedback, combined with your experience and common sense, will allow you to adjust and extend it properly".
In fact, it can be argued that technically XP is an instance of RUP. Most often, though, RUP is more often installed as a "control the developers" process, whereas XP is about building a collaborative environment and trusting people to figure it out.


The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
John Lee
Ranch Hand

Joined: Aug 05, 2001
Posts: 2545
thank you all for the information! i will get back to you later!
HS Thomas
Ranch Hand

Joined: May 15, 2002
Posts: 3404
trusting people to figure it out.

That is the hard part.
Illja, as you've said in another thread
The best way I know to learn about Pair Programming is actually practicing it
.
I guess that's the only way to build trust.
regards
[ June 01, 2003: Message edited by: HS Thomas ]
Stan James
(instanceof Sidekick)
Ranch Hand

Joined: Jan 29, 2003
Posts: 8791
A good point was made that RUP is a framework. One role in RUP is a process engineer who figures out what parts of RUP to apply and how. If one tried to use RUP "out of the box" with every defined role, process, document, etc. the process would weigh them down until they get nothing done.
RUP is broader than XP. It considers things that happen before and after and outside of the activities described by XP. And the XP folk should have no problem with that - XP focuses on one thing well, and allows you to do other things, too. (XP might think you're wasting your time, but what the heck, it's your time.)
XP is aimed at smaller teams in one site (or one room!) with onsite customers, ie people who know the business requirements and priorities and are empowered to make decisions about them. RUP can be configured for such groups, or for huge groups distributed across the planet.
RUP can be configured to look almost like XP, but remember that XP came about as a rebelion against heavier styles encouraged by RUP, and RUP embraced agile styles a little reluctantly. Before the big "agile" buzz, RUP was usually done in a non-agile way with lots of documents and detailed plans.
XP is in no way a hacker or cowboy mode! It is a high discipline / low formality technique (See Cockburn's book on agile methods) meaning you have to follow the rules very closely, but you don't have a lot of protocol on top of them.
XP has a neat way of looking for the least you can get away with in process, requirements, code and so on. It's never too little, because then you wouldn't be getting away with it. It's rarely too much because they are looking at every activity and asking what is the dollar cost and value.
Professional methodologists rarely take this view, because it doesn't fill up books very well! Well, now they do because "agile" anything sells.
Hope that helped! Comments, complaints, etc are welcome.


A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
HS Thomas
Ranch Hand

Joined: May 15, 2002
Posts: 3404
Stan,
Any books or articles you recommend given your experience on using the 2 methodologies in conjunction ?
regards
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by HS Thomas:
Any books or articles you recommend given your experience on using the 2 methodologies in conjunction ?

Take a look at http://www.objectmentor.com/resources/articles/RUPvsXP.pdf
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Stan James:
RUP is broader than XP. It considers things that happen before and after and outside of the activities described by XP. And the XP folk should have no problem with that - XP focuses on one thing well, and allows you to do other things, too.

And most XP folks I now actually don't have any problems with that.
(XP might think you're wasting your time, but what the heck, it's your time.)

Well, I'd think that it's the time of my employer/customer (as long as they are paying for it), so it seems to be fair to use it effectively...

RUP can be configured to look almost like XP,

Well, there is even an XP plugin for the RUP software: http://www.objectmentor.com/processImprovement/xpRupResourceCenter/index
Before the big "agile" buzz, RUP was usually done in a non-agile way with lots of documents and detailed plans.

On the other hand, Grady Booch stated on the XP mailing list that RUP never was meant to favor heavyweight processes.
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by HS Thomas:
I guess that's the only way to build trust.

I think a very important point of building trust are the short feedback loops. First, it makes sure that problems are found out about early, when it's still easy to resolve them. Second, it gives opportunity to *show* that you are actually able (and doing your best) to resolve problems.
Two other important points are probably
- being honest (even if it hurts at first), and
- focussing on resolving problems instead of blaming people (so that others are allowed to be honest, too)
Stan James
(instanceof Sidekick)
Ranch Hand

Joined: Jan 29, 2003
Posts: 8791
I have to smile at Rational's stance on XP. XP was a fresh way of doing things, largely in response to not getting along very well with things like RUP, CMM, ISO, etc. The team I'm with learned RUP with extensive mentoring from Rational, and it was not the least bit "agile". It was very front heavy with tons of analysis, design, modeling, a fantasy of code generation that never quite came true, a "change prevention" mode of change control, looong iterations, etc. We have made ourselves more agile, but wouldn't pretend that we "do XP" - we still consider it mostly RUP.
Rational may not have been leading the way to agility, but they are smart and see the goodness in most of it. RUP was indeed flexible enough to turn into agile stuff. Grady says he buys pretty much everything but "emergent architecture."
Somebody asked about a book comparing methods. I always recommend Alistair Cockburn's Agile Software Development as a survey of agile stuff, and Scott Ambler's many websites (start at ambysoft.com or agilemodeling.com) for some sane views on RUP. May be hard to find - email him if you need help navigating.
Fintan Conway
Ranch Hand

Joined: Apr 03, 2002
Posts: 141
Hi All,
From my experience RUP tends to focus on "up front" design/analysis, whereas XP focuses more on design or code refactoring.
Regards,
Fintan
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Difference between XP and RUP