Unified software process, an incremental and iterative approach to software development.

Unified Process (UP) or Unified Software Process is an iterative and incremental approach to software development. This model is heavily based on use cases. A use case is how two or more entities interact with each other. When you receive a list of requirements by a customer, each one of these requirements can be turned into a use case. These use cases need to be specific on what they do so the output can be measured. Some examples of use cases are uploading an assignment, adding an item to a shopping cart, paying for the items in the shopping cart. All these functionalities are iterations. Another characteristic is that UP is architecture-centric. This means that a great part of the work done is to create a blueprint of the software system, defining the different technologies that are going to be used, choosing a programming language, etc. Coding takes a secondary role. Another benefit of UP is that it tries to identify risk as fast as possible so the high-risk factors can be addressed first

UP has variations, and the one that will be talked with more detail in this post is Rational Unified Process (RUP). RUP took inspiration from previous iterative software development models. It was created by Rational Software Corporation, which was bought by IBM in 2003 and became a division of that same company. While RUP has a set of phases and steps, it is designed to be an adaptive model, so you can tailor it to the specific needs of your project. RUP is made based on six fundamental best practices:

  • Develop software iteratively: encourages working on high-risk factors on every step of the development.
  • Manage requirements: keeping track of requirements, documentation and business requirements.
  • Use component-based architectures: puts emphasis on using components that are reusable on this project and future ones.
  • Visually model software: representing the project visually with components and the relations between them.
  • Verify software quality: tests design and implementation during the whole cycle.
  • Control changes to software: tracks all changes that have occurred with the software, and even changed that will inevitably occur.

There are four main phases in RUP. First, inception, which is when the idea is born and it’s decided if it’s worth pursuing it. Second, elaboration, the requirements along with the cost of the project are calculated, possible applications to use during the implementation are also decided. Third, construction, this is where most of the coding happens. The software is designed, written and tested. Finally, transition, When the software is finally released to the public, future updates are based on user feedback.

With RUP, companies have a structured way to create software. It prevents losing big amounts of time and money due to unforeseen risks. The following video explains RUP clearly in a short time.

One other popular variation of UP is Open Unified Process (OpenUP), which is tied to the agile philosophy. It is of a collaborative nature and is based on micro-increments.

Thanks to Unified Processes, it will be easier for companies to develop software, or hire a company to develop it for them. The company can choose the variation of UP that best ties to its needs.

Leave a comment

Design a site like this with WordPress.com
Get started