quinta-feira, 28 de novembro de 2013

Sendo ágil com RUP

Muitos se perguntam como alguns autores afirmam que podemos utilizar os princípios da metodologia ágil com o RUP.

Uma resposta rápida a essa pergunta é: Sim o RUP pode ser ágil!

O RUP não define um processo de desenvolvimento, e sim ele é um framework para que a emprese modele seu processo baseado em guias definidos pelo mesmo. Como framework o RUP entrega uma arquitetura básica de conhecimento e é um guia para definição do processo de desenvolvimento.

Quem lê sobre RUP à principio vê que ele não é um framework vazio, ele já vem com sua metodologia embutida onde já existe grande quantidade de processos consolidados no mercado de software. Mas o RUP não é fechado, ele está em constante adaptação para abraçar os desafios que surgem.

Como funciona o RUP como framework?


O framework do RUP é organizado através dos conceitos interconectados citados abaixo:
  • Definições de papeis no processo;
  • Descrição das atividades de cada papel;
  • Artefatos resultantes das atividades;
  • E as orientações que definem as atividades.

Esse conjunto é chamado de disciplina.

Como dito o framework já vem preenchido com algumas centenas de artefatos, vários papéis e muitas disciplinas. Por esse motivo o RUP é considerado por muitos como um processo pesado ou tradicional, só que como framework não necessariamente a organização é obrigada a utilizar tudo que o RUP oferece, podendo optar por criar algo que mesmo sem reaproveitar nada, se adapte melhor as necessidades da organização.

Adaptando o RUP


A Ratinonal vem dando ênfase a algumas práticas adotadas pelo RUP e já consolidadas no mercado de software:

  • Iteratividade;
  • Modelos visuais;
  • Gerenciamento de requisitos;
  • Controle de mudanças;
  • Garantia contínua de qulidade;
  • E, Arquitetura baseada em componentes.

O RUP também é baseado em outros princípios menos visíveis e o sucesso da sua adoção e adaptação é o que chamam de Caso de desenvolimento. Uma instancia especifica do RUP adaptada para o projeto específico. Esse processo visa identificar o que será desenvolvido, os artefatos realmente necessários, o template a ser utilizado, os artefatos já existentes e por último quais papeis, atividades e orientações serão utilizados.

Processo ágil


A agilidade é a habilidade de se adaptar e responder rapidamente as mudanças. O processo ágil deve suportar essas mudanças de forma a não impactar negativamente o desenvolvimento do software. O RUP contém as orientações necessárias para adaptar o framework ao ambiente inicial de um projeto e seu desenvolvimento. A maior agilidade do RUP é conseguida através da iteratividade de sua abordagem iterativa e tratamento do feedback reagindo rapidamente as mudanças.

A adaptação do RUP é feita através de componentes e ferramentas que se adaptam às necessidades da organização fazendo dele uma ótima alternativa para imprimir qualidade ao projeto e tirar vantagem dos princípios ágeis.

O que ler:

Há uma impleentação de um processo ágil conhecido com AUP que modela o framework para atender as necessidades ágeis. Agile Unified Process

Artigo escrito por três autores que demonstram a adaptabilidade do RUP para abraçar os princípios ágeis Agile Rational Unified Process: RUP experiences from the trenches

Artigo de Philippe Krunchten sobre a agilidade com RUP. e a criação d do processo utilizando o framework do RUP Agility with the RUP


Nenhum comentário:

Postar um comentário