Also, each phase has one key objective and milestone at the end that denotes the objective being accomplished. The primary objective is to scope the system adequately as a basis for validating initial costing and budgets. In this phase the business case which includes business context, success factors expected revenue, market recognition, etc.
To complement the business case, a basic use case model, project plan, initial risk assessment and project description the core project requirements, constraints and key features are generated. After these are completed, the project is checked against the following criteria:.
If the project does not pass this milestone, called the life cycle objective milestone, it either can be cancelled or repeated after being redesigned to better meet the criteria. The primary objective is to mitigate the key risk items identified by analysis up to the end of this phase. The elaboration phase is where the project starts to take shape.
In this phase the problem domain analysis is made and the architecture of the project gets its basic form.
- Beaded Cords Chains Straps & Fringe: A Beadwork Magazine?
- Glossary - Rational Unified Process!
- Unified Process and its Variants.
- The Rational Unified Process: An Introduction - PDF Free Download.
- Datapedia of the United States 1790-2005: America Year by Year?
This phase must pass the lifecycle architecture milestone criteria answering the following questions:. If the project cannot pass this milestone, there is still time for it to be canceled or redesigned. However, after leaving this phase, the project transitions into a high-risk operation where changes are much more difficult and detrimental when made.
The primary objective is to build the software system. In this phase, the main focus is on the development of components and other features of the system.
Explore our Catalog
This is the phase when the bulk of the coding takes place. In larger projects, several construction iterations may be developed in an effort to divide the use cases into manageable segments produce demonstrable prototypes. The primary objective is to 'transit' the system from development into production, making it available to and understood by the end user. The activities of this phase include training the end users and maintainers and beta testing the system to validate it against the end users' expectations.
The system also goes through an evaluation phase, any developer which is not producing the required work is replaced or removed. The product is also checked against the quality level set in the Inception phase. Not all phases result in an executable deliverable. In fact, only Implementation and Test phases may produce executable deliverables. With the exception of early Inception iterations, each iteration within each phase produces an executable deliverable.
A given waterfall phase employs a subset of team members who are skilled to perform related activities. This might lead to less than optimal resource utilization. Producing an executable deliverable at the end of most iterations within RUP phases requires activities from across multiple disciplines to be performed and therefore engages the entire team. The later section "Iteration Maturity Levels" discusses different iteration patterns that have worked well for certain organizations.
This section covers the important aspects of disciplines in the RUP. However, before we get into all the RUP details, let's see what the term discipline means and how and why it is one of the core components in the RUP. According to the Merriam-Webster dictionary, the term discipline is defined as follows:. As you can see, the term discipline has been historically used in relation to learning, teaching, controlling, and governing. Discipline is also defined as a controlled behavior expected to produce a specific improvement. Furthermore, it is defined as a pattern of behavior made up of a set of rules and methods.
The next section demonstrates how most of these definitions of discipline apply to RUP in one form or the other. Briefly, in RUP, a discipline is defined as a categorization of activities based on similarity of concerns and cooperation of work effort. A discipline is a collection of activities that are related to a major "area of concern" or "a field of study," as discussed earlier within the overall project. In RUP, an activity is a process element that supports the nesting and logical grouping of related process elements, such as a descriptor 2 and subactivities, thus forming breakdown structures.
The grouping of activities into disciplines is mainly an aid to understanding the project from a traditional waterfall perspective; that is, in a traditional waterfall project, your phases are called Requirements, Analysis, Design, Implementation, Testing, and so on. Therefore, within a waterfall project, you focus on a single discipline and associated artifacts for that discipline. For instance, when you have finished the Requirements phase of a waterfall project, you will gain final approval from the customer and move on to the next phase which, in most cases, is Analysis.
In the RUP, although it is more common to perform activities concurrently across several disciplines at any given point during the life of a project for example, certain Requirements activities are performed in close coordination with Analysis and Design activities , separating these activities into distinct disciplines is simply an effective way to organize content, which makes comprehension and learning easier.
In addition, because the skill-sets needed to perform the tasks in one area of concern are probably similar, logical grouping of these activities simplifies the way different roles are organized.follow
The Rational Unified Process: An Introduction
This enables us to align a small set of roles along discipline lines. According to one of the historical definitions, the term discipline is a field of study that allows us to learn about that field in detail. Software engineering can be considered one of the many disciplines of engineering. In the RUP, however, a discipline refers to a specific area of concern or a field of study, as mentioned earlier within software engineering. For instance, Analysis and Design is one of the disciplines in RUP, which is itself a field of study and requires dedicated learning and distinct skill-sets.
In addition, disciplines in RUP allow you to govern the activities you perform within that discipline. A discipline in RUP gives you all the guidance you require to learn not only when to perform a given activity but also how to perform it. Therefore, disciplines in RUP allow you to bring closely related activities under control.
We will see in detail how these related activities are governed and performed in an organized manner, not in isolation and not haphazardly. In fact, a recommended sequence should be followed to achieve optimal performance and maximize productivity and predictability. Note that although disciplines propose a recommended sequence of activities, these are truly performed in parallel with activities from other relevant based on where you are in the project lifecycle disciplines. During those sessions, the discipline workflows really proved helpful from the perspective of the involvement of a given role and the related activities to be performed across the RUP lifecycle.
The workflows helped the people with given roles appreciate the effort that was required within their discipline. A clear understanding of these relationships between roles and disciplines and the appreciation of how different roles from across different disciplines collaborate throughout the project lifecycle is important. It is crucial that you establish a clear understanding of this concept right from the beginning, and it will be helpful as you become immersed in the iterative development world.
To ensure that you understand this well, Figure shows the activities that are performed during an iteration within an Inception phase. Please look carefully at the activities in this figure and then compare it to the hump chart shown in Figure You will be able to appreciate the relationship between the height of humps and the activities as they are aligned for each discipline. Figure Inception iteration activities. The benefits provided by separating the RUP activities into various disciplines are summarized as follows.
- Explore our Catalog.
- Rational Unified Process - Wikiwand.
- Rational Unified Process (RUP) - apppm.
- A taste of heritage : Crow Indian recipes & herbal medicines.
- Protocols for Oligonucleotides and Analogs (Methods in Molecular Biology).
- The Fundamental Role of Teletraffic in the Evolution of Telecommunications Networks!
Therefore, a discipline in RUP is a collection of activities that are related to a major area of concern or field of study. Each activity is further decomposed into subactivities or one or many tasks. Tasks require an input artifact or artifacts for their successful execution, and these in turn produce or refine some form of output artifact s.
Note that these artifacts can include both document-based artifacts and executables. Each task has an associated role or roles responsible for performing that task. To provide additional support and guidance, each discipline in the base RUP offers a set of standard template artifacts related to that discipline.
The Rational Unified Process
Like other workflows, a discipline's workflow is a semi-ordered sequence of activities performed by specific roles to achieve a particular goal. This semi-ordered nature of discipline workflows emphasizes that they cannot present the nuances of scheduling "real work," because they cannot depict the optionality of activities or iterative nature of real projects.
Yet, they still have value as a way for us to understand the process by breaking it into smaller areas of concerns. Keep in mind that the RUP framework, which these workflows are part of, constitutes guidance on a rich set of software engineering principles. It is applicable to projects of different size and complexity, as well as to different development environments and domains. This means that no single project or organization will benefit from using all of RUP. Applying all of RUP will likely result in an inefficient project environment, where teams will struggle to keep focused on the important tasks and struggle to find the right set of information.
Thus, as discussed earlier in this chapter, it is recommended that RUP be tailored to provide an appropriate and customized process for developing software.
RUP (Rational Unified Process) Definition
It is important to understand that the sequence of activities in each of the workflows is based on best practices. It should not, by any stretch of the imagination, be taken as a mandatory sequence. As an important component of tailoring the RUP framework, these workflows should be customized to suit project or organizational needs.