RUP hump

Last updated
RUP phases and disciplines. Development-iterative.png
RUP phases and disciplines.

A RUP ‘hump’ is a plot of effort spent over time during a particular Rational Unified Process (RUP) discipline. The RUP hump chart consists of a collection of humps for all RUP disciplines. This diagram was created in 1993 during a workshop on architecture and process [1] and was inspired by work by Grady Booch [2] and Boehm. [3] [4] It has been part of the Rational Objectory Process after reviews by Dyrhage and Bylund and moved on to play a more important role in the RUP in 1998 when it served as the initial page for using the digital version of the process. [1] Its final form was published by Philippe Kruchten in 1998. [5] An older version as later used by Jacobson, Booch and Rumbaugh [6] and an altered version was used by Royce. [7]

The Rational Unified Process (RUP) is an iterative software development process framework created by the Rational Software Corporation, a division of IBM since 2003. RUP is not a single concrete prescriptive process, but rather an adaptable process framework, intended to be tailored by the development organizations and software project teams that will select the elements of the process that are appropriate for their needs. RUP is a specific implementation of the Unified Process.

Grady Booch American software engineer

Grady Booch is an American software engineer, best known for developing the Unified Modeling Language (UML) with Ivar Jacobson and James Rumbaugh. He is recognized internationally for his innovative work in software architecture, software engineering, and collaborative development environments.

Philippe Kruchten is a Canadian software engineer, and Professor of Software Engineering at University of British Columbia in Vancouver, Canada, known as Director of Process Development (RUP) at Rational Software, and developer of the 4+1 Architectural View Model.

Over the years, this diagram has become increasingly connected with RUP, so that sometimes it is regarded as a logo for the process. The chart has then since been spread widely over the Internet. A known misconception about the hump chart is, that it is based on empirical assessment of actual projects rather than on Kruchten's educated guess.

...I always insisted that these humps were just illustrative, as well as the number and duration of iterations shown on the horizontal axis, but many people wanted to read much more meaning in that diagram than I intended. For example, a gentleman from Korea once wrote me to ask for a large original diagram to measure the heights, and ‘integrate' the area under the humps, to help him do project estimation...

Recently Werner Heijstek and Michel R.V. Chaudron [8] investigated the extent to which the original model is correct. Their findings include data from industrial software engineering projects.

Related Research Articles

Booch method

The Booch method is a method for object-oriented software development. It is composed of an object modeling language, an iterative object-oriented development process, and a set of recommended practices.

Object-modeling language

An object-modeling language is a standardized set of symbols used to model a software system using an object-oriented framework. The symbols can be either informal or formal ranging from predefined graphical templates to formal object models defined by grammars and specifications.

Unified Modeling Language general-purpose, developmental, modeling language in the field of software engineering

The Unified Modeling Language (UML) is a general-purpose, developmental, modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system.

Waterfall model

The waterfall model is a relatively linear sequential design approach for certain areas of engineering design. In software development, it tends to be among the less iterative and flexible approaches, as progress flows in largely one direction through the phases of conception, initiation, analysis, design, construction, testing, deployment and maintenance.

Spiral model risk-driven process model for software projects

The spiral model is a risk-driven software development process model. Based on the unique risk patterns of a given project, the spiral model guides a team to adopt elements of one or more process models, such as incremental, waterfall, or evolutionary prototyping.

Object-modeling technique

The object-modeling technique (OMT) is an object modeling approach for software modeling and designing. It was developed around 1991 by Rumbaugh, Blaha, Premerlani, Eddy and Lorensen as a method to develop object-oriented systems and to support object-oriented programming. OMT describes object model or static structure of the system.

Rational Machines was founded by Paul Levy and Mike Devlin in 1981 to provide tools to expand the use of modern software engineering practices, particularly explicit modular architecture and iterative development. It changed its name in 1994 to Rational Software, and was sold for US$2.1 billion to IBM on February 20, 2003.

Watts S. Humphrey was an American pioneer in software engineering, who was called the "father of software quality."

James E. Rumbaugh is an American computer scientist and object-oriented methodologist who is best known for his work in creating the Object Modeling Technique (OMT) and the Unified Modeling Language (UML).

Ivar Hjalmar Jacobson is a Swedish computer scientist and software engineer, known as major contributor to UML, Objectory, Rational Unified Process (RUP), aspect-oriented software development and Essence.

Object-oriented analysis and design (OOAD) is a popular technical approach for analyzing and designing an application, system, or business by applying object-oriented programming, as well as using visual modeling throughout the development life cycles to foster better stakeholder communication and product quality.

Activity diagram diagram that models activity and process flows

Activity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams are intended to model both computational and organizational processes, as well as the data flows intersecting with the related activities. Although activity diagrams primarily show the overall flow of control, they can also include elements showing the flow of data between activities through one or more data stores.

Objectory Systems was a software company based in Sweden that was instrumental in the development of Object-oriented program design. Founded in 1987 by Ivar Jacobson, the company developed Objectory, an object-oriented development method which was an extension of what is known as the Ericsson Approach, a modeling language developed at Ericsson. This language featured state charts with activity diagrams, as well as sequence diagrams.

Unified Process

The Unified Software Development Process or Unified Process is an iterative and incremental software development process framework. The best-known and extensively documented refinement of the Unified Process is the Rational Unified Process (RUP). Other examples are OpenUP and Agile Unified Process.

The UPEDU or Unified Process for Education is a software development process specialized for education, developed by Pierre-N. Robillard, Philippe Kruchten and Patrick d'Astous.

Metadata modeling

Metadata modeling is a type of metamodeling used in software engineering and systems engineering for the analysis and construction of models applicable to and useful for some predefined class of problems.

Winston W. Royce American software engineer

Winston Walker Royce was an American computer scientist, director at Lockheed Software Technology Center in Austin, Texas. He was a pioneer in the field of software development, known for his 1970 paper from which the Waterfall model for software development was mistakenly drawn.

References

  1. 1 2 P. Kruchten. A brief history of the RUP’s “hump chart”. Technical report, University of British Columbia, 2003.
  2. G. Booch. Object solutions: managing the object-oriented project. Addison Wesley Longman Publishing Co., Inc., Redwood City, CA, USA, 1995.
  3. B. Boehm. A spiral model of software development and enhancement. SIGSOFT Softw. Eng. Notes, 11(4):14–24, 1986.
  4. B. W. Boehm. A spiral model of software development and enhancement. Computer, 21(5):61–72, 1988.
  5. P. Kruchten. The Rational Unified Process: An Introduction. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2003.
  6. I. Jacobson, G. Booch, and J. Rumbaugh. The unified software development process. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1999.
  7. W. Royce. Software project management: a unified framework. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1998.
  8. W. Heijstek and Michel R. V. Chaudron (2008) Evaluating RUP Software Development Processes Through Visualization of Effort Distribution, 34th Euromicro Conference on Software Engineering and Advanced Applications (SEAA 2008) Parma, Italy