Академический Документы
Профессиональный Документы
Культура Документы
RESUMO
1. INTRODUÇÃO
1
Izabel Cristina Andion Castro é mestra em Redes pela UNIFACS.
2
Albert Menezes Moreira é graduando do curso de Sistemas de Informação da Faculdade Ruy Barbosa.
2
2. HISTÓRICO
Nos últimos anos, novas metodologias foram aplicadas, sempre visando a rapidez no
fornecimento aliada à qualidade do processo e do produto. Surgem, então, os métodos ágeis,
popularizados quando Beck et al. (2001) criaram o Manifesto Ágil, indicando alguns
princípios compartilhados por tais métodos:
3. METODOLOGIAS RIGOROSAS
Essas metodologias são assim denominadas porque enfatizam o rigor nas premissas e
propostas. Prezam pela documentação detalhada em todas as fases do desenvolvimento.
Geralmente são implementadas em ambientes onde se deve exercer controle rígido, como por
exemplo quando é grande o número de indivíduos que participam do projeto. Também são
conhecidas como metodologias pesadas, uma referência à quantidade de documentos, papéis,
atividades e processos considerados necessários para a implementação. O resultado disso é
que os desenvolvedores passam boa parte do tempo ocupados com atividades que não são
necessariamente ligadas à programação ou seu processo criativo.
Sua primeira versão, o RUP 5.0, surgiu em 1998, oriunda da evolução de projetos anteriores,
como o Rational Objectory Process, iniciado em 1996. Várias características foram
melhoradas e acrescentadas até a versão RUP 2000.
Como bases para a criação deste método foram adotadas algumas características de qualidade
de software, que permitem atingir os objetivos desejados. Dentre elas, seis características
merecem destaque especial:
No modelo RUP, um projeto é dividido diversas fases, desde a Modelagem do Negócio até o
Ambiente. Estas ainda possuem outras 4 subdivisões, que constituem o ciclo de construção de
uma versão, como é mostrado na figura 2:
A fase de Concepção, Inception phase, é quando deve ser definido o escopo da versão,
especificando o produto a ser gerado. É nessa etapa que se avaliará a viabilidade do projeto,
pois neste momento os requisitos operacionais e os critérios de aceitação serão apresentados.
Devem ser levantados os riscos que possam comprometer o andamento do projeto, levando
em consideração questões de arquitetura. É pertinente também a aplicação de um cronograma
preliminar. Dentre os produtos finais desta fase estão o cronograma, o diagrama de caso de
uso inicial, o caso de uso do negócio que, quando aplicado em sistemas comerciais, deve
fornecer uma estimativa de retorno do investimento e o protótipo preliminar (MAGALHÃES,
2003).
Na fase final do processo, que é chamada de Transição, Transition phase, o produto será
entregue. Engloba também os procedimentos de treinamento, suporte e manutenção. Esta fase
inclui os testes finais de aceitação, no intuito de captar o feedback do usuário a respeito dos
resultados, além de comparações com outros sistemas antigos, conversões de banco de dados
(se for o caso) e a divulgação do novo produto.
Vale ressaltar que existe a coerência do modelo de processos RUP com os requisitos para
certificação do processo de desenvolvimento Capability Maturity Model - CMM, onde as
empresas de desenvolvimento podem certificar seu modelo de processo de desenvolvimento
no quesito de maturidade e garantia de qualidade dos produtos gerados. Por exemplo, no
terceiro nível do CMM, o conceito de processo é fortemente introduzido na organização. A
arquitetura implantada do CMM nível 3 servirá como base para a execução das práticas de
todas as áreas chave. Essa arquitetura torna-se, então, peça fundamental para a organização
dos processos e sucesso do projeto. Com a adoção do RUP uma empresa já possui os pré-
requisitos para passar para o nível 3 do CMM (PIRES et al., 2007).
4. METODOLOGIAS ÁGEIS
Como foi apresentado no segundo capítulo, o termo Metodologias Ágeis se tornou popular
quando dezessete especialistas em processos de desenvolvimento de software estabeleceram
conceitos comuns a serem compartilhados por todos esses métodos. Foi então criada por
BECK et al. (2007) a Aliança Ágil e instaurado o Manifesto Ágil.
6
Extreme Programming
Figura 3: Características da XP
Adaptado de: XP, 2007.
Nesta prática, é interessante que haja comunicação entre os indivíduos. O projeto C3, da
Chrysler, foi o primeiro a usar a XP. Depois de anos tentando outras metodologias sem
resultado, o uso da nova metodologia trouxe resultados satisfatórios em pouco mais de um
ano (HIGHSMITH et al., 2000).
Grande parte das regras aplicadas à metodologia XP podem não fazer sentido à primeira vista,
no entanto o diferencial são as partes que se complementam, o conjunto. A preocupação
maior é com o rápido de desenvolvimento e satisfação do cliente, cumprindo as estimativas de
tempo e custo. Os valores aplicados na Extreme Programming oferecem um ambiente
propício para o progresso no trabalho. De acordo com definições da metodologia XP (2007),
seus principais valores são: comunicação, simplicidade, feedback e coragem.
projeto. Este se caracteriza como um dos fatores principais na XP: conversar ao máximo
pessoalmente, evitando o uso do telefone e mensagens de e-mail.
O contato incessante com o cliente a respeito do projeto é o que se pode chamar de feedback
constante. Informações sobre o código são dadas por testes periódicos, os quais indicam erros
tanto individuais quanto do software integrado. Além disso, o cliente terá sempre uma parte
do software funcional para avaliar. Com isso, novas características e informações são
repassadas aos desenvolvedores, que por sua vez devem implementá-las nas próximas
versões. Desta maneira, o que se pretende é entregar o software de acordo com as expectativas
do cliente.
No que diz respeito ao quesito tempo, é provável que o que é gasto pelas versões usando XP
coincida com as iterações do RUP. Tal ocorrência não se aplica a projetos grandes, por se
caracterizarem pela grande duração de suas iterações. Em projetos maiores, as equipes no
RUP são geralmente divididas para se desenvolver paralelamente, cada uma com um
subsistema. Embora a XP aplique a programação em duplas, o projeto é tratado como um
todo, não em subsistemas.
Na visão de Kruchten (2000), artefato é uma parte de uma informação produzida, modificada
ou usada por um processo. São exemplos de artefato modelos, documentação, código fonte e
arquivos executáveis. No Rational Unified Process, a comunicação é feita por meio de
artefatos. A XP é baseada em comunicação oral, direta, restringindo ou limitando o uso da XP
em projetos nos quais os desenvolvedores se encontram geograficamente dispersos. A partir
da premissa de que os artefatos da XP possuem foco em estórias de usuário e código, o risco
de projeto pode aumentar. Neste momento, a confiança recíproca é um fator vital.
Acerca das atividades e dos papéis dentro do desenvolvimento do projeto, o RUP divide as
tarefas de forma específica, ao passo que a divisão da XP não distingue funções específicas
dentro das atividades. Isto quer dizer que o programador de um projeto que adote a Extreme
8
O RUP especifica e utiliza softwares da IBM, como o Rational Rose, embora já existam
várias ferramentas que podem ser utilizadas. Por outro lado, a XP não especifica uma
ferramenta para o processo, ainda que possa utilizar ferramentas livres como o Junit e o
XPlanner (XP, 2007).
Para tratar o código, o Rational Unified Process o subdivide em subsistemas (quando se trata
de um sistema grande), delegando também membros responsáveis para cuidar de cada uma
das partes (IBM, 2007). O XP trata o código coletivamente, permitindo que qualquer
programador modifique o código caso encontre algum problema ou solução de otimização.
De acordo com as comparações da tabela 1, pode-se concluir que ambas as abordagens têm
pontos fortes e fracos (MOLPECERES, 2007). Enquanto o foco do Rational Unified
Programming são projetos complexos, nos quais são necessárias especificações maiores do
projeto, a Extreme Programming possui seu foco em projetos mais simples, nos quais a
burocracia e o excesso de documentos se caracterizam como perda de tempo.
O objetivo futuro dos representantes das metodologias ágeis é eliminar os pontos fracos,
como por exemplo a falta de análise de riscos, sem que isso as tornem metodologias pesadas.
Não está no escopo da Extreme Programming a preocupação formal com o planejamento de
9
Outro aspecto é que para tornar as metodologias ágeis soluções para grandes empresas e
equipes, visto que nestas empresas cada vez mais os indivíduos que participam de equipes se
encontram dispersos geograficamente, será importante resolver os problemas de comunicação.
6. CASOS DE SUCESSO
Ford Motor Credit é uma das maiores empresas de financiamento de automóveis do mundo,
com operações em 36 países. Promove financiamento para produtos de montadoras como
Ford, Aston Martin, Jaguar, Land Rover, Mazda, dentre outras.
Desta forma, a Ford Motor Credit padronizou suas iniciativas de TI para desenvolvimento de
software na metodologia IBM Rational Unified Process. Tomando como base um viés similar
ao de outras empresas, o RUP foi customizado de acordo com as necessidades específicas. A
equipe utilizou a metodologia RUP com gerentes de projetos, times de serviço e experts para
customizá-la e adequá-la às suas necessidades. Com base em Java 2 Enterprise Edition, o
departamento de TI implantou a Metodologia de Entrega de Soluções Unificada - Unified
Solution Delivery Methodology (USDM), para seus projetos de software. Para viabilizar a
adoção da USDM, a qual é baseada na abordagem iterativa característica do RUP, a empresa
criou um detalhado programa de treinamento. Durante o processo, os instrutores ensinavam
ao time de desenvolvimento os primeiros passos para usar a nova metodologia. Depois que os
membros das equipes adquirem experiência com um ou dois projetos com a ajuda dos
instrutores, eles já se tornam preparados para desenvolver sem acompanhamento (IBM,
2007).
Para lidar com os riscos de projeto foi criada uma ferramenta para mapeamento de caso de
uso para riscos. Dirigindo-se a riscos precocemente no ciclo de vida do desenvolvimento, e
dando prioridade aos casos do uso baseados no retorno no investimento, as equipes do
desenvolvimento da Ford Motor Credit estabeleceram uma arquitetura estável, dando mais
10
Durante o ano de 2005, uma equipe de professores e alunos da AgilCoop, uma empresa de
desenvolvimento formada por alunos e professores da USP, que utilizam metodologias ágeis,
prestaram uma assessoria à Assembléia Legislativa do Estado de São Paulo - ALESP. Iniciou-
se o desenvolvimento de um projeto para a área de Recursos Humanos. Por se tratar de um
projeto de grande complexidade, com diversas especificações, foi preciso fazer antes uma
minuciosa análise de requisitos.
Ao invés de entender e documentar a lógica do negócio, o grupo optou por desenvolver este
entendimento ao mesmo tempo em que capacitava a equipe, através de um treinamento
intensivo. Depois de três meses de treinamento já se começava a notar os primeiros
resultados, explicitados nas linhas de código iniciais. Após oito meses de assessoria, com o
uso dos princípios da XP, o projeto foi entregue com resultados satisfatórios (AGILCOOP,
2007).
No período de 2006, foi expandida a parceria com a ALESP: são mais membros da AgilCoop
e alunos da USP implementando métodos ágeis na criação e manutenção do sistema de
Recursos Humanos, do portal e do sistema de apoio ao legislativo.
Este projeto conta com a participação de programadores experientes, dentre os quais Alfredo
Goldman e Fabio Kon, professores doutores do departamento de ciência da computação da
Universidade de São Paulo (AGILCOOP, 2007). Isso mostra que o desenvolvimento usando a
XP demanda profissionais com considerável conhecimento em programação.
7. CONSIDERAÇÕES FINAIS
O objetivo deste artigo não é apontar um método nem mostrar que um anula o outro, visto que
suas características devem ser adotadas em situações de desenvolvimento diversas. É
importante para o desenvolvedor conhecer o que há de melhor nos dois mundos e suas
limitações a fim de que a adoção de um método possa atender suas expectativas de
gerenciamento, custo e prazo.
Para que surja interesse nas grandes organizações pela abordagem dos métodos ágeis muitas
respostas ainda devem ser obtidas, como por exemplo: como gerenciar o risco, como
viabilizar a comunicação em locais dispersos, como garantir a certificação, dentre outras.
Todo novo paradigma exige um tempo de maturação, em que os pioneiros acreditam na idéia
e quebram barreiras no intuito de adquirir a confiança do mercado.
11
8. REFERÊNCIAS
KOHRELL, D.; WONCH, B. Using RUP to manage small projects and teams. Rational
Software White Paper, 2005.
PIRES, C. G. et al. Uma Arquitetura de Processos para SW-CMM Nível 3 Baseada no RUP.
Disponível em: <http://www.sbc.org.br/bibliotecadigital/download.php?paper=232>
Acesso em: 23/03/07.
ROYCE, W.W. Managing the development of large software systems: concepts and
techniques. Proc. IEEE Westcon, Los Angeles, CA.
SMITH, J. A Comparison of the IBM Rational Unified Process and Extreme Programming.
Rational Software White Paper, 2003.