What You Didn t Know About RUP

Similar documents
The Unified Software Development Process

Introduction of RUP - The Rational Unified Process

Development Process Bennett, McRobb and Farmer 1

Unified Process and Testing with EasyAccept. Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information Systems February 22, 2007

Scaling Up & Scaling Down

7. Model based software architecture

Coverage Analysis and Improvement of the Role Definitions of the Bombardier Software Engineering Process

Process, Models, Methods, Diagrams Software Development Life Cyles. Part - II

Agility with the RUP. What Is the Rational Unified Process? by Philippe Kruchten Director of Process Development Rational Software

The good news. 34% of software projects succeed. Standish Group, CHAOS Report, 2003

The Top Thrill Dragster

Analyze, Design, and Develop Applications

Processes and Life- Cycles. Kristian Sandahl

Sistemi ICT per il Business Networking

Software Modeling & Analysis. - Fundamentals of Software Engineering - Software Process Model. Lecturer: JUNBEOM YOO

TOWARDS DEFINING SOFTWARE DEVELOPMENT PROCESSES IN DO-178B WITH OPENUP

The Macro Process Is the Micro Process

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

Chapter 1 Software Process

SRM UNIVERSITY FACULTY OF ENGINEERING AND TECHNOLOGY SCHOOL OF COMPUTING DEPARTMENT OF CSE COURSE PLAN

Unifying Systems and Software Teams: A Holistic Approach to Systems Development

Rational Unified Process

The Product Creation Process

Software Engineering Modern Approaches

1fJ.- HEWLETT. Architecting for Large-Scale Systematic Component Reuse. Martin L. Griss Software Technology Laboratories HPL July, 1998

Incorporating Model-Driven Techniques into Requirements Engineering for the Service-Oriented Development Process

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1

Chapter 3 Software Process Model

Software Processes. Objectives. Topics covered. The software process. Waterfall model. Generic software process models

Objectives. The software process. Topics covered. Waterfall model. Generic software process models. Software Processes

Topics covered. Software process models Process iteration Process activities The Rational Unified Process Computer-aided software engineering

IBM Rational Systems Strategy

SEI Architecture Techniques complementary to the RUP Stuart Kerrigan, Richard van Schelven Principal Engineers Data Networks

IBM Rational Systems Developer, Version 7.0

Software Development Methodologies

Quality Management of Software and Systems

The software process

Prof. Dr. Liggesmeyer, 1. Quality Management of Software and. Processes and QM. Systems. QMSS Processes and QM

A New Divide & Conquer Software Process Model

Agility, governance and productivity

Using RUP to manage small projects and teams

Software development activities

An Oracle White Paper February Oracle Unified Method (OUM) Oracle s Full Lifecycle Method for Deploying Oracle-Based Business Solutions

Pearson Education 2007 Chapter 1 (RASD 3/e)

Workshop Summary. Process Support of Software Product Lines

Software Lifecycle Models

Quality Management of Software and Systems: Processes and QM

03. Perspective Process Models

Software Reviews Since Acquisition Reform Architecture-Driven Considerations

ignoring agile, size and frequency, sales, , 280

[Name] [ ID] [Contact Number]

Architecture & Construction Keynote Architecture Management

RUP and XP Part II: Valuing Differences

Overcoming challenges to ensure success of outsourcing/offshore projects

A Framework for Integrating Sarbanes-Oxley Compliance into the Systems Development Process

MDA Overview Applied MDA

Expand application range with respect to consider the whole system. Consider state of the art and adapt actual regulations and standards

Object-Oriented and Classical Software Engineering

E-Procurement Reference Model for Small Government Department

Introduction to Software Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 06 09/08/2016

MAP INTERFACE FOR IOWA DEPARTMENT OF TRANSPORTATION S ACCESS-ALAS

MDA in the Federal Government

Software Engineering COMP 201

SUSE Unified Delivery Process

Component-Based Software Engineering. ECE493-Topic 5 Winter Lecture 27 Component Based Development Process (Part A)

The IBM Rational Software Development Platform

Iteration-Specific Requirements: More Control Where You Really Need It

DRAFT. Effort = A * Size B * EM. (1) Effort in person-months A - calibrated constant B - scale factor EM - effort multiplier from cost factors

Requirements Engineering

Agile Architecture And Design

Scale. Becoming a Lean Enterprise with IBM and SAFe

Accelerate modernization of enterprise assets using IBM s Rational Asset Analyzer

In-House Agile Training Offerings

The Product Manager and the Product Development Process. Martin Cagan Silicon Valley Product Group

SOA Governance is For Life, Not Just a Strategy

Object-Oriented and Classical Software Engineering THE SOFTWARE PROCESS 9/17/2017. CHAPTER 3 Slide 3.2. Stephen R. Schach. Overview Slide 3.

System and Software Engineering. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1

Note 10: Software Process

A lifecycle approach to systems quality: because you can t test in quality at the end.

Smart SOA in Action. Service-Oriented Architecture (SOA) for Business Process Management. IBM Software Group

Architecture Development Methodology for Business Applications

Component-based Development Process and Component Lifecycle

Pertemuan 2. Software Engineering: The Process

What you need for IoT: Smarter Methods

Major attributes of the Lifecycle. The Systems Development Lifecycle. Project phases. Planning. Design. Analysis

Software Development Methodologies. CSC 440: Software Engineering Slide #1

Umeå University Department of Computing Science SE UMEÅ SWEDEN

CSEPM - A Continuous Software Engineering Process Metamodel

Role of Technical Complexity Factors in Test Effort Estimation Using Use Case Points

V Model material adapted from Steve Easterbrook. Waterfall Model material adapted from Steve Easterbrook. Lifecycle of Software Projects

Accelerating Your DevOps Journey

A Hybrid Approach Using RUP and Scrum as a Software Development Strategy

Tuesday, October 25. Announcements

Introduction to Software Life Cycles and Agile. CSCI 5828: Foundations of Software Engineering Lecture 03 09/02/2014

Build It fast & Build It Right

Core Issues Affecting Software Architecture in Enterprise Projects

IBM s SOA Quality Management Strategy with Rational and Tivoli Terry Goldman Technical Evangelist Rational Software IBM ASEAN/SA

An Agile Projects Introduction Course #PMCurrent-1

IBM Rational Software

Software Development Life Cycle:

Transcription:

Clic k to IBM Software Group What You Didn t Know About RUP Ivar Jacobson IBM Rational ihjacobs@us.ibm.com Jaczone AB ivar@jaczone.com

Agenda What you may know about RUP What you should know about RUP RUP is futurized RUP for outsourcing Summary 2

Best 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 This is Rational Unified Process 3

Use Result-Oriented Process Waterfall Few risks, sequential Late integration and testing Fewer artifacts Internally imposed constraints Relatively few stakeholders Low ceremony Richer artifacts Externally imposed constraints Multiple Stakeholders High ceremony 4 Richer Average Process Process Lighter Process Iterative Risk driven Continuous integration and testing Rightsize the Process

Agenda What you may know about RUP What you should know about RUP RUP is futurized RUP for outsourcing Summary 5

6 Software 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?

From books? Here some Rational books 7 Authors: Ivar Jacobson Grady Booch Jim Rumbaugh Walker Royce Philippe Kruchten Dean Leffingwell Agneta Jacobson Nasser Kettani Magnus Christerson Maria Ericsson I Brian White Terry Quatrani Jim Conallen Gunnar Overgaard Murray Cantor

You 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 8

RUP 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 9

RUP is Process Engineered Role Activities Designer Find Design Classes Distribute Behavior Artifact responsible for Use Case Realization 10

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 11

RUP 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 12

RUP is Tool Supported RUP is a specification for tool support It defines the activities that need tool support It defines all artifacts used and produced The Rational Unified Process Requirements Analysis & Design Implementation Test tools tools tools tools Configuration & Change Management Project & Process Management 14

Process and Tools evolve together 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 Tools 15

Agenda What you may know about RUP What you should know about RUP RUP is futurized RUP for outsourcing Summary 16

RUP 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 17

1: Making Software Active (instead of Passive) Changing the World From Passive to Active Software 18

Automation in Perspective Feature/Cost Ratio Active Software Software Circuits Passive Software 19 1900 1950 2000 Year

Our Approach: Actions in Context Review Teach Apply Recognize Empower the user Propose Analyse 20

2: 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 Empower the developer A process engine in the hands of each developer and the whole team. 21

Agents and Software Developers access Expert Knowledge (existing/relevant) capture distill and interpret supports manage and reason Software Developer Role Agent apply Software System (under development) automate 22

3: Building Truly Extensible Systems with Aspects Today 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. 23

How would AOP help? AOP allows us to make the base program oblivious of the extensions ( aspects) ext p. 1 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 Base ext p. 2 ext p. 3 Figure from: Language Support for Changeable Large Real Time Systems, Ivar Jacobson, 1986 Extensions Aspects 24

Agenda What you may know about RUP What you should know about RUP RUP is futurized RUP for outsourcing Summary 25

RUP is Designed For Outsourcing When you outsource projects You want outsourcee to deliver a quality system Clear requirements Sound architecture RUP defines these artfacts 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 RUP defines roles and activities RUP defines phases and checkpoints 26

RUP Defines Roles and Activities RUP has well defined roles and activities Roles can be fulfilled by anyone Outsourcer Analyst Find Actors and Use Cases Simply map roles and activities to individuals or organizations Outsourcee Architect Architecture Analysis Mapping depends on outsourcee competence 27 Tester Execute Test

RUP Helps You Balance Resources Resources shift over the project As project risk decreases, and as outsourcee acquires more know how, they can do more Project Risk Inception Elaboration Construction Transition 28

You 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 29

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 Facilitation to do the mundane tasks for you 30

WayPointer and Your Environment MS-Word for Requirements Rose/XDE for Analysis Design WayPointer for Active Process Guidance 31

Agenda Modern Software Development What you may know about RUP What you should know about RUP RUP for outsourcing RUP is futurized Summary 32

Summary RUP is many things Huge Knowledge- Base Integral to Process Configurable Process Engineered Process Tool Supported Process Prepared for Light Rich Development Cases THE FUTURE A Technique For Outsourcing it needs a tool 33 WayPointer is such a tool

References 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 34

35 Other 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 Process Jacobson, Booch, Rumbaugh, Addison Wesley Longman (1999) The Road to the Unified Software Development Process Ivar Jacobson, Stefan Bylund, Cambridge University Press, 2000

Other Unified Process Books The Rational Unified Process - An Introduction Philippe Kruchten (Addison Wesley) Software Project Management - A Unified Framework Walker Royce (Addison Wesley) Visual Modeling with Rational Rose and UML Terry Quatrani (Addison Wesley). Success Stories These stories as well as customer videos are available on Rational.com See: http://programs.rational.com/success/ 36