Hey guys, Im a newbie on an information hunt... Do any of you know which Of XP and RUP is better for small projects such as Restaraunt bookings systems or Taxi firms? If so, why is it better? I am new to methodologies and would be truly greatful for the advice. thankyou .Mike
RUP is a process *framework*, that is, you are supposed to build your own process from what RUP offers. Technically, XP can be seen as an instance of RUP. It is a "minimal" collection of practices. It is supposed to give you a save starting point for your project and rapid feedback that tells you where you need to adapt/enhance it. It is meant to be used by teams of up to a dozen developers.
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
I'll start by reminding that while XP is basically a small set of suggested practices, RUP is a huge library of artifacts, templates, and what not from which you need to pick a mix suitable for your project. Now, in general XP would be a more appropriate choice for a small project (team size less than a dozen). However, RUP can also be tailored to suit such a small project -- you might not even know the difference between XP and the RUP instance. Sadly, most RUP instances I've seen and heard of have been needlessly document-heavy and bureaucratic. The history is full of "RUP projects" which have actually been perfect textbook examples of the Waterfall process. In XP, you start with a small amount of formality and increase it only when you feel a need. In RUP, you start by picking whatever you think you might need or benefit from and don't drop anything -- at least that's what my observations tell me... One very important aspect to look for when figuring out what would be a likely suitable process for a project is the problem domain itself. If the problem domain is well-understood (decades of successful projects), the optimal way of building the software might be based on a plan-driven process (typical RUP). If the problem domain is not well-understood, the best option is probably to embrace change (there will be change!) and use a process that can adapt to changes (XP, or RUP done "the right way"). I'd suggest spending some time reading related literature and making the decision once you've done that (and not being afraid to change your mind once you've made that decision, if you feel like it!). Some good sources include Balancing Agility and Discipline and Agile and Iterative Development. They both present a number of modern software processes or methodologies and discuss their sweet spots. Sorry if I'm writing badly -- I'm half asleep already...
GUYS THATS BRILL, I HOPE I CAN RETURN THE FAVOUR SOMETIME. iF ANYBODY ELSE HAS AN ANSWER, PLEASE DO...I CAN USE ALL THE ADVICE I CAN GET FOR WHY XP OR RUP IS BETTER FOR SMALL PROJECTS. tHANKSEVERYONE!! mIKE