Anda di halaman 1dari 7

RUP e XP: Focados no Gerenciamento de Riscos

ANDREA FERREIRA CAJUHI


andrea.cajuhi@hotmail.com
Faculdade de Tecnologia da Zona Leste – FATEC ZL
Avenida Águia de Haia, 2983 - CEP 03685-000 – São Paulo – SP

são aplicados, o que pode ocasionar maiores


Resumo inconsistências e riscos.
Os riscos são inerentes a todos os projetos, e muitos Palavras-chave: RUP, XP, gerenciamento de riscos,
deles são descobertos apenas na fase de integração do gerenciamento de projetos, metodologias ágeis.
sistema. Os não identificados podem ter como origem a
arquitetura mal projetada ou requisitos não otimizados.
A utilização de métodos e processos de gerenciamento Abstract
de projetos tem como finalidade aperfeiçoar o processo
como um todo, entretanto, este artigo dará ênfase ao Risks are inherent to all projects, and many are only
gerenciamento de riscos. discovered during the system’s integration. The
unidentified risks may be caused by poorly designed
Algumas das diferenças que serão tratadas no decorrer
architecture or the requirements are not optimized as
do artigo são: o Rational Unified Process (RUP), por
expected.
exemplo, que é baseado em casos de uso, onde as
descrições do uso do sistema são continuamente The use of methods and processes of project
implementadas, integradas e testadas. management aims to improve the process as a whole;
however, this article will give emphasis to risk
Por sua vez, o Extreme Programming (XP) aplica o
management.
projeto baseado em testes, os casos de teste são
implementados antes da escrita do código. O XP possui Some of the differences will be approached throughout
estórias de usuário - que servem de referência - para the article are: the Rational Unified Process (RUP), for
guiar o que deve ser implementado. example, is based on use cases, where the descriptions of
the system’s use are continuously implemented,
No RUP, por ser um processo iterativo e incremental
integrated and tested.
baseado em melhores práticas de engenharia de software,
os riscos devem ser identificados e eliminados o quanto On the other hand, the Extreme Programming (XP)
antes no ciclo de vida do projeto, visando sempre à implements the project based on tests, test cases are
garantia da produção de software de alta qualidade, de implemented before writing the code. XP has user stories
acordo com as necessidades dos usuários e produzidos - which are used as reference - to guide what should be
no tempo e prazo previstos. implemented.

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

2.2 Gerenciamento de Riscos no RUP  Concepção: foco no tratamento dos


riscos relacionados aos casos de
O gerenciamento de riscos no RUP está negócio.
inserido na disciplina de Gerenciamento de
 Elaboração: foco principalmente nos
Projeto, que se propõe a balancear objetivos
riscos técnicos, examinando-se os riscos
concorrentes, gerenciar riscos e restrições, para
de arquitetura e, se necessário,
que a entrega do produto satisfaça a seus
revisando-se o escopo do projeto à
clientes e usuários. Essa disciplina provê um
medida que seus requisitos tornam-se
framework onde o projeto é criado e
melhor compreendidos.
gerenciado.
O gerenciamento de riscos está integrado ao  Construção: foco nos riscos de logística
processo de desenvolvimento, onde as iterações e na obtenção da conclusão da maior
são planejadas e estão baseadas nos riscos de parte do trabalho.
maior prioridade. Em uma abordagem iterativa,  Transição: foco nos riscos associados
os riscos são mitigados mais cedo, porque os com a logística de entrega do produto
elementos são integrados progressivamente. ao seu usuário.
Uma vez que cada iteração exercita muitos
aspectos do projeto, torna-se mais fácil O papel envolvido com o gerenciamento de
descobrir até que ponto os riscos percebidos riscos no RUP é o do gerente do projeto, que
estão se materializando, como também executa as atividades Desenvolver o Plano de
descobrir novos e insuspeitos riscos, à medida Gerenciamento de Riscos, Identificar e Avaliar
que os riscos sejam mais fáceis de serem Riscos, e Monitorar o Status do Projeto, que
localizados e os custos envolvidos são menores. têm como entrada ou saída os artefatos:
No RUP, o ciclo de vida é iterativo e dividido  Visão Geral (documento de requisitos)
em quatro fases, que enfocam a problemática
 Plano de Gerenciamento de Riscos
do risco de uma maneira cooperativa:
 Lista de Riscos

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

4.1 Gerenciamento de Riscos no XP 4.2 Pequenos Releases


Projetos de desenvolvimento de software O XP age sobre a observação de que projetos
representam um investimento de recursos por de menor dimensão têm uma maior taxa de
parte do patrocinador do projeto, um sucesso. Decompor todos os projetos de
investimento que freqüentemente produz pouco software em várias versões pequenas, onde
ou nenhum retorno. Em 1994, de acordo com o cada versão do software contém apenas um
Standish Group CHAOS Report, menos de subconjunto de funcionalidades necessárias.
10% dos projetos de software em grandes Estes lançamentos são pequenas versões de
empresas foram bem sucedidos. Empresas produção incremental do projeto final,
médias tinham uma taxa de 16% de projetos de entregues aos usuários do sistema. Cada
software bem-sucedidos, enquanto as pequenas lançamento de funcionalidades adicionais
empresas obtiveram 28% de sucesso em seus oferece às partes interessadas a oportunidade de
projetos (STANDISH, 1994). Tendo em conta utilizar as capacidades de evolução do software
estas estatísticas, ficou claro que o investimento e fornecer um feedback de alta qualidade,
no Gerenciamento de Riscos valia à pena. A melhorando a qualidade de elaboração
pesquisa no Standish Group indicou também progressiva.
que o tempo menor, com a entrega de O tempo entre os lançamentos-alvo é de duas a
componentes de software muitas vezes precoce, oito semanas. Embora muitas vezes possa ser
pode aumentar a taxa de sucesso. difícil identificar a funcionalidade apropriada
para os primeiros lançamentos, sua importância
O XP é uma metodologia que monitora os não pode ser exagerada.
riscos em todos os níveis do processo de Outras práticas do XP envolvem também
desenvolvimento. enfrentar os riscos comuns a projetos de
desenvolvimento de software. Por exemplo, o
risco associado à perda de um recurso técnico
fundamental é bastante reduzido pelas práticas
5
de Propriedade Coletiva, e Programação em baseado em teste, casos de teste são
Par. Embora ambas as práticas se apliquem ao implementados antes da escrita do
Gerenciamento de Riscos, eles também são código. O XP possui estórias de usuário
práticas essenciais na Gestão de Recursos para guiar o que deve ser implementado.
Humanos. Essas estórias são descrições mais
simples se comparadas aos casos de uso
do RUP.
5. RUP x XP  As duas metodologias indicam que o
As metodologias RUP e XP têm seu projeto completo não pode ser
funcionamento baseado em iterações, são planejado em detalhe. RUP indica
orientadas ao cliente e baseadas em papel. À modificação continua dos planos,
primeira vista pode parecer que ambos tratam a enquanto o XP propõe planejar em
dinâmica de desenvolvimento de software da detalhes somente o futuro próximo.
mesma forma. Porém, através da análise dos
tópicos deste artigo, algumas diferenças se 6. Conclusão
tornaram mais claras:
De forma geral o XP se apresenta como uma
metodologia a ser utilizada em projetos onde os
 Ao comparar as definições das
requisitos são voláteis ou não claros sendo
disciplinas e os papéis: o RUP faz uma
assim muito flexível, porém existe uma
divisão de tarefas de forma específica,
limitação de uso em equipes pequenas, pois não
enquanto a divisão de papéis proposta
dá ênfase à documentação e sim a comunicação
pelo XP tem um caráter de “uso-geral”,
oral restringindo sua aplicação em projetos com
sem atribuições específicas dentro das
equipes distribuídas geograficamente. A
atividades.
divisão de atividades (tarefas e papéis) no XP
 O RUP trata o código em subsistemas, e também não é muito específica, sendo uma
para cada subsistema existem membros desvantagem para a divisão de
responsáveis pelo mesmo. Já o XP trata responsabilidades em projetos grandes.
o código como coletivo, qualquer
O RUP estrutura o projeto fazendo uma divisão
programador que encontre algum
bem definida de atividades (tarefas e papéis) e
problema, ou algum trecho que possa
define uma coleção de artefatos que são usados
ser otimizado, tem permissão para fazê-
como produtos de entrada e de saída de
lo. Isso pode agilizar o processo no caso
processos. Essa estruturação do processo
de um programador necessitar corrigir
permite que o RUP seja utilizado em projetos
algum módulo para interagir
grandes, e com distribuição geográfica, com
corretamente com o seu. Porém isso
um custo adicional de gerência do projeto. Esse
pode ser algo prejudicial, pois podem
custo adicional pode não ser justificável em
ocorrer casos onde o código
pequenas equipes.
aparentemente incorreto teve um
motivo para ser estruturado da maneira
que foi. 7. Referências
 O RUP é baseado em casos de uso, as
VASCO, Carlos G. Comparação entre
descrições do uso do sistema são
Metodologias RUP e XP. Disponível
continuamente implementadas, integradas
em:
e testadas. Já o XP aplica o projeto
6
<www.ppgia.pucpr.br/~alcides/Teachin <www.simpros.com.br/Apresentacoes...
g/.../RUPvsXP_draft.pdf > Acesso em: /Art_24_Simpros2004.pdf> Acesso em:
12/09/2010 19/09/2010

SOUZA, Thiago Silva. Rational Unified BARBOSA, David Falcão. Aplicação


Process: uma abordagem gerencial. de Práticas de Design de Interação em
Disponível em: um Processo de Desenvolvimento Ágil.
<www.de9.ime.eb.br/~mpribeiro/eng_s Disponível em:
oft/Trabalho RUP/Monografia- <www.simpros.com.br/upload/2007/36
RUP.doc> Acesso em: 12/09/2010 048.pdf> Acesso em: 20/09/2010

PONTUSCHKA, Maurício. CHAUDRON, Michel. Exploring


Mapeamento entre PMBOK, CMM e Effort Distribution in RUP Projects.
RUP. Disponível em: Disponível em:
<www.mbis.pucsp.br/.../Monografia_- <www.portal.acm.org/citation.cfm?id=1
_Mauricio_Pontuschka.pdf> Acesso 414083> Acesso em: 20/09/2010
em: 15/09/2010
CRISPIN, Lisa. XP Testing Without
FONTOURA, Lizandra Manzoni. XP: Taking Advantage of Agile Testing
PRiMA - Project Risk Management Practices. Disponível em:
Approach. Disponível em: <www.methodsandtools.com/PDF/dmt0
<www.lume.ufrgs.br/handle/10183/694 203.pdf> Acesso em: 20/09/2010
7> Acesso em: 16/09/2010
BOOCH, G. Object Oriented Analysis
TAMAKI, Paulo Augusto Oyamada. and Design with Applications. 3.ed.
Uma extensão do RUP com ênfase no Addison-Wesley Professional, 2007.
gerenciamento de projetos do PMBOK p.97-104.
baseada em Process Patterns.
Disponível em: REIFER, Donald. Common Risk
<www.teses.usp.br/teses/disponiveis/3/ Patterns. Disponível em:
3141/tde-08012008-113326/> Acesso <softwaretechnews.thedacs.com/stn_vie
em: 17/09/2010
w.php?stn_id=51&article_id=139>
Acesso em: 21/09/2010
HEIJSTEK,Werner. Evaluating RUP
Software Development Processes
Through Visualization of Effort
Distribution. Disponível em:
<www.portal.acm.org/citation.cfm?id=1
495267> Acesso em: 19/09/2010

ROCHA, Pascale Correia. Mapeamento


do Gerenciamento de Riscos no
PMBOK, CMM e RUP. Disponível em:
7

Anda mungkin juga menyukai