Iam new to learning RUP ( Rational Unified Process ) and i was a little bit confused while reading about it on rational's site.
Is RUP a concept OR is it a tool OR both OR what ?????
is it that we need to buy/download RUP software ?
Iam confused, can anybody help.
It is a methodology. But to sell it, rational supplies a bunch of html pages (about 16000 pages). There are some documentation templates also. A warning though, if you are thinking to get into a good methodology in reasonable time, then you need to rethink, RUP will take a looooooooooong time to grasp, implement and finally there is a 50% risk that you will never reap the benifits. My advice go for something more simple and agile.
could you suggest ONE very good methodology ?
secondly, can we download these ~1600 html pages from internet (for RUP) ?
You can get an evalution login for RUP. Goto http://www.rational.com/products/rup/
and click on "Free Eval" on the left.
However, I recommend that you buy Craig Larman's book "Applying UML and Patterns 2/e". His approach is what I like to call "Agile UP" and is much more practical IMHO then applying all the artifacts in RUP. This book uses a case study of a POST system and it is actually structed according to iterations.
Whatever way you go, the important thing is to develop incrementally and iteratively. Also to apply OOA/D. Using Java (or any other OO language) does not mean that you are doing OO programming.
RUP can be bought from Rational as a CD-Rom, which you can taylor to your situation.
But before you do that, may I suggest you read 'Agile Software Development' by Alistair Cockburn. This book explains about software development and processes needed to support this activity. According to Alistair (and many others), there is no single 'best' methodology. There are several good methodologies, but they are suited for different environments. Does your software involve life-critical systems (medical equipment, space shuttle control systems, ...) and is it built by 100's of people, than you need a heavy process (ie. RUP). Is it a light-weight web-site with up to 10 developers involved: try eXtreme Programming.
In other words: read about methodologies, look at your situation (which may differ in time!) and then select your own methodology or make one up by picking the best elements...
I would start reading these books as you suggested. Well, ours is a big medical insurance company but the group in which i work has 20 developers, so i would assume extreme to be a better fit.
how can learn about extreme methodology ?
what are the most common and general differences between RUP and eXtreme ?
what are the advantages of eXtreme over RUP and vice-a-versa ?
Try Extreme programming: A Gentle Introduction
first. Kent Beck's "Embrace Change" book is a must.
Good luck, take the red pill.
In my experience, I find that RUP is like this superset of workflows, phases, and artifacts such that any particular project kinda shops for the pieces of the conglomerate process that makes sense for its project(s).
It is best to first have a process that makes sense for your projects scale and size. In essence, RUP tries to be everything for every project and in the end ends up being nothing for a company not dedicated to increasing their CMM level by continal analysis of and improvement to the process they use.
My advice is to use shorter iterations, and learn one or two new things each iteration. Be honest in the review, and ask all did this artifact / process help? What can we do to change it to fit this particular process / project and gain benifit? If there is no benifit to maintaining a particular artifact, cut it out.
I use more of a "profound knowledge"(Demming) approach to my development domain. I feel secure in the patterns and layering techniques I learn independently of any process. Therefor, the development approach I use is more XP, however I hide this behind a set of heavier artifacts that come from RUP (Use Cases, SDDs), to satisfy my upper management's desire to be a RUP shop. It is not like I am against RUP, it is just that a full instantiation of such a project would take 40 people just to implement a message board in 4 months.
In conclusion, use shorter iterations, learn one or two new things per cycle, monitor its benifits, and do not be afraid to modify RUP templates and work flows in directs that put your process into statiscal control.
Writing all the RUP artifacts is indeed heavy weight and IMO a waste of time. That is why I prescribe an Agile UP as demostrated by Craig Larman.
Personally, I combine elements of both XP and RUP. Here is a brief overview of the important elements of the process that I use:
* Test-first development
* Short iterations. 2 weeks.
* Use-case driven (or sometimes Feature-driven development)
* Domain model
* Design model
* Software Architecture Document
That should get you started on learning UP and XP.
sorry on getting late on this ....but thanks all and it was a great learning experience for me !!
You got some great responses there. Two things I would reinforce:
RUP is a superset of what anybody would ever do: every workflow, process, deliverable they could think of. Implementers must be prepared to devote significant effort to figure out which bits they need and how to populate all the rolls.
'Agile Software Development' by Alistair Cockburn is a wonderful introduction to agile process thinking. Cockburn very fairly compares a number of methods, including his own. Get it overnight from Amazon before you move on. His site http://members.aol.com/acockburn/
(soon to be http://alistair.cockburn.us/
) has many white papers and other good material.
The XP books - Beck, Jeffries, etc - are exciting stuff, also good reading. But I think they take a little too much glee in being extreme, sometimes at the cost of a balanced viewpoint. If you decide to go agile, use these guys to get you pumped up!
Hi my name is yanela, i´m from Argentine.
I don´t undertand de difference between discipline and workflow in rup.
can somebody help me with this?