Jyoti Chaturvediand David Orr
Enter RUP
What should I know when I What should I know when I leave? leave? • What is the RUP software?What is the RUP software?
• What good is it?What good is it?
• What can I do with it?What can I do with it?
• How will it help me?How will it help me?
What is the RUP software?What is the RUP software?
What is the RUP software?What is the RUP software?
It is a software product, like any otherIt is a software product, like any othersoftware product.software product.
What is the RUP software?What is the RUP software?
It is a software product, like any otherIt is a software product, like any othersoftware product.software product.
It is a vast set of HTML pages It is a vast set of HTML pages that arethat are
dynamically produced on your dynamically produced on your browser.browser.
What is the RUP software?What is the RUP software?
What is the RUP software?What is the RUP software?
The software was developed andThe software was developed andmarketed by Rational Software. marketed by Rational Software.
What is the RUP software?What is the RUP software?
The software was developed andThe software was developed andmarketed by Rational Software. marketed by Rational Software.
• Today it is owned by IBM.Today it is owned by IBM.
What is the RUP software?What is the RUP software?
What is the RUP software?What is the RUP software?
It can stand alone as a library of linkedIt can stand alone as a library of linkedhypertext pages.hypertext pages.
What is the RUP software?What is the RUP software?
It can stand alone as a library of linkedIt can stand alone as a library of linkedhypertext pages.hypertext pages.
It can be integrated with other It can be integrated with other tools intools in
the Rational suite. the Rational suite.
What is the RUP software?What is the RUP software?
What is the RUP software?What is the RUP software?
It is delivered using Web technology,It is delivered using Web technology,not in books or binders. not in books or binders.
What is the RUP software?What is the RUP software?
It is delivered using Web technology,It is delivered using Web technology,not in books or binders. not in books or binders.
It is never obsolete. Rational It is never obsolete. Rational releasesreleases
upgrades twice a year.upgrades twice a year.
What is the RUP software?What is the RUP software?
What is the RUP software?What is the RUP software?
It uses UML as the principal notationIt uses UML as the principal notationfor the software models built.for the software models built.
What is the RUP software?What is the RUP software?
It uses UML as the principal notationIt uses UML as the principal notationfor the software models built.for the software models built.
It is founded on the philosophies andIt is founded on the philosophies andpractices of the Rational Unified Process.practices of the Rational Unified Process.
What is the RUP software?What is the RUP software?
What is the RUP software?What is the RUP software?
It is can be used as delivered for an It is can be used as delivered for an entire organization.entire organization.
What is the RUP software?What is the RUP software?
It is can be used as delivered for an It is can be used as delivered for an entire organization.entire organization.
It can be tailored to the specific It can be tailored to the specific needsneeds
of a software development team.of a software development team.
What is the RUP software?What is the RUP software?
What is the RUP software?What is the RUP software?
It is available in the 3It is available in the 3rdrd floor lab: floor lab:Program Files/Rational/Rational Unified ProcessProgram Files/Rational/Rational Unified Process
What is the RUP software?What is the RUP software?
It is available in the 3It is available in the 3rdrd floor lab: floor lab:
You can download an evaluation copyYou can download an evaluation copyfree from IBM’s Rational website: free from IBM’s Rational website:
www-306.ibm.com/software/awdtools/rup/ www-306.ibm.com/software/awdtools/rup/
Program Files/Rational/Rational Unified ProcessProgram Files/Rational/Rational Unified Process
What is the RUP software?What is the RUP software?
What is the RUP software?What is the RUP software?
• It is overwhelming.It is overwhelming.
What is the RUP software?What is the RUP software?
• It is overwhelming.It is overwhelming.
It is unlikely to be used productively byIt is unlikely to be used productively byanyone who gives it just a casual glance.anyone who gives it just a casual glance.
You can dart down one You can dart down one rabbit hole after the next. rabbit hole after the next. You can get lost and give You can get lost and give up. You can waste valuable up. You can waste valuable time getting nowhere. time getting nowhere.
Seeing is believing,Seeing is believing, so let’s go so let’s go dartingdarting down a few down a few rabbit rabbit holes holes . . . . . .
What good is it?What good is it?
What good is it?What good is it?
In 2003, more than 3,000 companies In 2003, more than 3,000 companies used the Rational Unified Process.used the Rational Unified Process.11
What good is it?What good is it?
In 2003, more than 3,000 companies In 2003, more than 3,000 companies used the Rational Unified Process.used the Rational Unified Process.11
Volvo, Xerox, Intel, Alcatel, Oracle, Volvo, Xerox, Intel, Alcatel, Oracle, Merrill Lynch, Schwab, CAP Gemini, Merrill Lynch, Schwab, CAP Gemini, Lockheed-Martin, British Aerospace,Lockheed-Martin, British Aerospace,and Visa, just to drop a few names.and Visa, just to drop a few names.11
What good is it?What good is it?
What good is it?What good is it?
Software organizations can use it toSoftware organizations can use it to advance to CMM Levels 2, advance to CMM Levels 2,
Repeatable Repeatable and Level-3, Defined, by relying on theand Level-3, Defined, by relying on the RUP software to help define andRUP software to help define and implement procedures to meet theimplement procedures to meet the goals of Key Process Areas.goals of Key Process Areas.2,32,3
What good is it?What good is it?
For example, the KPA “Requirements For example, the KPA “Requirements Management” gets implemented by Management” gets implemented by
Workflow: Requirements Workflow: Requirements Artifacts: Software RequirementsArtifacts: Software Requirements
Specification, Stakeholder RequestsSpecification, Stakeholder Requests and Vision, Requirements Attributes and Vision, Requirements Attributes
Worker: System AnalystWorker: System Analyst
What good is it?What good is it?
The KPA “Software Project Tracking The KPA “Software Project Tracking and Oversight” gets and Oversight” gets implemented by implemented by
Workflow: Project ManagementWorkflow: Project ManagementArtifacts: Iteration Plan, Risk ListArtifacts: Iteration Plan, Risk ListWorker: Project ManagerWorker: Project Manager
What good is it?What good is it?
RUP supports most of the KPAs for RUP supports most of the KPAs for achieving maturity level 2 and 3 achieving maturity level 2 and 3 except KPA ‘Software Subcontract except KPA ‘Software Subcontract Management’ and KPA ‘Training Management’ and KPA ‘Training Program’.Program’.
What good is it?What good is it?
What good is it?What good is it?
• It helps you apply the RUP It helps you apply the RUP techniques.techniques.
What good is it?What good is it?
• It helps you apply the RUP It helps you apply the RUP techniques.techniques.
If you are creating a UML design model,If you are creating a UML design model,it can tell you which diagrams to useit can tell you which diagrams to useand give you tips on how to set upand give you tips on how to set upyour model.your model.44
What good is it?What good is it?
What good is it?What good is it?
It provides team members a common It provides team members a common vocabulary, along with a collective vocabulary, along with a collective sense of what needs to be done.sense of what needs to be done.
What good is it?What good is it?
It gives team members a common It gives team members a common vocabulary, along with a collective vocabulary, along with a collective sense of what needs to be done.sense of what needs to be done.
It supports the team with a frameworkIt supports the team with a framework for organizing the project, for planningfor organizing the project, for planning
and executing iterative development.and executing iterative development.
What good is it?What good is it?
What good is it?What good is it?
It provides guidelines about the bestIt provides guidelines about the bestpractices in software development.practices in software development.
What good is it?What good is it?
It provides guidelines about the bestIt provides guidelines about the bestpractices in software development.practices in software development.
It helps you understand the activities, It helps you understand the activities, roles, and artifacts you may need on roles, and artifacts you may need on your project. your project.
What good is it?What good is it?
What good is it?What good is it?
One of the central concepts in the One of the central concepts in the Rational Unified Process is the Rational Unified Process is the rolerole..
What good is it?What good is it?
One of the central concepts in the One of the central concepts in the Rational Unified Process is the Rational Unified Process is the rolerole..
A A rolerole defines the responsibilities of an defines the responsibilities of anindividual working with other individualsindividual working with other individualsas a team in a software engineeringas a team in a software engineeringorganization.organization.
What good is it?What good is it?
What good is it?What good is it?
What good is it?What good is it?
Roles and Roles and Process Views Process Views
TerminologyTerminology
TerminologyTerminology
Process view = Process view =
TerminologyTerminology
Process view = Process view = (a combination of two words that have lost their
meaning?)
TerminologyTerminology
Process view = Process view =
TerminologyTerminology
Process view = a view of a Process view = a view of a workflowworkflow
TerminologyTerminology
Process view = a view of a Process view = a view of a workflowworkflow
View = a perspective on the modelView = a perspective on the model
TerminologyTerminology
Process view = a view of a workflowProcess view = a view of a workflow
View = a perspective on the modelView = a perspective on the model
Workflow = a set or sequence of Workflow = a set or sequence of taskstasks
TerminologyTerminology
Process view = Process view =
TerminologyTerminology
Process view = a set or sequence of Process view = a set or sequence of tasks someone with a tasks someone with a role to play sees as what role to play sees as what the model is all aboutthe model is all about
TerminologyTerminology
Process view = a set or sequence of Process view = a set or sequence of tasks someone with a tasks someone with a role to play sees as what role to play sees as what the model is all aboutthe model is all about
A role can represent a perspective.A role can represent a perspective.
Roles and Roles and Process Views Process Views In the navigation In the navigation
tree, RUP has a tree, RUP has a process view to show process view to show the tasks for a role the tasks for a role like a Manager, a like a Manager, a Designer, a Designer, a Developer, or a Developer, or a Tester. Tester.
What can I do with it?What can I do with it?
What can I do with it?What can I do with it?
• Customize the Navigation tree.Customize the Navigation tree.
What can I do with it?What can I do with it?
• Customize the Navigation tree.Customize the Navigation tree.
Access it from other Rational tools toAccess it from other Rational tools touse the “tool mentoring” tools. use the “tool mentoring” tools.
What can I do with it?What can I do with it?
• Customize the Navigation tree.Customize the Navigation tree.
• Configure it using RUP Builder.Configure it using RUP Builder.
Access it from other Rational tools toAccess it from other Rational tools touse the “tool mentoring” tools. use the “tool mentoring” tools.
What can I do with it?What can I do with it?
What can I do with it?What can I do with it?
Navigation TreeNavigation Tree
Navigation TreeNavigation TreeThe navigation tree isThe navigation tree ismore useful when youmore useful when youcustomize it. customize it.
So let’s customize it.So let’s customize it.
What can I do with it?What can I do with it?
What can I do with it?What can I do with it?
Tool Mentors Tool Mentors
Tool MentorsTool MentorsRequisiteProRequisiteProClearQuestClearQuestRational RoseRational RoseSoDASoDAPurifyPurifyVisual QuantifyVisual QuantifyTeamTestTeamTestPerformance StudioPerformance StudioClearCaseClearCase
Tool MentorsTool MentorsRequisiteProRequisiteProClearQuestClearQuestRational RoseRational RoseSoDASoDAPurifyPurifyVisual QuantifyVisual QuantifyTeamTestTeamTestPerformance StudioPerformance StudioClearCaseClearCase
A step-by-step A step-by-step guide telling guide telling you how to use you how to use a tool. What a tool. What menus to use, menus to use, what info to what info to enter in dialog enter in dialog boxes, and how boxes, and how to navigate. to navigate.
What can I do with it?What can I do with it?
What can I do with it?What can I do with it?
RUP BuilderRUP Builder
RUP BuilderRUP Builder 4 steps4 steps
RUP BuilderRUP Builder1. Describe 1. Describe
Configuration. Configuration.
RUP BuilderRUP Builder1. Describe 1. Describe
Configuration. Configuration. 2. Select Process.2. Select Process.
RUP BuilderRUP Builder1. Describe 1. Describe
Configuration. Configuration. 2. Select Process.2. Select Process.3. Edit Views.3. Edit Views.
RUP BuilderRUP Builder1. Describe 1. Describe
Configuration. Configuration. 2. Select Process.2. Select Process.3. Edit Views.3. Edit Views.4. Publish Process.4. Publish Process.
Let’s do it.Let’s do it.
How will it help me?How will it help me?
How will it help me?How will it help me?
Well, let’s take a look Well, let’s take a look at how it helped Volvo.at how it helped Volvo.
Assessment of RUPAssessment of RUP
How Volvo IT implemented How Volvo IT implemented RUP RUP
How the software capability of How the software capability of development team improveddevelopment team improved
Assessment of RUPAssessment of RUP
Evaluation criteria for selection among Evaluation criteria for selection among candidatescandidates
of application development processes:of application development processes:• Iterative processIterative process• The process must be configurable.The process must be configurable.• Global Training and SupportGlobal Training and Support• Well-established supplierWell-established supplier
• Selected the RUP to be application development Selected the RUP to be application development processprocess..
Assessment of RUPAssessment of RUP
The evaluation is done with customer The evaluation is done with customer representatives, the project manager representatives, the project manager and the project team when the RUPand the project team when the RUPproject is closed. project is closed.
A questionnaire was used as a A questionnaire was used as a way of way of
evaluating the RUP.evaluating the RUP.
Assessment of RUP at VolvoAssessment of RUP at Volvo
The questionnaire focuses on five areas: The questionnaire focuses on five areas:
1. RUP vs. “the traditional way of 1. RUP vs. “the traditional way of working”.working”.
2. The development process.2. The development process.3. Training. 3. Training. 4. Coaching and support. 4. Coaching and support. 5. The iterative approach.5. The iterative approach.
Assessment of RUP at VolvoAssessment of RUP at Volvo
The most important messages thatThe most important messages thatcame from the assessment are:came from the assessment are:
Assessment of RUP at VolvoAssessment of RUP at Volvo
The most important messages thatThe most important messages thatcame from the assessment are:came from the assessment are:
The focus on requirements and risksThe focus on requirements and risksduring the project is especiallyduring the project is especiallyappreciated.appreciated.
Assessment of RUP at VolvoAssessment of RUP at Volvo
The cost of maintaining the The cost of maintaining the applicationapplicationis expected to be lower compared tois expected to be lower compared tomaintaining an application developedmaintaining an application developedthe traditional way.the traditional way.
Assessment of RUP at VolvoAssessment of RUP at Volvo
To implement a new applicationTo implement a new applicationdevelopment process is an development process is an
investmentinvestmentin competence and must be in competence and must be
regardedregardedas a long-term improvement.as a long-term improvement.
Assessment of RUP at VolvoAssessment of RUP at VolvoResults from the use of Software Process Improvement Results from the use of Software Process Improvement and Capability dEtermination (SPICE) Framework: and Capability dEtermination (SPICE) Framework:
What should I know when I What should I know when I leave? leave? • What is the RUP software?What is the RUP software?
• What good is it?What good is it?
• What can I do with it?What can I do with it?
• How will it help me?How will it help me?
What should I know when I What should I know when I leave? leave?
What is the RUP software?What is the RUP software?
A vast set of HTML pages onA vast set of HTML pages on the Rational Unified Process.the Rational Unified Process.
What should I know when I What should I know when I leave? leave?
What good is it?What good is it?
Information and guidance on Information and guidance on using the Rational Unifed Process.using the Rational Unifed Process.
What should I know when I What should I know when I leave? leave?
What can I do with it?What can I do with it?
Configure it to your project using Configure it to your project using - Navigation Tree - Navigation Tree - Extended Help - Extended Help - RUP Builder - RUP Builder
What should I know when I What should I know when I leave? leave?
How will it help me?How will it help me?
It will keep you on track with It will keep you on track with thethe
Rational Unified Process.Rational Unified Process.
What should I know when I What should I know when I leave? leave? • What is the RUP software?What is the RUP software?
• What good is it?What good is it?
• What can I do with it?What can I do with it?
• How will it help me?How will it help me?
What should I know when I What should I know when I leave? leave?
What is the RUP software?What is the RUP software? - a set of HTML pages- a set of HTML pages
What good is it?What good is it?
What can I do with it?What can I do with it?
How will it help me?How will it help me?
What should I know when I What should I know when I leave? leave?
What is the RUP software?What is the RUP software? - a set of HTML pages- a set of HTML pages
What good is it?What good is it? - information and guidance- information and guidance
What can I do with it?What can I do with it?
How will it help me?How will it help me?
What should I know when I What should I know when I leave? leave?
What is the RUP software?What is the RUP software? - a set of HTML pages- a set of HTML pages
What good is it?What good is it? - information and guidance- information and guidance
What can I do with it?What can I do with it? - configure it to your project- configure it to your project
How will it help me?How will it help me?
What should I know when I What should I know when I leave? leave?
What is the RUP software?What is the RUP software? - a set of HTML pages- a set of HTML pages
What good is it?What good is it? - information and guidance- information and guidance
What can I do with it?What can I do with it? - configure it to your project- configure it to your project
How will it help me?How will it help me? - keep you on track with RUP- keep you on track with RUP
ReferencesReferences1.1. Kruchten, P., Kruchten, P., The Rational Unified Process An IntroductionThe Rational Unified Process An Introduction, 3rd edn., , 3rd edn.,
Pearson Education, Addison-Wesley, 2004, p. 31.Pearson Education, Addison-Wesley, 2004, p. 31.2.2. “Reaching CMM Levels 2 and 3 with the Rational Unified Process,” “Reaching CMM Levels 2 and 3 with the Rational Unified Process,”
Rational Software White Paper, Rational Software White Paper, http://www3.software.ibm.com/http://www3.software.ibm.com/ibmdl/pub/software/rational/web/whitepapers/ibmdl/pub/software/rational/web/whitepapers/. .
3.3. Reitzig, R. W., “Using Rational software solutions to achieve CMMI Reitzig, R. W., “Using Rational software solutions to achieve CMMI Level 2,” Level 2,” The Rational EdgeThe Rational Edge, Jan. 2003, , Jan. 2003, www.therationaledge.comwww.therationaledge.com..
4.4. Augustine, L., “Using the RUP successfully for small development Augustine, L., “Using the RUP successfully for small development projects,” projects,” The Rational EdgeThe Rational Edge, Sept. 2001, , Sept. 2001, www.therationaledge.comwww.therationaledge.com..
5.5. Grahn, G. V., and Karlsson, B., “Implementing RUP in an organization - Grahn, G. V., and Karlsson, B., “Implementing RUP in an organization - The Volvo IT approach,” Rational Software White Paper, The Volvo IT approach,” Rational Software White Paper, http://www3.software.ibm.com/ibmdl/pub/software/rational/web/http://www3.software.ibm.com/ibmdl/pub/software/rational/web/whitepapers/whitepapers/..
ReferencesReferences6.6. Kruchten, P., “What is the Rational Unified Process?” Kruchten, P., “What is the Rational Unified Process?” The The
Rational EdgeRational Edge, Feb. 2003, , Feb. 2003, www.therationaledge.comwww.therationaledge.com..7.7. Gronik, D., “IBM Rational Unified Process: best practices for Gronik, D., “IBM Rational Unified Process: best practices for
software development teams,” Rational Software White software development teams,” Rational Software White Paper, Paper, http://www3. http://www3. software.ibm.com/ibmdl/pub/software/rational/web/whitepapsoftware.ibm.com/ibmdl/pub/software/rational/web/whitepapers/ers/. .
8. 8. West, D., “Planning a project with the IBM Rational Unified West, D., “Planning a project with the IBM Rational Unified Process,” Rational Software White Paper, Process,” Rational Software White Paper, http://www3.software.ibm.com/http://www3.software.ibm.com/ibmdl/pub/software/rational/web/whitepapers/ibmdl/pub/software/rational/web/whitepapers/. .
9.9. IEEE Transactions on Software EngineeringIEEE Transactions on Software Engineering, 29(2): Feb., 29(2): Feb.(2003).(2003).