agilidade

Afinal, o que é AUP – Processo Unificado Ágil?

Dando sequência à nossa série de artigos de metodologias, vamos abordar hoje o AUP – Processo Unificado Ágil. Já passaram por aqui outras metodologias como o Scrum, Crystal, RAD e RUP.

Conheça o AUP – Processo Unificado Ágil

O Processo Unificado Ágil (AUP – Agile Unified Process) é uma metodologia que foi idealizada por Scott Ambler e se refere a uma versão simplificada do RUP. Para prosseguir com este artigo sugiro a leitura do artigo: O que é RUP – Rational Unified Process?.

Assim como RUP, o AUP também é iterativo e incremental, mas tem uma forma mais simples e fácil de entender a forma de como desenvolver software usando técnicas ágeis e conceitos que ainda se mantêm válidos no RUP.

Alguns dos princípios do AUP…

  • Simplicidade: pouca documentação, menos disciplinas que o RUP
  • Agilidade: entrega periódica e frequente do software funcional
  • É centrado em atividades de alto valor: as tarefas são priorizadas em função do valor que podem ter e uma maior atenção no que o desenvolvimento requer
  • Não tem dependência de ferramentas: pode-se utilizar qualquer conjunto de ferramentas que deseje

Fases do ciclo de desenvolvimento

O AUP dispõe das mesmas fases de RUP: início, elaboração, construção e transição. Cada uma delas é dividida em uma série de iteração que oferecem como resultado um incremento no produto desenvolvido.

  • Iniciação: escopo inicial do projeto, arquitetura, custos do projeto, cronograma, viabilidade, riscos.
  • Elaboração: se aprofunda nos requisitos e arquitetura, para se assegurar que a equipe desenvolva um sistema que cumpra o requisito do cliente.
  • Construção: como o nome diz, é aqui que se desenvolve o sistema até estar pronto para os testes até a produção final.
  • Transição: testar o software, validar e implantar o sistema no ambiente de produção.
AUP - Agile Unified Process
Curso de AUP - Agile Unified Process
CONHEÇA O CURSO

Disciplinas

Abrange 7 disciplinas, onde as 4 primeiras são de implementação e as 3 restantes são disciplinas chamadas de apoio. De acordo com a fase do ciclo de vida, as atividades da disciplina vão variando. As 7 disciplinas são:

  • Modelo: entender as regras de negócio, o domínio do problema e identificar solução viável para resolvê-lo, realizar uma prototipação, diagramas, casos de uso, etc.
  • Implementação: transformar os modelos em códigos, tendo uma prototipagem mais técnica, pensando na UI (user interface), sempre evoluindo na criação do software.
  • Teste: validação da arquitetura, evolução no modelo de teste, validar o sistema, finalização do modelo de teste.
  • Implantação: planejamento da entrega do sistema, deixar o sistema disponível para usuários finais. Treinar clientes e implantar o sistema em produção.
  • Gestão de configuração: configurar o ambiente de configuração.
  • Gerenciamento de projetos: dirigir as atividades que acontecem no projeto, como a gestão de riscos, gerenciar a equipe, a atribuição de tarefas, monitoramento do progresso, etc.
  • Ambiente: configurar e evoluir o ambiente de trabalho, apoiar a equipe.

Se você quer se aprofundar ainda mais na metodologia AUP e utilizar em seus projetos, temos um curso específico de AUP aqui na TreinaWeb. Te esperamos lá =D

O que é RUP – Rational Unified Process?

Metodologias são práticas que oferecem técnicas e rotinas criadas para aumentar a produtividade e dar mais coesão e coerência para o desenvolvimento de software. Continuando com a série de artigos sobre metodologias, essas que nos ajudam a ter mais qualidade e agilidade no desenvolvimento de software, vamos abordar neste artigo a metodologia RUP. Caso você queira ver outras metodologias, já abordamos aqui as metodologias Scrum, Crystal e RAD.

RUP (Rational Unified Process)

RUP (Rational Unified Process), traduzido em Processo Unificado Rational ou comumente falado “Processo Unificado” foi criado pela Rational Software Corporation, mas em 2003 foi adquirida pela IBM.

A metodologia RUP utiliza uma abordagem de orientação a objetos em sua concepção e é projetado e documentado utilizando o UML para ilustrar os processos. Tem como principais características ser incremental e iterativo. Incremental significa que aquele software é construído e entregue em pedaços, constituindo um conjunto de funcionalidades completas.

Através de pequenos ciclos de projetos – que correspondem a uma iteração – o software é melhorado através da adição de mais detalhes, o que resulta em um incremento no software. Iterações referem-se a passos e incrementos a evolução do produto.

RUP - Rational Unified Process
Curso de RUP - Rational Unified Process
CONHEÇA O CURSO

O RUP organiza o desenvolvimento em 4 fases bem direcionadas, contendo em cada uma delas no mínimo uma iteração, ou seja, um ciclo de vida, são nessas iterações que são mostradas ao cliente o andamento da produção para que ele possa validar e assim liberar a continuação do desenvolvimento. São elas:

  • Concepção: define o escopo do software. É uma fase preliminar, é nessa etapa que se concentra o levantamento de requisitos, define preços e prazos da entrega do sistema e onde se avalia os possíveis riscos.

  • Elaboração: plano do projeto, especificação de características e arquitetura. Aqui todas as análises de riscos são aprofundadas, como também os custos.

  • Construção: ocorre a codificação do software.

  • Transição: implantação do software, assegurando que ele esteja disponível aos usuários finais. Nesta fase está incluída os testes e o treinamento dos usuários.

Outra característica do RUP é que ele possui atividades lógicas, chamadas de disciplinas, sendo estas muito bem trabalhadas e desenvolvidas. Essas disciplinas são:

  • Modelagem de negócios
  • Requisitos
  • Análise e Design
  • Implementação
  • Teste
  • Implantação
  • Gerenciamento de configuração e mudança
  • Gerenciamento de projeto
  • Ambiente

As quatro fases que vimos acima e as disciplinas se interagem. As disciplinas e modelos existem para isso, para ficar organizado e que se consiga ter mais controle sobre o software final.

Considerações finais

Pudemos ver que o RUP tem o objetivo de garantir a produção de software de alta qualidade que atinja as necessidades dos usuários, dentro de um cronograma e orçamento previsível. Com ele podemos obter qualidade de software, produtividade no desenvolvimento e manutenção, controle sobre desenvolvimento dentro de custos, prazos e qualidade, estimativa de prazos e custos com maior precisão.

Geralmente ele costuma ser indicado para projetos com grandes equipes de desenvolvimento e projetos extensos, que requerem muita documentação e muito detalhe, que não necessitam de uma entrega tão imediata.

Se você ficou curioso em saber mais sobre o RUP de maneira mais aprofundada, temos um curso específico de RUP, onde você consegue ver inclusive como o RUP funciona na prática. Até lá =)