This week's book giveaway is in the Other Open Source APIs forum. We're giving away four copies of Storm Applied and have Sean Allen, Peter Pathirana & Matthew Jankowski on-line! See this thread for details.
One common complaint I hear over and over concerning the (R)UP, is that it describes a set of practices that many organizations quickly apply a heavy-weight, big design upfront process to, while claiming to be following the (R)UP. The (R)UP does describe a rather large set of documents that could be generated throughout the course of a project, but one mandate of the (R)UP is that only those documents that are necessary and have value should actually be created. And, the (R)UP does describe a practice of iterative development. From what I hear and from what little I've already seen, many organizations seem to believe that they need more analysis and design documentation to still be considered agile and efficient in their development efforts, and they too frequently apply an "iterative waterfall" approach to systems engineering, arguably not an agile iterative approach. Also, many seem to feel that the (R)UP describes an engineering system of upfront analysis and design that would then leave the tedious, small detail of coding to a small group of underpaid, malnourished, anemic monkeys. So, the (R)UP describes a set of practices (and a set of documentation), while perhaps lightly suggesting the notion of iterative development and only doing the practices and creating the documents that are of real value to the project. Some might argue, that a more complete methodology would also describe the core principles and values of the development team, as does eXtreme Programming. Such a system of principles and values might help an organization to make better decisions to be more agile and adaptive to the changing business needs. With the proper underlying principles and values, and a couple of practices clarified, I could see how the (R)UP could be described as an agile, adaptive methodology, but it would seem to me that these key pieces are in fact missing from the common knowledge base, and the values of "set-in-stone requirements" and "solid, upfront analysis and design" are too easily substituted. Did that help to (un)clarify any thoughts you had? Or did I leave you wondering what I smoke in the middle of the night?
I didn't the answer or may be i was not able to understand u'r explaination. One more thing that adds to the confusion is Extreme programming. How does Extreme programming, RUP and agile methodology (martin fowler's) fit in the whole SDLC
Extreme Programming is one (the most popular) example of an agile methodology/process. Others include Feature Driven Development, Scrum, Crystal and others. RUP is a process *framework*, that is, it is a collection of practices you are expected to pick from to build your own process. It is possible to build an agile, even XP-like process from RUP, though most implementations tend to be much more heavyweight, document-centric. Did that help?
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
About 7 years ago we paid Rational to teach us RUP and mentor us through the first release of a product, and we got something pretty darned big up front. I'd bet if you did the same thing today, they'd teach you something pretty darned agile. The RUP has always been flexible enough to customize either way, but agile has all the buzz and makes an awful lot of sense, and Rational is on board with the vast majority of agile thinking. One exception: Grady Booch is often quoted as saying he can't buy into emergent architecture. In defense of that big design up front stuff we got before - it was far better than nothing, which is exactly what kind of method most teams in the company had, and I have no regrets about having been on that path, though I wish we could get more agile more quickly right now!
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
Joined: Jun 25, 2001
RUP Emphasize on the Iterative model, in the same way Agile also emphasize the itreative model. Do they both complement each other or is it Agile is a marketed terminology above RUP ??
Joined: Jul 11, 2001
Agile Software Development is much more than just iterative development, it's a value system guiding you on how to do things in general - how to communicate, which tools and practices to use etc. See http://www.agilemanifesto.org/ As I tried to explain above, you can both taylor agile and non-agile processes from RUP. Did that help?