Rational Unified Process (RUP
) is the general framework
that can be used to describe specific development process
The Three Amigos (Grady Booch, Ivar Jacobson and James Rumbaugh) are the primary authors of the Rational Unified Process. They created/reformulated UML (Unified Modeling Language) as a single complete notation for describing object models, thus the birth of RUP.
In the Unified Software Development Process
, the three stated that every software life cycle is a cycle over four phases in the following order: Inception
Phases of RUP in a Nutshell
The Inception Phase must contain whatever workflows necessary to get your clients to agree (keyword: agree, and not "to have sure knowledge") on the rough schedule of the project, rough architecture and on the objectives. If your clients really know how the process works, then little analysis will be required; if they need further orientation about the plan, then most probably you'll need more time for the analysis. Also, during this stage you will gather a significant fraction of the use cases; you need to focus on the central or the key.
Question answered in this phase: Do you and your client share the same idea with regards to the system?
The Elaboration Phase
of the Rational Unified Process focuses primarily on establishing and strengthening the software architecture
. This often consists between 2-4 iterations (I recommend 2-6 weeks per iteration, depending on the size of the team). In addition, during this phase the development team
isn't only creating single-use prototypes
but rather the code
are already part of the production- considerable portions of the final system. And since this is already part of the production subset of the final system, this is also treated the core architecture
of the system- resolving the high-risk elements, defining mostly what is needed and forecasting the overall schedule and resources of the project. This is also known as the executable architecture
or architectural baseline
Question answered in this phase:Do you have the architecture to construct the system?
The second to the last part, the Construction Phase is where you will push things up by giving the client the minimum system they need. Also during this phase, the use cases will be altered a little bit because the client already have an idea what the system look like and has provided the necessary inputs/feedback. Iterations won't change that much and the main focus is still on the identification of the smallest possible deliverable that can be incorporated during the first prototype to meet and accomodate some of the client's needs.
Question answered in this phase: Are you constructing the system?
The last one, Transition Phase
is where you will apply and incorporate all the feedbacks, inputs, comments and suggestions of the client to the system. Like in the Construction Phase, iterations won't change much but the system you are building for your client will surely undergo drastic changes because this is the part where your client is actually
using the system with the realization that it still needs more polishing (or worse, they may actually think that the system you built isn't really what they need).
Question answered in this phase: Are you attempting to get your client to take control of the system?
A thing or two about the Rational Unified Process:
* In RUP, you really don't have to do all the artifacts (documentations). You can choose artifacts that you deem necessary in your project.
* The essence of RUP is iterative development- every artifact/s always undergo a series of changes, whether it is brought about by your client's request or by the groups decision.
* The main idea behind RUP is build small, change small