I have read several questions here, and searched over the internet, but didnt find an answer to my question, thats why I ask, with Agile Unified Process, I have to build all the UML diagrams that I have to build with Rational Unified Process(RUP)? I want to know it because, i want to use an agile methodology for a thesis, for the practical component, And i dont need to build all of those diagrams
4Do you want to use an agile methodology, or a methodology which advertises itself as agile though it most probably isn't?– Doc BrownFeb 7, 2017 at 22:20
I want to use a methodology that doesnt require all the UML diagrams to be designed. I only need the use case, state , and maybe class and activity @DocBrown– Joao MariaFeb 8, 2017 at 9:12
7And what stops you from doing so? "Agile" means beeing adaptive - pick the diagrams which make sense for your thesis, not the ones some "<Pick your favorite buzzword> Process" contains.– Doc BrownFeb 8, 2017 at 9:27
1Honestly, I don't know what your thesis is about, your field of study, or the rules of your university. You should know them, or at least you should know the responsible people at your institution you can ask for this. My recommendation is: inform yourself what makes sense for your environment, do not just pick a method because it has a fancy name.– Doc BrownFeb 15, 2017 at 18:40
1No methodology requires using every UML diagram.– COME FROMFeb 17, 2017 at 9:39
The Rational Unified Process is built around models of a system that use UML as a tool for visual representations. Models may include one or more diagrams, but the model of a system consists of all of the information to describe the system. This Stack Overflow answer is pretty good about explaining the difference. Then, RUP takes the various Rational tools and uses them to support creating and maintaining a system model, even as far as automatic synchronization between various artifacts (down to the source code).
IBM has a whitepaper titled Rational Unified Process: Best Practices for Software Development Teams that goes into some more detail.
The Agile Unified Process is some work by Scott Ambler and some others involved in RUP, to apply the values and principles of Agile Software Development to RUP. The best definition is from Ambler himself, which also includes a ZIP that fully specifies the AUP process.
There are only 8 minimal deliverables associated with Agile Unified Process:
- Source Code
- Regression Test Suite
- Installation Scripts
- System Documentation
- Release Notes
- Requirements Model
- Design Model
There are only two models required. Depending on the level of detail needed, both can be accomplished with just source code related artifacts: acceptance and regression tests (preferably automated) for the requirements model and deliverable product source code and unit tests for the design model. Other artifacts may be kept if necessary.
As far as other work products are defined, UML is not required. For example, one work product that may be produced in AUP is the Deployment Model, and it's described as "often diagramed using a UML deployment diagram, a network diagram, or a free-form sketch". Other models suggest considering UML diagram types for visual representations.
AUP refers to Agile Modeling (more work by Scott Ambler and others) for guidance on creating models in a way that tends to align more closely with the principles of Agile Software Development.
Something else to consider is that work generally stopped on AUP in 2006. Over the last decade-plus, we've learned a lot about software development methods and practices. Scott Ambler has been focusing on Disciplined Agile. Others have been revising or enhancing other methods with new lessons learned. Because of the stagnation, I probably wouldn't recommend AUP to anyone today, aside from the historical background to understand when looking at a history of Agile Software Development.
AUP uses the same diagrams as UP and RUP with the following adjustments:
- instead of having a requirement model, an analysis model (to understand the requirements and their domain), a design model, and an implementation model, AUP uses only a requirement model and design model.
- AUP recommends to model only the elements that are relevant to understand the design, without getting lost in detail.
So despite the same diagrams can be used, AUP lets more flexibility.
This being said:
- UP is customizable, so you can decide on your own to take shortcuts and not use the fully fledged version.
- AUP is no longer maintained since 2006
- EssentialUP is a variant of UP that is practice oriented. So basically in the area of modelling you can decide to use some practices or not, as suits the need.
So in your question I do not really see a methodology issue, but more an argumentation question about hiw to justify that you do not want to loose your readers in unnecessary details.