O XP é um método ágil “leve” para o desenvolvimento The RUP, for being an iterative and incremental process
de projetos, cujas especificações são passíveis de based on best practices of software engineering, believes
alteração. É também um processo iterativo, porém suas that the risks must be identified and eliminated early in
iterações são relativamente mais curtas que as do RUP. the project’s lifecycle, always aiming to ensure the
O objetivo do XP é tornar o projeto flexível, diminuindo production of high quality software, according to users'
os riscos (assim como os custos) de possíveis mudanças. needs and are produced on time and within planned.
O código produzido é tomado como indicador de XP is a “light” agile method for the development of
progresso do projeto. projects whose specifications may change. It is also an
Este artigo tem como objetivo analisar o gerenciamento iterative process, but their iterations are relatively shorter
de riscos de projetos utilizando o processo de than RUP’s. The XP’s goal is to make flexible design,
desenvolvimento RUP e o método ágil XP, com o fim de reducing the risks (and costs) on possible changes. The
analisar suas possíveis similaridades e divergências, bem code produced is taken as an indicator of the project’s
como onde cada um pode ser melhor empregado. Visa, progress.
também, a encorajar o uso de metodologias e processos This article aims to analyze the risk management of
de desenvolvimento de software, pois muitas vezes não projects using the RUP development process and the
agile methodology XP, in order to analyze their
1
similarities and differences, and where each can be better responsabilidades em uma organização de
applied. The article also aims to encourage the use of desenvolvimento de software.
methodologies and software development, since they’re
not often applied, which can cause major inconsistencies Uma característica ampla do RUP é o fato de
and risks. ser totalmente customizável, contudo é dito
Keywords: RUP, XP, risk management, project como complexo, sendo recomendável para
management, agile methodologies. grandes equipes de desenvolvimento e a
grandes projetos.
1. Introdução
Riscos são definidos como eventos ou 2.1 Gerenciamento de Projeto
condições incertas que podem gerar efeitos Gerenciamento de projeto de software é a arte
negativos ou positivos em alguma parte do de balancear objetivos competitivos, gerenciar
projeto. riscos e superar as dificuldades para entregar
O gerenciamento de riscos trabalha justamente um produto que atenda às necessidades dos
com a incerteza, visando à identificação de clientes e dos usuários (RATIONAL, 2005).
problemas potenciais e de oportunidades antes No RUP, a disciplina de Gerenciamento de
que ocorram, com o objetivo de eliminar ou Projeto é a que se distribui de forma mais
reduzir a probabilidade de ocorrência e o equilibrada entre todas as disciplinas, estando
impacto de eventos negativos para os objetivos presentes em todas as fazes do processo.
do projeto, além de potencializar os efeitos da
ocorrência de eventos positivos.
A proposta do gerenciamento de projetos é
Este artigo tem como objetivo fazer uma prover:
análise geral entre o RUP e XP, apontando suas
Uma estrutura para gerenciar projetos
características, similaridades e diferenças.
intensivos de software;
Porém, o ponto principal será o gerenciamento
de riscos durante o processo de Diretrizes práticas para planejar, alocar
desenvolvimento, bem como em quais cenários pessoas, executar e monitorar projetos;
cada metodologia pode ser mais bem Uma estrutura para gerenciar riscos.
empregada.
Esta disciplina foca principalmente sobre os
2. Rational Unified Process (RUP) aspectos importantes de um processo de
desenvolvimento iterativo:
O RUP é um processo de engenharia de
Gerenciamento de riscos;
software criado a princípio pela Rational
Planejamento de um projeto iterativo,
Software Corporation, que dita técnicas a serem
através do ciclo de vida;
obedecidas por cada membro de uma equipe de
desenvolvimento vislumbrando o aumento da Monitoramento do progresso de um
produtividade (KRUCHTEN, 2001). projeto iterativo (métricas).
Do ponto de vista gerencial, o RUP provê uma
solução disciplinada de como atribuir tarefas e
2
Figura 1: Arquitetura geral do RUP
3
2.2.1 Plano de Gerenciamento de 4. Extreme Programming (XP)
Riscos
XP é uma metodologia ágil, para o
O Plano de Gerenciamento de Riscos descreve desenvolvimento de projetos de T.I cujas
detalhadamente como gerenciar os riscos especificações são passíveis de alteração. As
associados a um projeto. Ele detalha as tarefas iterações do XP costumam ser curtas, gerando
de gerenciamento de riscos que serão constantes versões do produto (releases) para o
executadas, as responsabilidades atribuídas e cliente, que por sua vez provê comentários e
quaisquer recursos adicionais necessários para opiniões que realimentam a próxima iteração.
a atividade de gerenciamento de riscos. Em um O objetivo do XP é tornar o projeto flexível,
projeto menor, este plano pode ser incorporado diminuindo o custo de possíveis mudanças. O
ao Plano de Desenvolvimento de Software código produzido é tomado como indicador de
(RATIONAL. 2005). progresso do projeto.
As principais diferenças do XP em relação às
outras metodologias são feedback constante e
3. Metodologias Ágeis abordagem incremental.
Metodologias ágeis também dividem o
desenvolvimento do software em iterações, O ciclo XP é dividido em seis fases:
buscando redução de riscos ao projeto. Ao final
1. Exploração: nessa fase o cliente escreve
de cada iteração, uma versão (release) cartões de estórias, cada um contendo
funcional do produto, embora restrita em
uma funcionalidade desejada para o
funcionalidades, é liberada ao cliente. As primeiro release.
metodologias ágeis destacam aspectos humanos
2. Planejamento: ocorre definição de
no desenvolvimento do projeto, promovendo
prioridades entre as estórias junto com o
interação na equipe de desenvolvimento e o
cliente. Nesta etapa os programadores
relacionamento de cooperação com o cliente.
estimam o esforço e o cronograma para
Comunicação face a face é preferida à
cada uma das estórias.
documentação compreensiva.
3. Iterações para Release: nessa fase
ocorrem diversas iterações até o
3.1 Contrastes de Metodologias primeiro release ser completado. Na
Iterativas e Ágeis primeira iteração é criado o sistema
com toda a arquitetura, nas iterações
As metodologias ágeis compartilham as idéias
seguintes serão adicionadas às
de construção incremental de sistemas
funcionalidades de acordo com as
provenientes das metodologias iterativas,
prioridades estabelecidas.
porém os períodos das iterações são geralmente
4. Validação para Produção: nessa fase são
menores, medidos em semanas, enquanto
feitos testes extensivos e verificações
iterações de processos iterativos são geralmente
para validação do software para ser
medidos em meses.
utilizado em ambientes de produção.
5. Manutenção: após o primeiro release
para produção, há novas edições do
sistema com novas funcionalidades.
6. Morte: quando não há mais estórias
4
Figura 2: Fases do XP