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.
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