Created by Rational Software (which was later acquired by IBM), the Rational Unified Process (RUP) is an iterative development process that seeks to increase development agility by providing a flexible, best practice based life cycle management framework. RUP prescribes the utilization of nine key disciplines extended across four main project phases. Those phases are:
- Inception Phase – During the inception phase you establish the business case, conduct an impact analysis, identify key use cases, and outline the high level scope for the project.
- Elaboration Phase – During the elaboration phase you analyze the systems landscape and work to design a well architected foundation for the product, build a project plan, and mitigate as many high risk elements of the project as possible.
- Construction Phase – During the construction phase the majority of the development work is completed, all applications components and features are integrated and end-to-end testing is executed.
- Transition Phase – During the transition phase you introduce the product to the end-users, evaluate responses, remediate bugs or defects, and finish any incomplete features.
The nine disciplines are:
- Model. The goal of this discipline is to understand the business of the organization, the problem domain being addressed by the project, and to identify a viable solution to address the problem domain.
- Requirements. The goal of this discipline is to elicit stakeholder feature/function requirements in order to define the scope of the project.
- Analysis and Design. The goal of this discipline is to define the requirements into actionable and executable designs and models.
- Implementation. The goal of this discipline is to transform your model(s) into executable code and to perform a basic level of testing, in particular unit testing.
- Test. The goal of this discipline is to perform an objective evaluation to ensure quality. This includes finding defects, validating that the system works as designed, and verifying that the requirements are met.
- Deployment. The goal of this discipline is to plan for the delivery of the system and to execute the plan to make the system available to end users.
- Configuration Management. The goal of this discipline is to manage access to your project artifacts. This includes not only tracking artifact versions over time but also controlling and managing changes to them.
- Project Management. The goal of this discipline is to direct the activities that takes place on the project. This includes managing risks, directing people (assigning tasks, tracking progress, etc.), and coordinating with people and systems outside the scope of the project to be sure that it is delivered on time and within budget.
- Environment. The goal of this discipline is to support the rest of the effort by ensuring that the proper process, guidance (standards and guidelines), and tools (hardware, software, etc.) are available for the team as needed.
Turn words into action by taking an introductory course in Agile. Check out our upcoming Certified ScrumMaster training courses.