what rup 040212 - TEMIDAbojan/IPIT_2014/literatura/dodatno/what_rup... · Derive requirements from...

35
IBM Software Group ® Clic k to What You Didn’t Know About RUP What You Didn’t Know About RUP Ivar Jacobson Ivar Jacobson IBM Rational [email protected] IBM Rational [email protected] Jaczone AB [email protected] Jaczone AB [email protected]

Transcript of what rup 040212 - TEMIDAbojan/IPIT_2014/literatura/dodatno/what_rup... · Derive requirements from...

IBM Software Group

®

Click to

What You Didn’t Know About RUPWhat You Didn’t Know About RUP

Ivar JacobsonIvar Jacobson

IBM Rational

[email protected]

IBM Rational

[email protected]

Jaczone AB

[email protected]

Jaczone AB

[email protected]

22 IBM Software Group |

AgendaAgenda

� What you may know about RUP

� What you should know about RUP

� RUP is futurized

� RUP for outsourcing

� Summary

� What you may know about RUP

� What you should know about RUP

� RUP is futurized

� RUP for outsourcing

� Summary

33 IBM Software Group |

Best Practices of Modern CBDBest Practices of Modern CBD

Use component architecture and

� Develop iteratively (result-based instead of activity-based management)

� Develop models with UML – MDD

� Make architecture first

� Derive requirements from business model

� Manage requirements with use cases

� Verify quality from the beginning

� Control changes

� Design for and with reuse

� Use result-oriented process with integral tools

Use component architecture and

� Develop iteratively (result-based instead of activity-based management)

� Develop models with UML – MDD

� Make architecture first

� Derive requirements from business model

� Manage requirements with use cases

� Verify quality from the beginning

� Control changes

� Design for and with reuse

� Use result-oriented process with integral tools

This is Rational Unified

Process

This is Rational Unified

Process

44 IBM Software Group |

Use Result-Oriented ProcessUse Result-Oriented Process

Richer artifactsExternally imposed constraints

Multiple Stakeholders

High ceremony

Richer artifactsExternally imposed constraints

Multiple Stakeholders

High ceremony

Fewer artifacts Internally imposed constraintsRelatively few stakeholders

Low ceremony

Fewer artifacts Internally imposed constraintsRelatively few stakeholders

Low ceremony

Waterfall

Few risks, sequential Late integration and testing

Waterfall

Few risks, sequential Late integration and testing

Iterative

Risk drivenContinuous integration and testing

Iterative

Risk drivenContinuous integration and testing

Lighter Process

Lighter Process

Average Process

Average Process

RicherProcess

RicherProcess

Rightsize the Process

Rightsize the Process

55 IBM Software Group |

AgendaAgenda

� What you may know about RUP

� What you should know about RUP

� RUP is futurized

� RUP for outsourcing

� Summary

� What you may know about RUP

� What you should know about RUP

� RUP is futurized

� RUP for outsourcing

� Summary

66 IBM Software Group |

Software development has never been as complexSoftware development has never been as complex

� You need to know about� Programming languages and environments

� Systemware and middleware – J2EE, .NET, database management systems, Websphere,

� Packaged solutions, webservices, legacy systems

� Business modeling, requirements, analysis, design, coding, test

� Workflow spec languages, UML, XML,..

� Configuration management, project management

� Process and process configuration

� All kinds of tools

� Etc.

� Where do you learn all this? ☺

� You need to know about� Programming languages and environments

� Systemware and middleware – J2EE, .NET, database management systems, Websphere,

� Packaged solutions, webservices, legacy systems

� Business modeling, requirements, analysis, design, coding, test

� Workflow spec languages, UML, XML,..

� Configuration management, project management

� Process and process configuration

� All kinds of tools

� Etc.

� Where do you learn all this? ☺

77 IBM Software Group |

From books? Here some Rational booksFrom books? Here some Rational books

Ivar Jacobson | Grady Booch | Jim Rumbaugh | Walker RoycePhilippe Kruchten | Dean Leffingwell | Agneta Jacobson

Nasser Kettani | Magnus Christerson | Maria Ericsson I Brian WhiteTerry Quatrani | Jim Conallen | Gunnar Overgaard | Murray Cantor

Ivar Jacobson | Grady Booch | Jim Rumbaugh | Walker RoycePhilippe Kruchten | Dean Leffingwell | Agneta Jacobson

Nasser Kettani | Magnus Christerson | Maria Ericsson I Brian WhiteTerry Quatrani | Jim Conallen | Gunnar Overgaard | Murray Cantor

Authors:Authors:

88 IBM Software Group |

You need 30 books or soYou need 30 books or so

� Books written by different authors

� Books written with different terminology and approach

� Overlapping, conflicting

� Books with 30 different focus

� Nobody can read 30 books

� No single book has it all

� Books written by different authors

� Books written with different terminology and approach

� Overlapping, conflicting

� Books with 30 different focus

� Nobody can read 30 books

� No single book has it all

99 IBM Software Group |

RUP is a Huge KnowledgebaseRUP is a Huge Knowledgebase

� RUP is a huge knowledge base

� Covering most lifecycle activities from business modeling to deployment

� Covering cross-lifecycle activities – project mgmt, configuration mgmt, development environment

� Nobody reads it all

� But it is there ready to access

� RUP is a huge knowledge base

� Covering most lifecycle activities from business modeling to deployment

� Covering cross-lifecycle activities – project mgmt, configuration mgmt, development environment

� Nobody reads it all

� But it is there ready to access

1010 IBM Software Group |

RUP is Process EngineeredRUP is Process Engineered

Distribute BehaviorFind DesignClasses

Designer

Use Case Realization

Role Activities

Artifact responsible for

1111 IBM Software Group |

Why is RUP engineered?Why is RUP engineered?

To get to the depth and breadth required to really provide substantial knowledge we need a team to develop the process in collaboration

� The process team needs to understand the process

� We want to

� Understand it as well

� Configure the process

� Specialize it

� Extend it – all the time

� We want to understand what kind of tools we need to efficiently develop software

To get to the depth and breadth required to really provide substantial knowledge we need a team to develop the process in collaboration

� The process team needs to understand the process

� We want to

� Understand it as well

� Configure the process

� Specialize it

� Extend it – all the time

� We want to understand what kind of tools we need to efficiently develop software

1212 IBM Software Group |

RUP is a Configurable ProcessRUP is a Configurable Process

It is a Process Framework

� Configurable to the needs and constraints of the organization

� Our technique for modeling process has evolved into an OMG standard -- SPEM

It is a Process Framework

� Configurable to the needs and constraints of the organization

� Our technique for modeling process has evolved into an OMG standard -- SPEM

1414 IBM Software Group |

� RUP is a specification for tool support

� It defines the activities that need tool support

� It defines all artifacts used and produced

� RUP is a specification for tool support

� It defines the activities that need tool support

� It defines all artifacts used and produced

RUP is Tool Supported

The Rational Unified Process

Requirements

tools

Analysis & Design

tools

Implementation

tools

Test

tools

Configuration &

Change Management

Project & Process

Management

1515 IBM Software Group |

� RUP and supporting tools will evolve integral to one another

� A process of model Y2000 is just an academic exercise if tools are not developed concurrently

� It will be deeply integrated with tools from many sources

� RUP and supporting tools will evolve integral to one another

� A process of model Y2000 is just an academic exercise if tools are not developed concurrently

� It will be deeply integrated with tools from many sources

Process and Tools evolve together

RUP

Tools

1616 IBM Software Group |

AgendaAgenda

� What you may know about RUP

� What you should know about RUP

� RUP is futurized

� RUP for outsourcing

� Summary

� What you may know about RUP

� What you should know about RUP

� RUP is futurized

� RUP for outsourcing

� Summary

1717 IBM Software Group |

RUP is FuturizedRUP is Futurized

In many ways, my personal top favorites are:

1. Making Software Active (instead of Passive)

2. Making Software Process Active

3. Building Truly Extensible Systems with Aspects

In many ways, my personal top favorites are:

1. Making Software Active (instead of Passive)

2. Making Software Process Active

3. Building Truly Extensible Systems with Aspects

1818 IBM Software Group |

Changing the World

From Passive to Active Software

1: Making Software Active (instead of Passive)1: Making Software Active (instead of Passive)

1919 IBM Software Group |

CircuitsCircuits

SoftwareSoftware

ActiveActive

SoftwareSoftware

Year1900 1950 2000

Automation in PerspectiveAutomation in Perspective

Feature/Cost

Ratio

PassivePassive

SoftwareSoftware

2020 IBM Software Group |

Review

Apply

Propose Analyse

Recognize

Teach

Our Approach: Actions in ContextOur Approach: Actions in Context

Empower

the user

2121 IBM Software Group |

2: Making Software Process Active2: Making Software Process Active

Software development has never been

as hard as today – we need to SIMPLIFY� Minimal training – learn as you go

� Make process invisible – yet very present

� Make it personal, make it light• Without sacrificing quality

� Give them context-dependent, concrete advices

� Make people collaborate

� Let them focus on creative tasks

A process engine in the hands of each developer and the whole team.

Empower the developer

2222 IBM Software Group |

Agents and Software DevelopersAgents and Software Developers

Expert Knowledge

(existing/relevant)

distill and

interpret

access

apply

Software

Developer

Software System

(under development)

Role Agent

manage and

reason

capture

automate

supports

2323 IBM Software Group |

3: Building Truly Extensible Systems with Aspects

� Consider a new feature for a base program

� Identify a location in the base program where you want to insert the new behavior

� Code the new behavior and insert it at the location in the base program

� The base program has been changed. The new feature was invasive to the base.

� Consider a new feature for a base program

� Identify a location in the base program where you want to insert the new behavior

� Code the new behavior and insert it at the location in the base program

� The base program has been changed. The new feature was invasive to the base.

TodayToday

2424 IBM Software Group |

How would AOP help?

AOP allows us to make the base program oblivious of the extensions (≈ aspects)

ext p. 1

ext p. 3

ext p. 2

________________________________

________________________________

________________________________

Base

Extensions

≈ Aspects

� AOP allows us to weave back extensions before execution

� UML has already support for extensions in use case modeling

• we need to extend UML to allow extensions between arbitrary design and implementation elements

� AOP allows us to keep use cases separate all the way

Figure from: Language Support for Changeable Large Real Time Systems, Ivar Jacobson, 1986

________________________________________________________________________________

2525 IBM Software Group |

AgendaAgenda

� What you may know about RUP

� What you should know about RUP

� RUP is futurized

� RUP for outsourcing

� Summary

� What you may know about RUP

� What you should know about RUP

� RUP is futurized

� RUP for outsourcing

� Summary

2626 IBM Software Group |

RUP defines these artfacts

RUP defines roles and activities

RUP defines phases and checkpoints

RUP is Designed For OutsourcingRUP is Designed For Outsourcing

� When you outsource projects

� You want outsourcee to deliver a quality system• Clear requirements

• Sound architecture

� You want outsourcee to run project effectively• They know what to do

• They know what to report

� You want to track progress• Well defined milestones

• Checkpoints and criteria

� When you outsource projects

� You want outsourcee to deliver a quality system• Clear requirements

• Sound architecture

� You want outsourcee to run project effectively• They know what to do

• They know what to report

� You want to track progress• Well defined milestones

• Checkpoints and criteria

2727 IBM Software Group |

RUP Defines Roles and ActivitiesRUP Defines Roles and Activities

� RUP has well defined roles and activities

� Roles can be fulfilled by anyone

� RUP has well defined roles and activities

� Roles can be fulfilled by anyone

Outsourcer

Outsourcee

Analyst

Architect

Find Actors and Use Cases

Architecture Analysis

TesterExecute Test

Simply map roles and activities to individuals or organizations

Mapping depends on outsourceecompetence

2828 IBM Software Group |

RUP Helps You Balance ResourcesRUP Helps You Balance Resources

� Resources shift over the project

� As project risk decreases, and as outsourcee acquires more know how, they can do more

� Resources shift over the project

� As project risk decreases, and as outsourcee acquires more know how, they can do more

Inception Elaboration Construction Transition

Project Risk

2929 IBM Software Group |

You Still Need to Track the Progress DeligentlyYou Still Need to Track the Progress Deligently

� Even if you have your own developers

� They can run wild if left unchecked

� Problem is more apparent with outsourcee in a different geography, culture

� You must check the work regularly

� Artifacts grow over time, more things to review

� Repeated errors

� You need tools to help

� Not just IDEs, or Modeling Tools

� But tool to ensure process is adhered

� WayPointer

� Even if you have your own developers

� They can run wild if left unchecked

� Problem is more apparent with outsourcee in a different geography, culture

� You must check the work regularly

� Artifacts grow over time, more things to review

� Repeated errors

� You need tools to help

� Not just IDEs, or Modeling Tools

� But tool to ensure process is adhered

� WayPointer

3030 IBM Software Group |

What Is WayPointer?What Is WayPointer?

Active Guidance to help you draft the initial

artifacts

Active Observation to you selectively focus on risk

areas and conduct rigorous check

Active Facilitationto do the mundane tasks for you

3131 IBM Software Group |

WayPointer and Your EnvironmentWayPointer and Your Environment

MS-Word for Requirements

Rose/XDE for Analysis Design

WayPointer for Active Process

Guidance

3232 IBM Software Group |

AgendaAgenda

� Modern Software Development

� What you may know about RUP

� What you should know about RUP

� RUP for outsourcing

� RUP is futurized

� Summary

� Modern Software Development

� What you may know about RUP

� What you should know about RUP

� RUP for outsourcing

� RUP is futurized

� Summary

3333 IBM Software Group |

SummarySummary

� RUP is many things� RUP is many things

Huge Knowledge-Base Integral to Process

Huge Knowledge-Base Integral to Process Tool Supported

Process

Tool Supported Process

Engineered Process Light

Rich

Development Cases

Configurable Process

Prepared for

THE FUTURE

Prepared for

THE FUTURE

� A Technique For Outsourcing – it needs a tool

� WayPointer is such a tool

� A Technique For Outsourcing – it needs a tool

� WayPointer is such a tool

3434 IBM Software Group |

ReferencesReferences

� Making Software Process Execute

� Call for Expert Systems, Ivar Jacobson & Stefan Bylund, Application Development Trends, June 2002, http://www.adtmag.com/article.asp?id=3680

� A Multi-Agent System Assisiting Software Developers, Ivar Jacobson & Stefan Bylund, See www.jaczone.com/papers

� Building Extensible Systems

� Language Support for Changeable Large Real Time Systems,Ivar Jacobson, Proceedings of OOPSLA’86, pp 377-384, Sep 1986

� Use Cases and Aspects – Working Together, Ivar Jacobson, soon to be published

� Making Software Process Execute

� Call for Expert Systems, Ivar Jacobson & Stefan Bylund, Application Development Trends, June 2002, http://www.adtmag.com/article.asp?id=3680

� A Multi-Agent System Assisiting Software Developers, Ivar Jacobson & Stefan Bylund, See www.jaczone.com/papers

� Building Extensible Systems

� Language Support for Changeable Large Real Time Systems,Ivar Jacobson, Proceedings of OOPSLA’86, pp 377-384, Sep 1986

� Use Cases and Aspects – Working Together, Ivar Jacobson, soon to be published

3535 IBM Software Group |

Other Readings by Ivar JacobsonOther Readings by Ivar Jacobson

� Object-Oriented Software Development--A Use Case Driven Approach (Addison Wesley)Jacobson et al, Addison Wesley Longman (1992)

� The Object Advantage: Business Process Reengineering with Objects (Addison Wesley)Jacobson et al, Addison Wesley Longman (1994)

� Software Reuse: Architecture, Process and Organization for Business Success (Addison Wesley) Ivar Jacobson, Martin Griss & Patrik Jonsson, Addison Wesley Longman (1997)

� Unified Software Development ProcessJacobson, Booch, Rumbaugh, Addison Wesley Longman (1999)

� The Road to the Unified Software Development Process Ivar Jacobson, Stefan Bylund, Cambridge University Press, 2000

� Object-Oriented Software Development--A Use Case Driven Approach (Addison Wesley)Jacobson et al, Addison Wesley Longman (1992)

� The Object Advantage: Business Process Reengineering with Objects (Addison Wesley)Jacobson et al, Addison Wesley Longman (1994)

� Software Reuse: Architecture, Process and Organization for Business Success (Addison Wesley) Ivar Jacobson, Martin Griss & Patrik Jonsson, Addison Wesley Longman (1997)

� Unified Software Development ProcessJacobson, Booch, Rumbaugh, Addison Wesley Longman (1999)

� The Road to the Unified Software Development Process Ivar Jacobson, Stefan Bylund, Cambridge University Press, 2000

3636 IBM Software Group |

Other Unified Process BooksOther Unified Process Books

� The Rational Unified Process - An IntroductionPhilippe Kruchten (Addison Wesley)

� Software Project Management - A Unified FrameworkWalker Royce (Addison Wesley)

� Visual Modeling with Rational Rose and UMLTerry Quatrani (Addison Wesley).

� The Rational Unified Process - An IntroductionPhilippe Kruchten (Addison Wesley)

� Software Project Management - A Unified FrameworkWalker Royce (Addison Wesley)

� Visual Modeling with Rational Rose and UMLTerry Quatrani (Addison Wesley).

Success StoriesSuccess Stories

These stories as well as customer videos are available on Rational.com

� See: http://programs.rational.com/success/

These stories as well as customer videos are available on Rational.com

� See: http://programs.rational.com/success/