Scrum vs. RUP: Metodologias Ágeis e Processo Unificado
Enviado por Anônimo e classificado em Computação
Escrito em em
português com um tamanho de 8,79 KB
Scrum: Desenvolvimento Ágil e Gerenciamento de Projetos
O Scrum é um processo de desenvolvimento iterativo e incremental (Desenvolvimento Iterativo e Incremental) para gerenciamento de projetos (Gerenciamento de Projetos) e desenvolvimento ágil de software (Desenvolvimento Ágil de Software). Scrum não é um processo prescritivo, ou seja, ele não descreve o que fazer em cada situação. Ele é usado para trabalhos complexos nos quais é impossível predizer tudo o que irá ocorrer.
Papéis Principais do Scrum
- O Scrum Master, que mantém os processos (normalmente no lugar de um gerente de projeto);
- O Proprietário do Produto, ou Product Owner, que representa os stakeholders e o negócio;
- A Equipe, ou Team, um grupo multifuncional com cerca de 7 pessoas que realizam a análise, projeto, implementação, teste, etc.
O Ciclo de Sprint e Artefatos do Scrum
Sprints são iterações feitas com base no Product Backlog. São decididas em reuniões semanais e têm a duração entre 3 a 5 dias, podendo ser consideradas semanais. Durante cada sprint, a equipe cria um incremento de produto potencialmente entregável (por exemplo, software funcional e testado). O conjunto de funcionalidades que entram em um sprint vêm do Backlog do Produto, que é um conjunto de prioridades de requisitos de alto nível do trabalho a ser feito. Quais itens do backlog entram para o sprint são determinados durante a reunião de planejamento da sprint.
- Cada Sprint é uma iteração que segue um ciclo e entrega um incremento de software pronto.
- Um Backlog é um conjunto de requisitos, priorizado pelo Product Owner (responsável pelo ROI (Retorno sobre o Investimento) e por conhecer as necessidades do cliente).
- Há entrega de um conjunto fixo de itens do backlog em série de iterações curtas ou sprints.
- Reunião Diária, ou Daily Scrum, em que cada participante fala sobre o progresso conseguido, o trabalho a ser realizado e/ou o que o impede de seguir avançando (também chamado de Standup Meeting ou Daily Meeting, já que os membros da equipe geralmente ficam em pé para não prolongar a reunião).
- Breve sessão de Planejamento da Sprint, na qual os itens do backlog para uma iteração são definidos.
- Retrospectiva, na qual todos os membros da equipe refletem sobre a sprint passada.
Outras Características Essenciais do Scrum
- Clientes se tornam parte da equipe de desenvolvimento (os clientes devem estar genuinamente interessados no resultado).
- Entregas frequentes e intermediárias de funcionalidades 100% desenvolvidas.
- Planos frequentes de mitigação de riscos desenvolvidos pela equipe.
- Discussões diárias de status com a equipe.
- A discussão diária na qual cada membro da equipe responde às seguintes perguntas:
- O que fiz desde ontem?
- O que estou planejando fazer até amanhã?
- Existe algo me impedindo de atingir minha meta?
- Transparência no planejamento e desenvolvimento.
- Reuniões frequentes com os stakeholders (todos os envolvidos no processo) para monitorar o progresso.
- Problemas não são ignorados e ninguém é penalizado por reconhecer ou descrever qualquer problema não visto.
- Locais e horas de trabalho devem ser energizados, no sentido de que "trabalhar horas extras" não necessariamente significa "produzir mais".
Rational Unified Process (RUP)
O RUP (abreviação de Rational Unified Process, ou Processo Unificado Racional) é um framework na área de Software, fornecendo técnicas a serem seguidas pelos membros da equipe de desenvolvimento de software com o objetivo de aumentar a sua produtividade no processo de desenvolvimento. O RUP usa a abordagem da orientação a objetos em sua concepção e é projetado e documentado utilizando a notação UML (Unified Modeling Language) para ilustrar os processos em ação. Utiliza técnicas e práticas aprovadas comercialmente.
Princípios e Melhores Práticas do RUP
O RUP é baseado em um conjunto de princípios de desenvolvimento de software (referência) e melhores práticas, por exemplo:
- Desenvolvimento de software iterativo
- Gerenciamento de requisitos (Requisitos de Software)
- Uso de arquitetura baseada em componente (Arquitetura Baseada em Componente)
- Modelagem visual de software
- Verificação da qualidade do software (Qualidade de Software)
- Controle de alteração no software
Disciplinas Principais do RUP
- Gestão de requisitos
- Uso de arquitetura baseada em componentes
- Uso de software de modelos visuais
- Verificação da qualidade do software
- Gestão e Controle de Mudanças do Software
As Quatro Fases do Ciclo de Vida do RUP
As fases indicam a ênfase que é dada no projeto em um dado instante. Para capturar a dimensão do tempo de um projeto, o RUP divide o projeto em quatro fases diferentes:
- Concepção: ênfase no escopo do sistema;
- Elaboração: ênfase na arquitetura;
- Construção: ênfase no desenvolvimento;
- Transição: ênfase na implantação.
Os 4 Ps Fundamentais do RUP
- Pessoas
- Projeto
- Produto
- Processo
Fase de Concepção
A fase de concepção contém os workflows necessários à concordância dos stakeholders sobre a arquitetura e o planejamento do projeto. Se essas partes interessadas tiverem bons conhecimentos, pouca análise será requerida. Caso contrário, será exigida uma análise mais elaborada. Nesta fase, os requisitos essenciais do sistema são transformados em casos de uso. O objetivo não é fechá-los em sua totalidade, mas apenas aqueles necessários à formação de opinião. A etapa é geralmente curta e serve para definir se é viável continuar com o projeto e definir os riscos e o custo deste último. Um protótipo pode ser feito para que o cliente possa aprovar. Como cita o RUP, o ideal é que sejam feitas iterações, mas estas devem ser bem definidas quanto à sua quantidade e aos objetivos.
Fase de Elaboração
A fase de elaboração foca no projeto do sistema, buscando complementar o levantamento/documentação dos casos de uso, voltado para a arquitetura do sistema, revisa a modelagem do negócio para os projetos e inicia a versão do manual do usuário. Deve-se responder: A visão geral do produto (incremento + integração) está estável? O plano do projeto é confiável? Os custos são admissíveis?
Fase de Construção
Na fase de construção, começa o desenvolvimento físico do software, produção de códigos e testes alfa. Os testes beta são realizados no início da fase de Transição. Deve-se aceitar testes e processos de testes estáveis, e se os códigos do sistema constituem "baseline".
Fase de Transição
Nesta fase ocorre a entrega (deployment) do software. É realizado o plano de implantação e entrega, acompanhamento e qualidade do software. Produtos (releases, versões) devem ser entregues, e deve ocorrer a satisfação do cliente. Nesta fase também é realizada a capacitação dos usuários.
Seis Disciplinas de Engenharia do RUP
- Disciplina de Modelagem de Negócios
- Disciplina de Requisitos
- Disciplina de Análise e Projeto ("Design")
- Disciplina de Implementação
- Disciplina de Teste
- Disciplina de Implantação
Três Disciplinas de Apoio/Suporte do RUP
- Disciplina de Ambiente
- Disciplina de Configuração e Gerência de Mudança
- Disciplina de Gerência de Projeto