Subscribe by Email


Showing posts with label Agile Unified Process. Show all posts
Showing posts with label Agile Unified Process. Show all posts

Sunday, October 19, 2014

How is Agile Unified Process (AUP) different from Rational Unified Process (RUP) ?

Agile Unified Process uses Agile Modelling, which is used for describing the modelling and documentation process based on agile disciplines. The Rational Unified Process (RUP) is also an agile methodology. Here we highlight the differences between the two. Both of these processes are divided into disciplines or workflows, which are carried out in iterations. Agile Unified Process (AUP) is derived from RUP, and we can say it is a simpler version of it. There are 3 disciplines followed by RUP i.e., Modelling, Requirements and Analysis and Design. The AUP being the simple version combines all of them into one discipline. It is because of this that it is easy for the RUP teams to migrate to AUP if they want to. Thus RUP is very flexible and can be merged with agile modeling practices.

> Active stakeholder participation: In RUP projects, stakeholders including customers, users, managers and operators, are often involved as a part of the project disciplines. It is necessary for the team to assign modelling roles like requirements specifier, business process designer etc., to the participating stakeholders. The activeness of the stakeholders is related to less requirement of feedback in the Agile Unified Process.

> Agile Modelling Standards: A significant part in AUP is played by the UML (Unified Modelling Language) diagrams. For maintaining its agility, the agile teams often blend the standards and the guidelines together. On the other side, in an RUP project, the guidelines to be adopted by the teams for creating modelling artifacts are included.

> Gentle application of the patterns: The AUP teams get the full freedom for choosing which modelling patterns to use. However, in RUP, these patterns are defined by the product depending on the modelling disciplines being followed. This practice has led to an enhancement in the performance of Agile Unified Process by easing the way to apply patterns. But, this concept is not as explicit as it should be.

> Application of the right artifacts: The advice for creation of various types of models is provided by the AUP and it is one of its strengths. The recent version of the RUP also provides plenty of advice on creating non – UML artifacts (UI flow diagrams, data models etc.).

> Collective ownership: This concept of Agile Modelling is used for making enhancements in the projects developed using AUP. But, it has to be assumed that the open communication is supported by the team culture. Along with supporting this concept, AUP lays strong stress on issues concerning configuration management. Therefore, the change management processes sometimes can be a hurdle in path of development.

> Parallel creation of several models: This is an important concept of UP. The team is required to check the activitiy diagrams corresponding to each discipline and see if they are being worked up on in parallel. But there is an issue with UP which is that the flow diagrams do not explain this well.

> Creation of the simple content: The simplicity is assumed by the developers. The team needs to adopt the guidelines stating the use of simple models and also the customers must be happy with this. However, many organizations often find it difficult to adopt this culture.

> Temporary models should be discarded: The AUP team is free to decide which models to discard and which models to keep. Travelling light also helps in maintaining simplicity.

> Public display of models: Models should be displayed publicly for facilitating open communication. This way all the artifacts will be available to all the stakeholders


Saturday, October 18, 2014

What is Agile Unified Process (AUP) ?

Rational Unified Process, when simplified, gives rise to AUP or Agile Unified Process. Its developer – Scott Ambler, describes it as a simple and very easy to understand methodology for development of application software for business. The agile unified process makes use of agile concepts and techniques but remains true to its origin i.e., the Rational Unified Process. Various agile techniques are employed by Agile Unified Process for developing software:
> Test driven development (TDD)
> Agile modelling (AM)
> Agile change management
> Database refactoring

All these techniques help AUP in delivering its 100 percent productivity. In 2011 the AUP was considered to be 1 percent of the whole agile methodology. In 2012 DAD or Disciplined Agile Delivery Framework superseded the AUP. Since then most people have stopped working on Agile Unified Process. AUP is different from RUP in the sense that it works only on 7 principles:
> Modelling: Involves understanding about how the business is organized around the software and the problem domain of the project, and then identifying a feasible solution for addressing the problem.
> Implementation: The model is transformed in to executable code and basic testing i.e., unit testing is performed on this code.
> Testing: An objective evaluation is carried out for ensuring that the artefact is of high quality. Testing is done for rooting out the defects and validating whether the system works as desired or not. It also includes verification of the requirements met.
> Deployment: The delivery plan for the system is laid out and executed so that the product reaches the customers.
> Configuration management: Managing the access to various artifacts of the system includes tracking the various versions at regular intervals of time, managing and controlling the changes in them.
> Project management: It includes directing the activities of the project to the right track. These activities include risk management, assigning tasks to people, tracking their progress, coordinating with people for ensuring that the system is delivered on time. This is also for making sure that the project is completed within budget.
> Environment: Involves providing continuous guidance i.e., standards and guidelines and tools for ensuring process is going on right track.

The agile unified process follows certain philosophies as mentioned below:
> The team knows what it is doing: People don’t find it convenience to read highly detailed documentation. Timely training and good guidance is accepted by all. An AUP provides links to a number of details if you want, but it does not force you.
> Simplicity: The documentation is kept as simple as possible without going into too much of detail.
> Agility: For maintaining agility, the AUP should conform to the principles and values mentioned in the agile manifesto and agile alliance.
> Emphasizing on high – value activities: Only the activities that affect the project are actually considered. Rest of the activities are not counted.
> Choice of tools: In Agile Unified Process any toolset can be used. However agile experts often recommend using simple tools appropriate for the project.
> The agile unified process can be tailored specific to the needs of your project.

There are two types of iterations in agile unified process as mentioned below:
> Development release iteration: For deployment of the project to demo – area or quality assurance.
> Production release iteration: For deployment of the project to production unit.

These two iterations are a result of refinement of RUP. The RUP’s modelling, requirement and analysis disciplines re encompassed by the disciplines of agile unified process. Even though modelling constitutes an important part of agile process, it is not the dominating factor. 


Friday, May 25, 2012

Unified process as a heavy defined process VS an Agile unified process approach


Unified process is another process in the list of the iterative and incremental processes apart from the agile processes. There are so many refinements and variations of the unified process as mentioned below:
  1. RUP or Rational Unified Process: A refinement of the Unified process developed by the IBM/rational software.
  2. RUP- SE or Rational Unified Process - System Engineering: This is a version of the rational unified process developed by the rational software for catering to the needs of the system engineering.
  3. AUP or Agile unified process: It is a lightweight variation that was developed by Scott W. Ambler.
  4. OpenUP or Open unified process: It is the eclipse process frame work software development process.
  5. BUP or Basic unified process: It is also a lightweight variation but developed by the IBM. It is kind of a precursor to Open UP.
  6. EssUP or Essential unified process: Another light weight variation developed by the Ivar Jacobson.
  7. EUP or enterprise unified process: It is an extension of the RUP or the rational unified process.
  8. OUM or oracle unified method: A development and implementation process developed by the oracle.
So you see that the agile unified process is a refinement of the unified process! So what is the difference between the two? This is what we have discussed in the article. Actually there is a subtle difference between the two in the way that they categorize the project work flows and the disciplines. 

Disciplines addressed by RUP


There are nine disciplines that are addressed by the rational unified process as mentioned below:
  1. Business modelling
  2. Requirements
  3. Analysis and design
  4. Implementation
  5. Test
  6. Deployment
  7. Configuration and change management
  8. Environment
  9. Project management
9 disciplines is a big count! The agile refinements of the unified process simplify the whole rational unified process further and reduce the above mentioned nine disciplines to a lesser count making the whole development process simple and short. 

Points of Comparison between RUP and AUP


- Unified process though being quite an advance process for developing the software but it provides quite a heavy approach. On the other hand the agile unified processes are quite light. 
- These processes provide a way of streamlining the rational unified process by minimizing the number of the expected artifacts and simplify the whole work flow. 
- The UP and the AUP also vary in their specifications of what happens after the completion of the transition phase.
- In the agile unified processes, the transition phase is followed by a production phase rather than by a new inception phase in the case of the unified process.
- There are countless numbers of the unified process refinements and variations. 
- There are 4 phases in a unified process namely:
  1. Inception phase
  2. Elaboration phase
  3. Construction
  4. Transition
In addition to the above 4 mentioned phases, the agile unified processes go through the two additional phases namely: 
    1. The retirement phase and
    2. The Production phase.

The below mentioned are the philosophies up on which the agile processes are based:
  1. The development knows what is being done.
  2. Simplicity is maintained.
  3. The whole process confirms to the principles and values of the agile software.
  4. Focus is on high value activities.
  5. It is tool independent.
The agile unified process makes use of two types of iterations namely:
  1. Development release iteration: deployment to the quality assurance and
  2. Production release iteration: deployment to the production area.


Facebook activity