You are on page 1of 58

Conhecimento

faz diferena!

Capa ESM - Final .pdf 19.02.08 18:15:13

Engenharia de Software
Saiba seu significado e para que serve
magazine

Edio Especial



 

  
Entenda os principais conceitos sobre
Testes e Inspeo de Software

Verificao, Validao & Teste


Ferramentas Open Source e melhores
prticas na gesto de defeitos
Requisitos Projeto
Conhea os principais conceitos envolvidos Entenda o conceito de Arquitetura de Software e
na Engenharia de Requisitos como trabalhar com os Estilos Arquiteturais

Especial Processos
Mais de 60 mil downloads
Melhore seus processos atravs da
anlise de risco e conformidade
Veja como integrar conceitos de
Modelos Tradicionais e geis
Veja como integrar o Processo
Unificado ao desenvolvimento Web
na primeira edio!

Faa j sua assinatura digital! | www.devmedia.com.br/es

Faa um up grade em sua carreira.


Em um mercado cada vez mais focado em qualidade ter conhecimentos aprofundados sobre requisitos, metodologia, anlises,
testes, entre outros, pode ser a diferena entre conquistar ou no uma boa posio profissional. Sabendo disso a DevMedia
lana para os desenvolvedores brasileiros sua primeira revista digital totalmente especializada em Engenharia de Software.
Todos os meses voc ir encontrar artigos sobre Metodologias Ageis; Metodologias tradicionais (document driven);
ALM (application lifecycle management); SOA (aplicaes orientadas a servicos); Analise de sistemas; modelagem; Mtricas;
orientao objetos; UML; testes e muito mais. Assine j!
EDITORIAL

N
esta edio a Engenharia de Software Magazine volta a des-
tacar como tema de capa a agilidade no desenvolvimento de
software. Desta vez, o foco da discusso ser sobre a gerncia
de projetos. Para isto, trazemos duas matrias muito interessantes. Na
primeira delas, Desafios para o gerenciamento gil de projetos cola-
Ano 2 - 19 Edio 2009 Impresso no Brasil
borativos, sero apresentadas as definies e os desafios envolvidos
Corpo Editorial no gerenciamento de projetos colaborativos, gerenciamento de pro-
jetos tradicionais e gerenciamento gil, realizando uma comparao
Colaboradores
com os conceitos clssicos do gerenciamento de projetos.
Rodrigo Oliveira Spnola
rodrigo@sqlmagazine.com.br No segundo artigo, Softwares para gerenciamento de projetos, vere-
Marco Antnio Pereira Arajo mos o que so softwares para apoiar o Gerenciamento de Projetos, as
Eduardo Oliveira Spnola suas funcionalidades e uma abordagem dos principais sistemas exis-
Reviso e Superviso tentes no mercado, destacando o que pode ser evoludo para abraar
Thiago Vincenzo Ciancio - thiago.v.ciancio@devmedia.com.br o gerenciamento de projetos colaborativos e o desenvolvimento gil.
Coordenao Geral Alm destas matrias, esta edio traz mais quatro artigos:
Daniella Costa - daniella@devmedia.com.br Arquitetura Orientada a Servios
Diagramao Arquitetura REST: Uma alternativa para construo de Servios Web
Janete Feitosa Usando banco de dados objeto-relacionais
Capa Gesto de Portflio de Projetos
Romulo Araujo - romulo@devmedia.com.br
Na Web
www.devmedia.com.br/esmag
Apoio
Desejamos uma tima leitura!
Equipe Editorial Engenharia de Software Magazine

Parceiros:
Rodrigo Oliveira Spnola
rodrigo@sqlmagazine.com.br
Doutorando em Engenharia de Sistemas e Computao (COPPE/UFRJ). Mestre em
Engenharia de Software (COPPE/UFRJ, 2004). Bacharel em Cincias da Computao
(UNIFACS, 2001). Colaborador da Kali Software (www.kalisoftware.com), tendo mi-
nistrado cursos na rea de Qualidade de Produtos e Processos de Software, Requisitos
Atendimento ao Leitor e Desenvolvimento Orientado a Objetos. Consultor para implementao do MPS.BR.
A DevMedia conta com um departamento exclusivo para o atendimento ao leitor. Atua como Gerente de Projeto e Analista de Requisitos em projetos de consultoria na
Se voc tiver algum problema no recebimento do seu exemplar ou precisar de COPPE/UFRJ. Colaborador da Engenharia de Software Magazine.
algum esclarecimento sobre assinaturas, exemplares anteriores, endereo de
bancas de jornal, entre outros, entre em contato com:
Cristiany Queirz Atendimento ao Leitor
www.devmedia.com.br/mancad
(21) 2220-5338 Marco Antnio Pereira Arajo
Kaline Dolabella (maraujo@devmedia.com.br)
Gerente de Marketing e Atendimento
kalined@terra.com.br Doutor e Mestre em Engenharia de Sistemas e Computao pela COPPE/UFRJ - Li-
(21) 2220-5338 nha de Pesquisa em Engenharia de Software, Especialista em Mtodos Estatsticos
Computacionais e Bacharel em Matemtica com Habilitao em Informtica pela
Publicidade
UFJF, Professor e Coordenador do curso de Bacharelado em Sistemas de Informao
Para informaes sobre veiculao de anncio na revista ou no site entre em
do Centro de Ensino Superior de Juiz de Fora, Professor do curso de Bacharelado em
contato com:
Sistemas de Informao da Faculdade Metodista Granbery, Professor e Diretor do Cur-
Kaline Dolabella
publicidade@devmedia.com.br so Superior de Tecnologia em Anlise e Desenvolvimento de Sistemas da Fundao
Educacional D. Andr Arcoverde, Analista de Sistemas da Prefeitura de Juiz de Fora,
Fale com o Editor!
Colaborador da Engenharia de Software Magazine.
muito importante para a equipe saber o que voc est achando da revista: que tipo de artigo
voc gostaria de ler, que artigo voc mais gostou e qual artigo voc menos gostou. Fique a
vontade para entrar em contato com os editores e dar a sua sugesto!
Se voc estiver interessado em publicar um artigo na revista ou no site SQL Magazine, Eduardo Oliveira Spnola
entre em contato com os editores, informando o ttulo e mini-resumo do tema que voc (eduspinola@gmail.com)
gostaria de publicar: Editor das revistas Engenharia de Software Magazine, SQL Magazine, WebMobile.
Rodrigo Oliveira Spnola - Colaborador bacharel em Cincias da Computao pela Universidade Salvador (UNIFACS) onde
editor@sqlmagazine.com.br atualmente cursa o mestrado em Sistemas e Computao na linha de Engenharia de
Software, sendo membro do GESA (Grupo de Engenharia de Software e Aplicaes).
Caro Leitor
Para esta edio, temos um conjunto de 5 vdeo aulas. Estas vdeo aulas esto disponveis para download no Portal da
Engenharia de Software Magazine e certamente traro uma significativa contribuio para seu aprendizado. A lista de
aulas publicadas pode ser vista abaixo:

Tipo: Projeto Tipo: Projeto


Ttulo: Diagrama de Classes na Prtica Partes 9 a 11 Ttulo: Diagrama de Classes na Prtica Partes 12 e 13
Estudo de Caso 2 Estudo de Caso 3
Autor: Rodrigo Oliveira Spnola Autor: Rodrigo Oliveira Spnola
Mini-Resumo: Esta aula parte de uma srie sobre a construo de Mini-Resumo: Esta aula parte de uma srie sobre a construo
diagrama de classes da UML. O objetivo do conjunto de aulas apresentar de diagrama de classes da UML. O objetivo do conjunto de aulas
de forma prtica como elaborar o diagrama de classes a partir de diferentes apresentar de forma prtica como elaborar o diagrama de classes
estudos de caso. Nestas aulas, daremos continuidade elaborao do a partir de diferentes estudos de caso. Nestas aulas, dado incio
diagrama de classes para o segundo estudo de caso. Nesta etapa, sero elaborao do diagrama de classes para o terceiro estudo de caso.
identificadas as operaes e relacionamentos das classes.Ao final teremos Nesta etapa, sero identificados os atributos e as classes de nosso
o diagrama de classes elaborado para o segundo estudo de caso. diagrama.

NDICE

Abordagens geis de Desenvolvimento

05 - Desafios para o gerenciamento gil de projetos colaborativos


Camila de Araujo

16 - Softwares para gerenciamento de projetos


Camila de Araujo

Abordagens Tradicionais de Desenvolvimento


24 - Arquitetura Orientada a Servios
Anderson Dias Ribeiro e Giuliano Prado de Morais Giglio

33 - Arquitetura REST
Lvia Ruback e Regina Braga

39 - Usando banco de dados objeto-relacionais


Ana Cristina Melo

Planejamento e Gerncia
47 - Gesto de Portflio de Projetos
Cristine Gusmo e Carlos Henrique R. Alexandria

4 Engenharia de Software Magazine


M etodologias geis

Desafios para o gerenciamento gil de projetos


colaborativos
De que se trata o artigo?
Este artigo apresenta as definies e os desafios
envolvidos no gerenciamento de projetos colabora-
tivos, gerenciamento de projetos tradicionais e ge-
renciamento gil, realizando uma comparao com
os conceitos clssicos do gerenciamento de projetos.

Para que serve?

O
objetivo deste artigo apresentar Com a constante aquisio de empresas de desen-
as definies e, principalmente, volvimento por outras empresas de desenvolvimen-
os desafios envolvidos no ge- to acredita-se que em alguns anos ser comum a
renciamento de projetos colaborativos, gerncia de projetos de forma colaborativa, visto que
gerenciamento de projetos tradicionais e estas empresas estaro espalhadas geograficamen-
propostos no enfoque do gerenciamento te. Alm disso, a necessidade de entregar verses do
Camila de Araujo gil de projetos, contrapondo-os aos sistema mais rapidamente e que atendem em evo-
Possui graduao em Bacharelado em Siste- conceitos ditos tradicionais (clssicos) luo s necessidades do cliente indicam um cenrio
mas de Informao pela Universidade Esta-
de gerenciamento de projetos. No se adequado para o desenvolvimento gil. Nesse artigo
dual Paulista Jlio de Mesquita Filho (2003)
e mestrado em Engenharia de Produo pela pretende descrever os tradicionais, voc conhecer estas duas formas de GP.
Universidade de So Paulo (EESC-USP, 2008). pois h uma vasta literatura sobre o
Atualmente doutoranda em Engenharia tema, de fcil acesso e padronizada por Em que situao o tema til?
de Produo na Universidade de So Paulo associaes profissionais1. A primeira Este tema til para todos aqueles que lidam com
(EESC-USP), com a pesquisa Software de
seo apresenta a definio de Geren- gerncia de projetos e que esto interessados em
apoio ao gerenciamento gil de projetos cola-
borativos de novos produtos. Tem experincia ciamento de Projetos Colaborativos e conhecer e/ou adotar o gerenciamento de projetos
na rea de Engenharia de Produo, com seus conceitos bsicos como colaborao colaborativos ou mtodos geis em seus projetos.
nfase em Gerncia do Projeto e do Produto, e classificao de projetos. A seo se-
atuando principalmente nos seguintes temas: guinte apresenta as crticas teoria de
softwares de gerenciamento de projetos,
gerenciamento de projetos e o enfoque 1 Gesto tradicional, aqui tratada como clssica.
gerenciamento gil de projetos, projetos co-
laborativos de novos produtos, sistemas de gil no gerenciamento de projetos com Sugere-se que se consulte a seguinte bibliografia:
informao e desenvolvimento de produto. sua definio, seus objetivos, princpios VERZUH(2000); PMBOK(2004); e KERZNER(2002).

Edio 19 - Engenharia de Software Magazine 5


e valores, e sua aplicabilidade no gerenciamento de projetos entre duas ou mais organizaes, a fim de atingir objetivos
de desenvolvimento de produtos. Por fim, realizamos uma comuns; e a de Katz e Martin (1997), como o trabalho conjunto
sntese dos desafios identificados. de indivduos para atingir objetivos comuns.
Mas essas definies no exploram em profundidade um aspec-
Desafios no gerenciamento de projetos colaborativos to do trabalho colaborativo: a criao conjunta. Duas empresas
que trabalham em um mesmo projeto podem, no necessaria-
Definio e conceitos bsicos da colaborao mente, influenciar da mesma maneira no resultado final. Assim
Nooteboom (1999) diz que a razo fundamental pela qual corre-se o risco de confundir colaborao com outros tipos de
as empresas se associam a oportunidade de complementar relacionamentos que no apresentam nveis similares de com-
suas competncias para produzir valor agregado e inovao. plexidade gerencial. Um caso emblemtico a subcontratao
A associao com outras empresas fundamental no atual de servios de desenvolvimento. O cliente concebe o produto,
cenrio de desenvolvimento tecnolgico. O caso da Procter & define as caractersticas essenciais e delega a outra empresa
Gamble, apresentado por Huston e Sakkab (2006), demonstra trabalhos especficos de detalhamento, sem que haja interao
claramente esse problema. Uma empresa que possui uma es- ou contribuio do fornecedor no resultado preconcebido. Neste
trutura de desenvolvimento tecnolgico significativa, frente ao caso, pode haver uma diviso de tarefas clara e bem delimitada,
padro da maioria das empresas, e que, apesar disso, reconhece que faz o esforo no ser realmente de cooperao, na medida em
a dificuldade de manter-se atualizada nas vrias tecnologias que envolve pequena interao entre as partes.
necessrias ao seu negcio. Assim, apesar do tradicional inves- O estudo de Camarinha-Matos et al. (2006) descreve os vrios
timento em P&D, a empresa permanece na busca de parcerias, nveis de integrao entre parceiros que foram analisados e
criando redes de colaborao. utilizados na definio de colaborao. Os autores apresen-
Rycroft e Kash (2004) identificam a globalizao como sendo tam uma classificao de quatro tipos de envolvimento: rede,
a fora que induz colaborao entre vrios tipos de organiza- coordenao, cooperao e colaborao. O mais avanado, dito
o. Combinando a fora, a percia e o conhecimento de equipes colaborao, envolve objetivos, identidades, responsabilidades
tcnicas diversas e dispersas geograficamente, as tecnologias e trabalho conjuntos, quer dizer, a criao do produto final
podem ser desenvolvidas em menos tempo (DAVIS, KEYS e realizada conjuntamente pelos parceiros: por meio de intensa
CHEN, 2004). Talvez, no futuro, as empresas que conseguiro troca de informaes. Por deixar esse aspecto mais evidente,
manter-se na liderana do desenvolvimento tecnolgico e de adota-se neste trabalho a definio do nvel mais avanado
produtos sejam aquelas que consigam se associar s redes que desses autores (CAMARINHA-MATOS et al., 2006): Um pro-
contemplem todas as competncias necessrias para o desen- cesso em que entidades compartilham informaes, recursos
volvimento dos produtos e que saibam melhor como atuar de e responsabilidades para planejar, implementar e validar um
forma colaborativa (HUSTON e SAKKAB, 2006). Empresas que programa de atividades para atingir um objetivo comum.
sejam tambm aptas a criar processos de negcio capazes de
acessar o conhecimento compartilhado (KODAMA, 2007). Definio de projeto colaborativo
O desenvolvimento colaborativo , portanto, um fenmeno Um dos fatores que contriburam para a difuso da literatura
atual. Na literatura existem vrias definies de colaborao de gerenciamento de projetos foi o lanamento, a partir de 1987,
em termos de desenvolvimento de produto. Desde a dcada do PMBOK (Project Management Body of Knowledge) pelo PMI
de 80 que esse fenmeno vem sendo desenvolvido do ponto (Project Management Institute), difundindo e padronizando os
de vista gerencial, com diversos nomes (alianas estratgicas, termos empregados no gerenciamento de projetos.
parcerias, etc.) e sob diferentes aspectos. Amaral (1997) e Segundo esse padro, um projeto um esforo temporrio
Amaral e Toledo (2000) apresentam uma compilao espe- para criar um produto (item final ou componente), servio
cfica sobre a colaborao no desenvolvimento de produtos, (funes de negcio para suporte ou distribuio) ou resul-
na qual identificam linhas de pesquisa distintas e comparam tado exclusivo (documentos, por exemplo, de conhecimento
diferentes definies. aplicado de pesquisa cientfica) (PMBOK, 2004). Os membros
Em um estudo recente, Emden, Calantone e Droge (2006) dessa associao consideram tambm o conceito de programa,
apresentam uma extensa reviso sobre colaborao no desen- definido como um conjunto de projetos visando um resultado
volvimento de produto. Os autores definem colaborao no principal (PMBOK, 2004).
desenvolvimento de produto como um tipo de relacionamento At 2003, os projetos eram classificados, de forma simples,
inter-organizacional, caracterizado por nveis elevados de como nicos ou mltiplos (programa). Evaristo e Fenema (1999)
transparncia e onde cada participante contribui com uma propuseram uma tipologia de projetos e programas de acordo
parcela significativa do resultado final do projeto. Essas duas com a localizao fsica. Segundo os autores, os projetos ou
caractersticas interao e objetivos comuns so os aspectos programas podem ser realizados e gerenciados dentro de uma
fundamentais que designam praticamente todas as definies nica organizao ou distribudos em diferentes organizaes,
de colaborao. Exemplos de definies que seguem essa linha com localizaes distintas. Essa diferena representaria desa-
so as de Mattessich e Monsey (1992), segundo a qual cola- fios e esforos gerenciais distintos, justificando a necessidade
borao uma relao bem definida e mutuamente benfica da categorizao.

6 Engenharia de Software Magazine - Desafios para o gerenciamento gil de projetos colaborativos


M etodologias geis

Quando comparada ao conceito de projetos colaborativos, Sntese dos desafios no gerenciamento de projetos colaborativos
descrito na seo anterior, nota-se que essa classificao Dodgson (1992) afirmava que a interao entre os parceiros
considera apenas o aspecto do envolvimento de diferentes era um ponto crtico no desenvolvimento de projetos (DODG-
organizaes em um mesmo projeto, porm no caracteriza o SON, 1992). Esses problemas ainda so perceptveis. Moody e
aspecto da diviso de tarefas. H projetos que so realizados Dodgson (2006) apresentam um estudo de caso de um projeto
por duas ou mais organizaes e distribudos, nos quais o complexo de desenvolvimento de satlite que envolveu a cola-
trabalho concebido, planejado e controlado por apenas borao de vrias organizaes. Uma das concluses do estudo
uma delas, como o caso de projetos de desenvolvimento que a influncia da liderana significativamente maior se
de produtos totalmente controlados pelos clientes. Segundo comparada aos projetos tradicionais. Ela fundamental para
a teoria de projetos colaborativos, esses casos seriam distin- garantir uma interao suficiente entre as equipes das dife-
tos daqueles nos quais os membros das duas organizaes rentes organizaes.
tenham que definir e criar as solues conjuntamente, No comeo da atual dcada, Kerzner (2002) afirmou que
negociar prazos e mtodos de trabalho, como o caso do com as constantes fuses e aquisies de empresas, o ge-
envolvimento de parceiros de risco no desenvolvimento de renciamento de projetos multinacionais ser um dos grandes
novos produtos. As duas situaes representam problemas desafios desta dcada, pois existem muitas dificuldades
com nveis de complexidade distintos em termos de geren- inerentes s fronteiras organizacionais (BARNES, PASHBY e
ciamento de projetos. GIBBONS, 2006).
Portanto, prope-se neste artigo uma adaptao da tipo- Pesquisas sobre projetos colaborativos de engenharia apre-
logia de Evaristo e Fenema (1999). A Figura 1 representa sentam alguns fatores que os impedem de atingirem seus
a adaptao dessa tipologia, que considera no somen- objetivos (HAMERI e PUITTINEN, 2003):
te o conceito de distribuio fsica, como tambm o de Falta de informao sobre o que as outras equipes do projeto
colaborao. esto fazendo (progresso das tarefas);
Falha no controle de mudana do projeto;
Vises diferentes sobre os objetivos do projeto;
Rigidez no planejamento do projeto e das rotinas;
Reaes pouco produtivas em relao s mudanas repenti-
nas no ambiente do projeto;
Dificuldades tecnolgicas inesperadas.

Barnes, Pashby e Gibbons (2006) realizaram uma reviso da


literatura e identificaram os fatores de sucesso dos projetos
colaborativos no caso indstria-indstria:
Objetivos claramente definidos;
Responsabilidades claramente definidas;
Plano de projeto aceito pelas partes;
Recursos adequados;
Figura 1. Tipologia de Projetos para o desenvolvimento de Produtos
Marcos de projeto definidos;
(Fonte: adaptado de Evaristo e Fenema (1999))
Monitoramento regular do progresso;
Definem-se como colaborativos, ento, os projetos onde h Comunicao efetiva;
um esforo compartilhado no contedo e, portanto, prazos, Entrega garantida dos colaboradores.
metas e o controle gerencial negociados; independentemente
de as equipes de cada organizao estarem em um mesmo Pode-se notar que existe um alinhamento dos fatores cr-
local ou de trabalharem distribudas. ticos de sucessos observados por Barnes, Pashby e Gibbons
A tipologia a ser empregada neste trabalho utiliza, por- (2006) com os fatores que impedem o alcance dos objetivos
tanto, quatro classificaes, conforme apresentadas na de um projeto, por Hameri e Puittinen (2003), apresentados
Figura 1. na Tabela 1.
A literatura sobre projetos colaborativos de desenvolvi-
mento de produtos tradicionalmente aborda os projetos do Fatores de Hameri e Puittinen (2003) Fatores de Barnes, Pashby e Gibbons (2006)
tipo Colaborativo-Distribudos (KVAN, 2000; NAOUM, 2003; Falta de informao sobre o que as outras
e HUSTON e SAKKAB, 2006). Comunicao efetiva
equipes do projeto esto fazendo
Este artigo ocupa-se dos problemas e limitaes dessa te- Vises diferentes sobre os objetivos do
Objetivos claramente definidos
oria. Foram observadas crticas e desafios em dois tipos de projeto
literatura: nos trabalhos sobre gerenciamento colaborativo Plano de Projeto aceito pelas partes, recursos
Falha no controle de mudana do projeto
de projetos de produtos e na literatura sobre gerenciamento adequados.
de projetos em geral. Tabela 1. Alinhamento de fatores para sucesso de um projeto colaborativo

Edio 19 - Engenharia de Software Magazine 7


Portanto, para tentar superar os desafios existentes, o ge- estratgia organizacional, gerenciamento de portiflio (plano
renciamento de projetos colaborativos necessita do apoio de agregado de projetos) e a definio e estratgias na conduo
ferramentas que privilegiem a comunicao, a atualizao dos projetos;
das informaes e um controle da progresso das atividades Medidas para avaliao dos projetos. Segundo o autor, o
regulado por entregas efetivas. enfoque tradicional mediria o sucesso do projeto em termos
apenas de cumprimento das metas do projeto: oramento,
Desafios do gerenciamento de projetos e o escopo e restries de tempo. Questes como necessidade de
gerenciamento gil de projetos excelncia, melhoria contnua e superao das necessidades
dos clientes no estariam sendo tratadas;
Crticas aos mtodos tradicionais de gerenciamento de projetos Alterao do enfoque da manufatura para o enfoque de
A teoria tradicional de gerenciamento de projetos recebeu servios. De acordo com o autor, o enfoque da teoria atual
grande ateno no incio dos anos 90 com a publicao de ajusta-se aos padres e especificaes, comuns em um ambien-
padres de corpos de conhecimentos pelas associaes pro- te de grandes projetos, onde o mais importante o produto
fissionais de gerenciamento de projetos. O mais difundido a fsico obtido, manufaturado. Atualmente, os servios seriam
proposta pelo Project Management Institute (PMBOK, 2004). Esse to, ou mais, importantes. O grau de orientao ao cliente teria
padro prope a descrio dos conceitos em um conjunto de que ser muito maior, fazendo com que a gesto das expecta-
processos do gerenciamento de projetos. Esses processos so tivas dos interessados (stakeholders), a percepo deles quanto
organizados em reas do Conhecimento. So nove reas do ao sucesso do projeto, seja fundamental para a avaliao do
conhecimento: Integrao, Escopo, Tempo, Custos, Qualidade, resultado do projeto;
Recursos Humanos, Comunicao, Riscos e Aquisies. E Foco na fase de execuo. O autor afirma que a fase de
consideram cinco grupos de processo: Iniciao, Planejamento, execuo pouco desenvolvida na teoria de gerenciamento
Execuo, Controle e Encerramento. Essas reas e grupos de de projetos e que muitos textos da rea parecem sugerir que
processo so empregados neste artigo, mas no sero descritos o planejamento e uso de sistemas de informao seriam sufi-
em detalhe, pois h muitas referncias de fcil acesso sobre cientes para controle dos projetos;
o assunto, tais como: PMBOK (2004); Carvalho e Rabechini Incertezas quanto s estimativas empregadas no plane-
(2005), entre outros. jamento de projetos. O autor afirma que, para planejar um
No final dos anos 90, ao mesmo tempo em que houve uma projeto, necessrio que as estimativas possuam certo nvel de
expanso na difuso e aplicao dos mtodos e tcnicas de confiana, que difcil de ser obtida. Na prtica, seria possvel
gerenciamento de projetos, surgiram abordagens alternativas apenas em intervalos de curto prazo, diferentemente dos que so
e propostas de modificao. utilizados no planejamento tradicional de projetos. Cita ainda,
Uma das primeiras foi a atualmente conhecida como Teoria neste aspecto, as crticas realizadas por Goldratt (2005)2;
da Corrente Crtica, proposta por Goldratt (2005). Trata-se Foco no Grfico de Gantt. Segundo o autor, haveria uma
de uma modificao em alguns aspectos da teoria de geren- valorizao e emprego excessivo do Grfico de Gantt na abor-
ciamento de projetos, segundo os conceitos da Teoria das dagem tradicional. Na opinio deste, o grfico bem elaborado,
Restries, desenvolvida pelo mesmo autor. Neste enfoque por meio do uso de ferramentas computacionais, teria como
gerencial, os problemas so analisados sempre sob o ponto de efeito a criao de uma forte credibilidade e a iluso de que
vista da restrio. No caso do gerenciamento de projetos, tais h um bom plano de projeto; mesmo quando as atividades
autores propem a realizao de planejamentos em quais os e recursos no tenham sido bem definidos e/ou estimados.
recursos so programados segundo a capacidade mxima do Mais, o Grfico encorajaria uma abordagem de planejamento
recurso-gargalo, isto , aquele com maior carga de trabalho. de um nico passo, isto , sem o necessrio acompanhamento e
Para faz-lo, os autores propem pequenas alteraes, intro- contnuo replanejamento. Em terceiro lugar, o Grfico de Gantt
duzindo conceitos como pulmo de projeto e recurso-tambor encorajaria o gerente de projeto a controlar todas as atividades
(GOLDRATT, 2005). do projeto, transferindo parte da responsabilidade da equipe
Maylor (2001) afirma que muitas empresas que apresentam pelo controle de tempo. Segundo o autor, isso estaria levando
excelncia em gerenciamento de projetos, em determinadas tendncia de transformar gerentes de projeto em operadores
reas de atividade no fazem uso da teoria tradicional de de softwares computacionais, mais do que pessoas responsveis
gerenciamento de projetos. Empregam outras tcnicas e sim- pela discusso e negociao;
plificaes que no tm sido sistematicamente estudadas pelos Uso de recursos alternativos de planejamento. O autor
tericos da rea de gerenciamento e que, por isso, as tcnicas cita um caso de uma empresa transnacional que obteve um
teriam evoludo pouco nos ltimos 20 anos at 2001. As ques- desempenho de excelncia em projetos de desenvolvimento de
tes principais a serem estudadas, segundo o autor, seriam: produtos utilizando recursos como quadro branco e post-its.
Relacionamento entre estratgia organizacional e a estra- Eles eram empregados para planejar o conjunto de projetos de
tgia na conduo dos projetos. Segundo o autor, a teoria
apresentaria um relacionamento fraco entre as duas estra- 2 Referenciamos a edio em portugus. Maylor (2001) cita a referncia original
tgias por haver poucos mtodos e tcnicas que relacionem de 1997. Goldratt apud Maylor (2001).

8 Engenharia de Software Magazine - Desafios para o gerenciamento gil de projetos colaborativos


M etodologias geis

maneira hbrida, com as ferramentas computacionais, onde os entre diferentes grupos com interesses diferentes fazem parte
colaboradores utilizavam softwares de planejamento de projetos dessa direo (WINTER et al., 2006).
para subprojetos ou entregas especficas. O autor cita outro A terceira linha de pesquisa destaca a mudana de foco na
caso de um gerente de projetos de construo civil em que criao do produto para a criao do valor. As metodologias
as ferramentas computacionais atuais, baseadas no Grfico que focam a produo de um produto fsico ou de um sistema
de Gantt e PERT/COM, foram consideradas inadequadas e mudam para a entrega de um valor e no unicamente de
ultrapassadas. um produto. Por exemplo, o foco pode estar na estratgia de
escolha de um projeto de um produto que seja relacionado
Mais recentemente, em 2002, surgiu uma crtica que se tornou com as estratgias de negcio da organizao, permanecendo
conhecida como a teoria do Gerenciamento gil de Projetos o valor do projeto mesmo aps a entrega do produto (WINTER
(Agile Project Management - APM). Trata-se do manifesto, lana- et al., 2006).
do em 2001, conhecido como Manifesto gil. Ele foi elaborado A linha de pesquisa 4, ainda na Teoria para Prtica, apresenta
por profissionais da rea de desenvolvimento de software que a mudana de concepo estreita do projeto para uma ampla
queriam melhorar o desempenho de seus projetos. concepo dele. Isso quer dizer entender o projeto do produto
De acordo com esses autores, haveria cinco objetivos princi- mais do que simples aes para criar um objeto fsico, olhar
pais que consistiriam a base do APM (HIGHSMITH, 2004, p. para ele de vrias perspectivas e, assim, criar um conjunto de
6): inovao contnua para entregar produtos que atendam imagens que podem indicar novas idias e formas de gerenciar
os requisitos atuais dos clientes; adaptabilidade do produto projetos (WINTER et al., 2006).
para entregar produtos que atendam os requisitos futuros dos A ltima linha de pesquisa, Teoria na Prtica, diz que os
clientes; tempo de entrega reduzido para encontrar novos praticantes de GP no devem ser apenas tcnicos treinados nos
mercados e melhorar o retorno de investimento; capacidade procedimentos e ferramentas de GP, mas devem ser praticantes
de adaptao do processo e das pessoas para responder reflexivos e crticos, que aprendem e aplicam suas experincias
rapidamente s mudanas de negcios e produtos; e resul- no desenvolvimento de um projeto (WINTER et al., 2006).
tados confiveis para apoiar o crescimento e aumento de
lucratividade.
Teoria sobre Prtica
Em 2003, foi fundado um projeto de pesquisa chamado de
Direo 1
Rethinking Project Management (2004-2006), apoiado pelo
Modelo de Ciclo de Vida de GP Teorias da Complexidade de GP
Engineering and Physical Sciences Research Council (EPSRC) do
Reino Unido. Trata-se de um projeto em rede, desenvolvido Teoria para Prtica
com o intuito de avaliar as idias dominantes da literatura de Direo 2
gerenciamento de projetos e apresentar direes para futuras Projetos como Processo Instrumental Projetos como Processo Social
pesquisas sobre o tema (WINTER et al., 2006).
O grupo identificou cinco principais linhas de pesquisa para
Direo 3
a melhoria do gerenciamento de projetos, que foram agrupadas
Foco na Criao do Produto Foco na Criao do Valor
em trs sub-temas Teoria sobre Prtica (direo 1), Teoria para
Prtica (direes 2-4) e Teoria na Prtica (direo 5), demons-
trados na Figura 2 (WINTER et al., 2006). Direo 4
Na Teoria sobre a Prtica, apresentada a necessidade do Concepo Estreita dos Projetos Concepo Ampla dos Projetos
desenvolvimento de novos modelos devido complexidade Teoria na Prtica
dos projetos e do seu gerenciamento. Segundo os autores, os
Direo 5
modelos empregariam um padro de ciclo de vida fechado,
isto , previamente definido. A crtica que o aumento da Praticantes como Tcnicos Treinados Praticantes como Praticantes Crticos
complexidade exigiria modelos de ciclo de vida mais flexveis, Figura 2. Linhas para futuras pesquisas em GP (Fonte: adaptado de
e pesquisas neste sentido deveriam ser conduzidas. Para os au- Winter et al. (2006))
tores, os novos modelos precisaro demonstrar a realidade das
prticas de GP, que procuram atender a um ambiente dinmico, Trs fatores so identificados por Cicmil et al. (2006) que
de rpidas mudanas e altos riscos (WINTER et al., 2006). causam atropelamento na execuo dos projetos, quando
A segunda linha de pesquisa identificada foi chamada de esses so gerenciados pelo modelo clssico:
Teoria para Prtica. Na viso dos autores, os projetos so em Complexidade estrutural do produto;
geral imprevisveis e multidimensionais, mais complexos que Mudanas devido ao desconhecimento de atividades e aes
os modelos racionais e determinsticos, que predominariam necessrias;
na literatura de GP. Assim, aprimoramentos que possam con- Tempo restrito para execuo das atividades.
siderar de forma mais eficiente os aspectos, como a mudana
contnua do fluxo de eventos, os efeitos da interao social e Ento, o projeto de um produto de alta complexidade possui
da ao humana. As interaes entre organizaes e relaes na sua gnese, em sua complexidade estrutural e tecnolgica,

Edio 19 - Engenharia de Software Magazine 9


uma fonte de incertezas que dificulta a sua execuo. O planeja- Outras indstrias passaram a adotar prticas denominadas
mento do tempo , portanto, impreciso, e, como conseqncia, de geis, criando adaptaes nos mtodos e tcnicas de Geren-
muitas vezes h restrio dele para execuo das atividades. Os ciamento Clssico de Projetos, para suprir suas necessidades
gerentes de projeto so forados a tomar aes paliativas, que no gerenciamento de projetos complexos. Mas, muitas vezes,
acelerem o ritmo do projeto e podem gerar novos problemas essas adaptaes apresentam restries devido aos mtodos e
(CICMIL et al., 2006). Dessa forma, cria-se um crculo vicioso tcnicas do Gerenciamento Clssico e podem apresentar um
difcil de romper. desempenho ruim, com reduo da eficincia e eficcia dos
Winter et al. (2006) propem que se deve aprofundar a pesquisa resultados (CHIN, 2004).
em tcnicas e mtodos, visando o desenvolvimento de solues Chin (2004), ento, prope o que ele denomina de uma nova
capazes de gerenciar a complexidade. Essa idia prxima da abordagem para o gerenciamento de projetos, quebrando a vi-
proposta de Highsmith (2004) e demais autores do Gerencia- so do forte planejamento prvio das atividades. Assim, temos
mento gil de Projetos, que criticam os mtodos tradicionais o incio do Agile Project Management (APM) ou Gerenciamento
de gerenciamento de projetos por no conseguirem lidar com gil de Projetos.
o ambiente de incerteza, gerado pela complexidade dos proje- O APM foi definido por Highsmith (2004) como []... um
tos atuais. A soluo, segundo os autores, seria a utilizao de conjunto de valores, princpios e prticas que auxiliam a equi-
equipes auto gerenciadas e flexveis. No h dvida, portanto, pe a entregar produtos ou servios de valor em um ambiente
da concordncia dos autores de que a teoria tradicional, dita desafiador.
clssica, no seria til para projetos de alta complexidade, com A Figura 3 mostra esquematicamente a distino entre as
alto grau de inovao e envolvendo diferentes organizaes. duas abordagens. A base de tijolos representa a eficincia,
Em um exemplo de gerenciamento de um projeto de alta com- eficcia de uma plataforma de gerenciamento de projetos. Esta
plexidade, descrito por Moody e Dodgson (2006), observou-se figura tem por objetivo transmitir a mensagem de que a teoria
que as tarefas so continuamente ajustadas e redefinidas con- clssica necessitaria de uma dedicao maior em atividades
forme o projeto se desenvolve, sendo necessria a adaptao exclusivas de gerenciamento (base maior). Ao passo que no
constante do planejamento das atividades. A interao cons- gerenciamento gil, parte dessas atividades so substitudas
tante entre os colaboradores, mais informal e independente por autocontrole da equipe ou atenuadas por meio do emprego
da posio hierrquica, tambm foi observada como mais de tcnicas simplificadas e visuais.
adequada. Desta forma, segundo Moody e Dodgson (2006),
os mtodos para o gerenciamento do projeto devem ser adap-
tados, de forma a atender essas necessidades de flexibilidade,
corroborando as opinies de Winter et al. (2006) e dos autores
do Gerenciamento gil.
A contribuio do grupo de pesquisa Rethinking Project
Management importante, porm, limita-se a criticar a teoria.
Esses autores no propem solues prticas, como mtodos,
tcnicas ou ferramentas. J os autores do Gerenciamento gil
de Projetos propem solues que visam formar um novo cor-
po terico, segundo eles, uma nova abordagem para o geren- Figura 3. Relacionamento entre as abordagens clssica e gil de
ciamento de projetos e que se distinguiria fundamentalmente gerenciamento de projetos (Fonte: CHIN, 2004, p. 3)
da abordagem tradicional. Nas prximas sees, analisa-se de
maneira crtica os conceitos e mtodos propostos pelos autores A Figura 3 no suficiente para descrever as diferenas
do Gerenciamento gil de Projetos. Pelo mesmo motivo, optou- entre as abordagens gil e clssica. Uma forma de faz-lo
se por utilizar o termo Gerenciamento gil de Projetos para descrevendo os objetivos, valores e princpios.
diferenciar do gerenciamento clssico de projetos.
Objetivos, valores, princpios e fases do GP gil
Definio do gerenciamento gil de projetos So cinco os objetivos principais para um bom processo de
As empresas de software operam em um ambiente de rpidas explorao do APM (HIGHSMITH, 2004, p. 6):
mudanas e altos riscos. O gerenciamento de projetos funda- 1. Inovao contnua. Um dos objetivos bsicos do APM entre-
mental, porm sua introduo no havia sido fcil, devido ao que gar produtos que atendam aos requisitos atuais dos clientes de
se considerava como rigidez e foco excessivo no planejamento. Em maneira inovadora. A gerao de idias inovadoras no ocorreria
2001, lanou-se o Manifesto Agile for Software Development (BECK em ambientes autoritrios e burocraticamente estruturados,
et al., 2001), que procura enfatizar o uso dos mtodos chamados isto , com regras bem definidas e tarefas cuidadosamente
de geis, voltado para a colaborao com o cliente, nos indivduos planejadas. Mas, sim, em ambientes que eles denominam de
e respostas rpidas s mudanas. Alguns exemplos desses mto- adaptativos, onde a inovao e novas solues so priorizadas.
dos geis, aplicados para o desenvolvimento de softwares, so o Segundo esses tericos, as prticas como o planejamento prvio
Extreme Programming (XP), Scrum e Crystal Methods. e detalhado das atividades de cada membro e atribuio do

10 Engenharia de Software Magazine - Desafios para o gerenciamento gil de projetos colaborativos


M etodologias geis

controle dos projetos para estruturas organizacionais especfi- segundo plano as metas definidas para o projeto, j que
cas estimulariam o comportamento individualista e inibiriam o cliente quem vai indicar o sucesso do projeto pelo seu
a proposio de idias inovadoras e o envolvimento da equipe nvel de satisfao. Com isso, mais do que se preocupar com
em tarefas como planejamento e controle; a satisfao de metas previamente estipuladas, os membros
2. Adaptabilidade do produto. Segundo os autores da rea, das equipes estariam preocupados se os resultados esto
o APM busca entregar produtos que atendam os requisitos de acordo com as expectativas do cliente: uma anlise mais
futuros dos clientes. As prticas geis integram o custo de qualitativa, portanto.
mudanas como parte do processo de desenvolvimento, para
atender as mudanas do mercado. Na teoria clssica, o produto Alm dos objetivos, os autores de APM descrevem um
definido com todas as suas caractersticas no incio do projeto, conjunto de valores e princpios que norteiam o desenvol-
gerando o planejamento detalhado de todas as atividades. Des- vimento de suas atividades, e que, em tese, habilitariam os
sa forma, alterar uma caracterstica do produto para atender gerentes de projetos a alcanar o desenvolvimento de produtos
a um requisito, por exemplo, pode se tornar uma barreira. O inovadores.
resultado que os integrantes podem adiar demasiadamente Os quatro valores descritos no Manifesto Agile for Software
as mudanas, gerando custos diretos mais elevados, conse- Development so tambm os valores centrais nos textos de
qentemente, prejuzo para a organizao e o cliente; Gerenciamento gil de Projetos (HIGHSMITH, 2004):
3. Tempo de entrega reduzido. O APM tem o objetivo de 1. Respostas s mudanas: as respostas s mudanas so mais
encontrar novos mercados e melhorar o retorno de investi- importantes do que seguir um plano previamente definido;
mento. A principal idia a iteratividade, gerando entregas 2. Entrega de produtos: a entrega de produtos mais impor-
de curto prazo. Sugere-se que equipes pequenas e qualifica- tante do que a entrega da documentao;
das poderiam manter ateno constante nas caractersticas 3. Colaborao do cliente: a colaborao do cliente mais
do produto e foco no curto prazo. Elas deveriam tambm importante do que a negociao de contratos;
considerar cuidadosamente quais caractersticas devem ser 4. Indivduos e interaes: os indivduos e suas interaes so
includas no produto e criar, assim, um processo de desen- mais importantes que os processos e ferramentas.
volvimento concentrado em atividades que agregam valor. A
crtica subentendida, que no explicitamente apresentada por O APM foca nos clientes, produtos e pessoas. Ele visa agre-
Highsmith (2004), a de que a teoria de GP tradicional incenti- gar valor e procura gerar produtos adaptados s necessidades
varia planejamentos detalhados e de longo prazo, diminuindo e visa unir as pessoas em torno de um trabalho efetivamente
o senso de urgncia e distanciando a equipe do foco no valor colaborativo (HIGHSMITH, 2004).
agregado pelas atividades; Cockburn e Highsmith (2001) afirmam que um gerente de
4. Capacidade de adaptao do processo e das pessoas. O projeto tradicional preocupa-se principalmente com o contra-
APM procura responder rapidamente s mudanas de neg- to inicial e com o sistema em si, avaliando-os principalmente
cios e produtos. A meta proposta pelo autor que os membros nos parmetros tempo e custo. J um gerente gil de projeto
da equipe no resistam s mudanas no decorrer do projeto, preocupa-se em ajustar continuamente os resultados por meio
mas entendam que os produtos podem ser modificados ao de uma relao colaborativa com os clientes.
longo do seu desenvolvimento. As equipes tambm precisam So seis os princpios do APM, divididos em duas categorias.
ser receptivas s novas idias. A crtica ao gerenciamento A primeira relacionada ao produto/cliente e a segunda, ao
de projetos clssico a de que a especializao e distancia- gerenciamento (HIGHSMITH, 2004). Esses princpios e seus
mento dos membros da equipe fazem com que resistam s relacionamentos esto apresentados na Figura 4.
mudanas na forma como conduzir as atividades de projeto,
isto , tenderiam a replicar formas de conduta realizadas em
projetos anteriores. E que prticas como controle de mudana
e verificao desestimulariam alteraes nos projetos nas fases
iniciais, gerando problemas futuros. Especialmente no caso de
projetos inovadores em que, segundo o autor, tais mudanas
so necessrias;
5. Resultados confiveis. O APM possui o objetivo de apoiar
o crescimento e aumento de lucratividade do negcio. O
processo de desenvolvimento deve medir a importncia da
entrega para o cliente ou se a entrega est compatvel com o
custo e o tempo estabelecidos para o projeto. Na teoria cls-
sica, como dito anteriormente, o foco est no planejamento
e controle, com nfase na documentao e atividades. Isso
diminui a preocupao com o valor efetivo. J no enfoque
Figura 4. Princpios do Gerenciamento gil de Projetos (Fonte: HIGHSMITH,
gil, a maior preocupao com o cliente, deixando em 2004, p. 28)

Edio 19 - Engenharia de Software Magazine 11


Esses princpios possuem pontos importantes para a caracte- Uma grande diferena da explorao gil para o planejamento
rizao do APM, tais como a gerao de entregas iterativas, que clssico o nvel de detalhe. Aqui, o planejamento s feito
incluem o pressuposto de que um projeto possa ser estruturado at um futuro previsvel, onde colocado um prximo marco
em iteraes curtas e de perodo fixo, e a construo de equipes ou ponto de deciso, evitando assim riscos de planejamentos
adaptativas, que possuem formao varivel, de acordo com as de longo prazo. A fase repete-se ao longo do projeto quantas
necessidades e mudanas necessrias durante o desenvolvimen- vezes for necessrio;
to do projeto, ajustando-se s variaes do ambiente. 3. Explorao: composta de trs atividades crticas. A primeira
Apesar de o APM enfatizar as pessoas frente ao processo, os a entrega dos produtos planejados, atravs do gerenciamento
prprios autores enfatizam que o processo de negcio no deve da carga de trabalho. A segunda a criao de uma comuni-
ser ignorado. Highsmith (2004) afirma que o processo, como dade auto organizada do projeto e a terceira, o gerenciamento
qualquer outro elemento da organizao, deve estar totalmente das interaes das equipes com os clientes, gerente de projeto
alinhado com os objetivos de negcio. e stakeholders, que so as partes interessadas no projeto.
Mas, se a plataforma gil voltada adaptao, flexibilidade Nesta fase, o autocontrole um diferencial. A proposta que
e aprendizado, ento seus processos devem contemplar essas a comunidade do projeto esteja comprometida em realizar as
caractersticas, que definem seu ciclo de vida e fases. So cinco entregas e no sejam apenas participantes passivos, aguardan-
as fases do Gerenciamento gil de Projetos e esto apresenta- do ordens para cumprir tarefas. Eles ajudam a gerenciar sua
das na Figura 5 (HIGHSMITH, 2004, p. 81). carga de trabalho da melhor maneira, contando com a ajuda
do gerente do projeto e no esperando que esse ltimo tome
todas as decises necessrias para entregar o produto ao cliente
e apresentar os resultados aos stakeholders;
4. Adaptao: reviso dos resultados entregues, anlise da
situao atual, avaliao do desempenho da equipe de projeto
e mudanas, se necessrias. Essa reviso considera tambm,
alm da comparao do realizado versus o planejado, o reali-
zado versus informaes e requisitos atualizados do projeto.
Esta fase, junto com a especulao e explorao, ocorre vrias
vezes durante o projeto e envolve o esforo no s do gerente
do projeto, mas de toda a comunidade. Ela caracteriza os
vrios ciclos de mudanas que ocorrem ao longo do projeto
para suprir as demandas atuais e atingir o sucesso do projeto.
Nas prticas clssicas, o planejamento detalhado, que feito
no incio do projeto, inibe adaptaes necessrias, conforme
apresentado nos objetivos do gil. Aqui o objetivo adaptar o
Figura 5. Plataforma do Processo de Gerenciamento gil de Projetos projeto segundo as necessidades atuais, incentivando a equipe
(Fonte: Adaptado de Highsmith, 2004, p. 81) do projeto a ter um esprito crtico e participar da prxima
especulao do projeto;
1. Viso: determinao da viso do produto e do escopo do 5. Encerramento: finalizao das atividades do projeto, transfe-
projeto, identificao da comunidade participante do projeto e rncia dos aprendizados-chave e celebrao. Como ltima fase,
definio de como a equipe do projeto trabalhar em conjunto. aps uma adaptao onde no so identificados mais requisitos
A principal diferena entre o escopo, derivado da prtica clssica, e realizadas as avaliaes de entregas e status do realizado
e a viso, da prtica gil, est na nfase no produto. A descrio versus planejado, o projeto pode ser encerrado. Aqui as prticas
principal que se faz na viso a das especificaes do produto, geis e clssicas so idnticas. Nos dois casos realizado um
primando pela simplificao da documentao, que deve fornecer histrico do projeto para possveis consultas futuras.
uma descrio de alto nvel do produto para os desenvolvedores,
de forma a facilitar a especulao e explorao. Acredita-se que A Tabela 2 apresenta uma correspondncia entre os prin-
isso levaria a um envolvimento maior com o cliente do que nas cipais grupos de processo da plataforma Clssica de GP e as
prticas clssicas de iniciao do projeto, devido ao enfoque con- fases do APM.
tratual (obteno de regras e leis) em linguagem textual; Segundo Chin (2004), uma estrutura que apie as prticas
2. Especulao: planejamento preliminar, que ser seguido por de GP indicada e pode trazer benefcios. O mesmo autor
planejamentos especficos detalhados a cada iterao. Consiste prope que essa estrutura deve incluir: processos, prticas,
na identificao dos requisitos para o produto, desenvolvi- ferramentas de software, modelos de documentos e formu-
mento de um plano de projeto, contendo entregas, marcos, lrios, representados na Figura 6, com as suas interaes.
iteraes, cronograma de trabalho e alocao de recursos, Esses elementos auxiliariam na elaborao de relatrios e
incorporao de estratgias para mitigao de riscos e esti- documentos contendo informaes valiosas para a tomada
mativas de custos e outras informaes financeiras relevantes. de deciso no projeto. Highsmith (2004) enfatiza que os

12 Engenharia de Software Magazine - Desafios para o gerenciamento gil de projetos colaborativos


M etodologias geis

relatrios de status de projeto devem adicionar valor para o termo paradigma, amplamente empregado pelos tericos do
gerente do projeto, gerente de produto, stakeholders e para a APM. A palavra enfoque remete a modelo, padro3. Portanto,
prpria equipe de projeto. dizer novo paradigma parece representar uma forma totalmen-
Analisando-se a estrutura operacional de Chin (2004), pos- te inovadora de se gerenciar projeto. Enfoque, ao contrrio, sig-
svel reconhecer uma significativa influncia com os modelos nificaria uma nova forma de utilizar as ferramentas existentes.
de estruturas para gerenciamento tradicional de projetos, tais A reviso aqui apresentada permite concluir que as propostas
como escritrios de projetos e modelos de gesto de projetos. dos autores de APM representam mais uma especializao da
Notem-se as definies de responsabilidades, cronogramas, teoria de gerenciamento de projetos, para um caso especfico,
uso de padres. Isso se explica na premissa de que a proposta que o de projetos complexos e de produtos inovadores.
dos tericos do gil no significa negligenciar controles, planos
e padronizao. Aplicabilidade do gerenciamento gil de projetos
A comunidade de desenvolvimento de software foi a primeira
Grupo de Processos da GP Clssica Fases do GP gil
a adotar na prtica os conceitos do gerenciamento gil em seus
projetos. A literatura sobre o tema principalmente constituda
Iniciao: autorizao/definio de um escopo Viso: do produto e escopo inicial do projeto
de casos nessa rea (BECK, 1998; BOEHM, 2002; COCKBURN,
preliminar
2002; COHN e FORD, 2003; FOWLER, 2000; AUGUSTINE e
Planejamento: detalhamento de todo projeto Especulao: plano inicial, planejamento a cada
WOODCOCK, 2003).
iterao
Chin (2004) e Highsmith (2004) indicam o uso do gerencia-
Execuo: execuo do plano do projeto Explorao: entrega funcionalidade/produto a
mento gil para projetos tambm para o desenvolvimento de
cada ciclo
produtos manufaturados, desde que com aspectos inovadores
Monitoramento e Controle: progresso do Adaptao: reviso dos resultados entregues e
e em ambientes competitivos. A Figura 7 apresenta os poss-
trabalho e gerenciamento de mudanas adaptaes do escopo
veis ambientes de projeto para aplicao da abordagem gil,
Encerramento: Formalizao do aceite final do Encerramento: aceites do cliente a cada ciclo e
segundo Highsmith (2004).
projeto formalizao final
Tabela 2. Correspondncia entre as abordagens clssica e gil de GP
(Fonte: Dias (2005)

Figura 7. Ambientes para aplicao do enfoque gil (Fonte: adaptado de


Highsmith (2004) por Conforto e Amaral (2007))
Figura 6. Estrutura operacional para apoio ao gerenciamento gil de
A aplicao do gerenciamento gil no desenvolvimento
projetos (Fonte: Adaptado de CHIN, 2004 p. 166)
de produtos fsicos ainda est em fase de estudos. Benassi e
A anlise leva a crer que a proposta desses autores mant- Amaral (2007) e Conforto e Amaral (2007) apresentam anli-
los, porm com uma diferena na forma de aplicao desses ses tericas da aplicao do APM para o desenvolvimento de
conceitos. Trata-se, portanto, de uma proposta de processos produtos. Benassi e Amaral (2007) revisaram a literatura sobre
de gerenciamento de projetos que busca procedimentos mais gerenciamento de projetos e identificaram apenas um trabalho
simples por meio das estratgias como: emprego de quadros e de aplicaes do APM fora do contexto de software. Mais, os
elementos visuais; eliminao de atividades de gerenciamento trabalhos identificados so em sua totalidade tericos. Portan-
que no agregam valor; e transferncia de mecanismos de to, no h dados efetivos de campo, verificando a aplicao
controles burocrticos para a equipe, por meio da autogesto
(HIGHSMITH, 2004 e CHIN, 2004). 3 Segundo Larousse (1992), paradigma um substantivo que designa modelo,
Em virtude dessa anlise que se convencionou neste artigo padro ou norma. O mesmo dicionrio fornece o significado de enfoque como
o uso do termo enfoque para designar o APM, em lugar do ao de enfocar, modo de considerar ou entender um assunto ou questo.

Edio 19 - Engenharia de Software Magazine 13


desses mtodos. Mesmo tendo se passado vrios anos desde ento, realiz-la de forma adequada, garantindo que ela seja o
que Maylor (2001) apresentou a mesma dificuldade. suficiente para agregar valor ao projeto. Formas mais simples,
rpidas e eficientes de documentao e criao dos padres so
Concluso - Sntese dos desafios encontrados fundamentais. Outro desafio combinar a utilizao de pa-
O tpico Desafios no gerenciamento de projetos colabora- dres com a melhoria contnua, isto , a atualizao constante
tivos apresentou as crticas realizadas pelos tericos da rea desses padres de forma a garantir a introduo de melhorias
de gerenciamento de projetos e tambm pelos autores do conforme as experincias em projetos anteriores;
enfoque gil. A anlise dos trabalhos permite mostrar uma e) Implantar tcnicas que permitam o emprego dos princpios
convergncia em termos de crticas teoria de gerenciamento propostos pelo gerenciamento gil de projetos. Conforme
de projetos. Conforme ilustrado na Figura 8, as direes de demonstrado, embora os tericos do gerenciamento gil de
pesquisa apontadas no estudo de Winter et al. (2006) so coe- projetos tenham proposto um conjunto bem organizado de
rentes com as idias propostas no enfoque gil. princpios, h falta de mtodos e tcnicas que permitam utiliz-
los. Ou, ento, a identificao de como adaptar os mtodos e
tcnicas atuais. Os principais desafios so: foco nas pessoas;
equipes auto gerenciadas e flexveis; criao de valor para o
cliente; explorao e adaptabilidade do produto; capacidade
de adaptao do processo e das pessoas.

A Figura 9 apresenta uma sntese dos desafios identificados


na literatura de gerenciamento de projetos e na de gerencia-
mento gil. Identifica tambm a relao entre eles, por meio de
flechas, que indicam quais os desafios so equivalentes.

Figura 8. Coerncia entre as direes do EPSRC e idias do enfoque


gil (Fonte: elaborado pela autora, com base em Winter et al. (2006) e
Highsmith (2004))

A partir da literatura analisada, podem-se identificar, alm


da convergncia das crticas, os principais desafios:
a) Falta de modelos e tcnicas capazes de adequar-se s
mudanas dos projetos. Existe a necessidade de tcnicas e
mtodos para o planejamento e controle capazes de: aumentar
a velocidade da elaborao de planos e sua atualizao; criar
tcnicas de planejamento com planos mais sintticos, sem
perder a preciso e efetividade; criar sistemas de controle
que sejam mais rpidos na identificao das necessidades
de mudana; Figura 9. Sntese e relao entre os desafios encontrados na
b) Falta de modelos e tcnicas que apiem o acompanhamen- literatura (Fonte: elaborada pela autora)
to e alteraes constantes no resultado final. Em virtude das
maiores mudanas, devem-se criar solues para aprimorar o Agradecimentos
acompanhamento dos resultados no produto do projeto. As- Meus agradecimentos ao professor doutor Daniel Capaldo
sim, preciso criar tcnicas de gerenciamento de requisitos e Amaral (EESC;USP), pela orientao durante o desenvolvi-
controles de configurao do produto; mento deste trabalho. Agradeo tambm CAPES pelo apoio
c) Compartilhamento efetivo de recursos. As tcnicas tradi- financeiro e Escola de Engenharia de So Carlos (EESC, USP)
cionais priorizam o gerenciamento centralizado de dados de pela infra-estrutura.
recursos, por meio da criao de pools de recursos. Em projetos
compartilhados ou onde competncias so identificadas no
D seu feedback sobre esta edio! Feedback
decorrer do projeto, geram-se problemas. necessrio criar eu
s
D

tcnicas e mtodos que facilitem o planejamento de recur- A Engenharia de Software Magazine tem que ser feita ao seu gosto.
sobre e

sos compartilhados entre projetos de diferentes nveis de Para isso, precisamos saber o que voc, leitor, acha da revista!
s

ta
complexidade.
edio
D seu voto sobre este artigo, atravs do link:
d) Consumo de tempo em extensa documentao do projeto.
www.devmedia.com.br/esmag/feedback
A padronizao, sem dvida, algo importante. O desafio,

14 Engenharia de Software Magazine - Desafios para o gerenciamento gil de projetos colaborativos


M etodologias geis

Referncias Bibliogrficas

AMARAL, D. C. Colaborao cliente-fornecedor no processo de desenvolvimento de produtos: estudos de EMDEN, Z.; CALANTONE, R.; DROGE, C. Collaborating for New Product Development: Selecting the Partner
caso na indstria automobilstica: escopo, integrao e qualidade do produto. Dissertao (Mestrado em with Maximum Potential to Create Value. Journal of Product Innovation Management, v.23, n.4, p. 330-
341, 2006.
Engenharia de Produo). Universidade Federal de So Carlos, So Carlos, 1997.
AMARAL, D. C.; TOLEDO, J. C. Colaborao cliente-fornecedor no processo de desenvolvimento de produto. EVARISTO, R.; FENEMA P.C. A typology of project management: emergence and evolution of new forms.
Gesto & Produo, So Carlos, v. 7, n. 1, p. 56-72, abril, 2000. International Journal of Project Management, v.17, n.5, p.275- 281, outubro, 1999.

AUGUSTINE, S.; WOODCOCK, S. Agile project management: emergent order through visionary leadership. FOWLER, M.The new methodology. Jul., 2000. Disponvel em <http://www.martinfowler.com/articles/
May, 2003. Disponvel em: <http:ccpace.com/resources/AgileProjectManagement.pdf>. Acesso em: 26 newMethodologyOriginal.html> Acesso em: 24 jan. 2007.
jan. 2007.
GOLDRATT, E. M. Corrente Crtica. Editora Nobel, Brasil: So Paulo, 2005.
BARNES, T. A.; PASHBY, I. R.; GIBBONS, A. M. Managing collaborative R&D projects development of a
HAMERI, A. PUITTINEN, R.WWW-enabled knowledge management for distributed engineering projects.
practical management tool. International Journal of Project Management, vol. 24, n 5, p. 395404,
Computers in Industry, vol. 50, n. 2, p. 165-177, fevereiro, 2003.
julho, 2006.
HIGHSMITH, J. Agile Project Management: Creating Innovative Products. Boston: Adison-Wesley, 2004.
BECK, K. et al. Manifesto for agile software development. 2001. Disponvel em <http://www.
agilemanifesto.org>. Acesso em janeiro, 2007. HUSTON, L.; SAKKAB, N. Connect and develop: inside Procter & Gambles new model for innovation.
Harvard business review, fevereiro, 2006.
BECK, K.et al. Chrysler goes to extremes.Out., 1998. Disponvel em <http://www.xprogramming.com/
publications/dc9810cs.pdf > Acesso em: 16 jan. 2007. KATZ, J.S.; MARTIN, B.R.What is research collaboration? Research Policy, v.26 , n. 1, pp. 118, maro, 1997.

BENASSI, J. L. G.; AMARAL, D. C. GERENCIAMENTO GIL DE PROJETOS APLICADO AO DESENVOLVIMENTO DE KERZNER, H. Gesto de projetos: as melhores prticas. Traduo de Marco Antonio Viana Borges et al.
PRODUTO FSICO. In: XIV Simpsio de Engenharia de Produo, 2007, Bauru. Anais... Bauru: FEB, 2007. Porto Alegre: Ed. Bookman, 2002.

BOEHM, B. Get ready for agile methods, with care. IEEE Computer Magazine, [S.l], p. 64-69, 2002. KODAMA, M. Innovation and knowledge creation through leadership-based stratregic community: case
study on high-tech company in Japan.Technovation,v.27, n.3,p. 115-132, maro, 2007.
CAMARINHA-MATOS, L. M. et al. Rough reference model for Collaborative Networks. Disponvel em <
http://www.ve-forum.org/projects/284/Deliverables/D52.2_Final.pdf >. Acesso em dez. 2006. KVAN,T. Collaborative design: what is it? Automation in Construction, v.9, n. 4,p. 409-415, julho, 2000.

CHIN, G. Agile Project Management: how to succeed in the face of changing project requirements. NY: MATTESSICH, P. W.; MONSEY, B. R. Collaboration: What makes it work. A review of research literature on
Amacon, 2004. factors influencing successful collaboration. St. Paul, MN: Amherst H.Wilder Foundation, 1992.

CICMIL, S. et al. Rethinking Project Management: Researching the actuality of projects. International MAYLOR, H. Beyound the Gantt Chart: project management moving on. Business Management Journal,
Journal of Project Management, v. 24, n. 8, p. 675-686, novembro, 2006. v.19, n.1, pp.92-100, 2001.

COCKBURN, A. Agile software development joins the would-be crowd. Disponvel em: <http://www. MOODY, J.B.; DODGSON, M.Managing Complex Collaborative Projects:Lessons from the Development of a
agilealliance.org/system/article/file/782/file.pdf> Acesso em: 17 jan. 2007. New Satellite. Journal of Technology Transfer, v.31, n.5, p. 568588, setembro, 2006.

COCKBURN, A.; HIGHSMITH, J. Agile software development, the people factor. Computer, vol. 34, n 11, NAOUM, S. An overview into the concept of partnering. International Journal of Project Management, v.
p.131 133, novembro, 2001. 21, n. 1, p.71-76, janeiro, 2003.

COHN, M., FORD, D. Introducing an agile process to an organization. IEEE Computer Magazine, June 2003, NOOTEBOOM, B. Innovation and inter-firms linkages: new implications for policy. Research Policy, v. 28, n.
[S.l.], p. 74-78. 8, p. 793- 805, novembro, 1999.

CONFORTO, E. C.; AMARAL, D. C. Escritrio de Projetos e Gerenciamento gil: Um Novo Enfoque para a PMBOK. Um guia do conjunto de conhecimentos em gerenciamento de projetos. Mass.: Project
Estrutura de Apoio Gesto de Projetos geis. In: XXVII Encontro Nacional de Engenharia de Produo, Management Institute, Inc, 2004.
2007, Foz do Iguau. Anais... Foz do Iguau: ABEPRO, 2007.
RYCROFT, R. W. KASH, D. E. Self-organizing innovation networks: implications for globalization.
DAVIS, J. M.; KEYS, L K.; CHEN. I. J. Collaborative Engineering for Research and Development. 13th Technovation, v. 24, n. 3, p. 187-197, maro, 2004.
International Conference on Management of Technology. AnaisWashington, DC, April 37, 2004.
VERZUH, E. MBA compacto: gesto de projetos. Rio de Janeiro: Campus, 2000.
DIAS, M. V. B. Um novo enfoque para o gerenciamento de projetos de desenvolvimento de software.
WINTER, M. et al. Directions for future research in project management: the main findings of a UK
Dissertao (Mestrado em Administrao). Faculdade de Economia, Administrao e Contabilidade,
government-funded research network. International Journal of Project Management, v. 24, n. 8, p. 638-
Universidade de So Paulo, So Paulo, 2005.
649, novembro, 2006.
DODGSON, M.The future for technological collaboration. Futures, p. 459-470, junho, 1992.

Edio 19 - Engenharia de Software Magazine 15


Softwares para gerenciamento de projetos

De que se trata o artigo?


Este artigo apresenta o que so softwares para
apoiar o Gerenciamento de Projetos, as suas funcio-
nalidades e uma abordagem dos principais sistemas
existentes no mercado, destacando o que pode ser
evoludo para abraar o gerenciamento de projetos
colaborativos e o desenvolvimento gil.

Para que serve?


Este artigo serve para conhecer algumas das princi-
pais ferramentas para gerenciamento de projetos.
Dessa forma ser possvel escolher a mais adequada
para o seu trabalho.

Camila de Araujo Em que situao o tema til?


Possui graduao em Bacharelado em Siste- No momento de adquirir uma ferramenta, bastan-

E
mas de Informao pela Universidade Esta-
ste artigo apresenta a definio de te importante conhecer as funcionalidades que ela
dual Paulista Jlio de Mesquita Filho (2003)
e mestrado em Engenharia de Produo pela Software para Gerenciamento de deve cobrir e o que ela trs de diferencial. A partir
Universidade de So Paulo (EESC-USP, 2008). Projetos (SGP), as funcionalidades desse artigo o leitor conhecer as principais ferra-
Atualmente doutoranda em Engenharia que caracterizam tais solues e uma mentas para gerenciamento de projetos colaborati-
de Produo na Universidade de So Paulo anlise da situao atual dos principais vos e de agilidade e poder encontrar a que mais se
(EESC-USP), com a pesquisa Software de
sistemas disponveis no mercado. Ao adequa a suas necessidades.
apoio ao gerenciamento gil de projetos cola-
borativos de novos produtos. Tem experincia final, apresenta uma sntese dos princi-
na rea de Engenharia de Produo, com pais desafios, considerando a situao Definio e funcionalidades dos
nfase em Gerncia do Projeto e do Produto, atual dos SGPs segundo a literatura e os softwares de gerenciamento de
atuando principalmente nos seguintes temas: desafios apontados no artigo Desafios projetos
softwares de gerenciamento de projetos,
para o gerenciamento gil de projetos O gerenciamento de projetos inclui
gerenciamento gil de projetos, projetos co-
laborativos de novos produtos, sistemas de colaborativos, segundo a literatura de uma mistura complexa de atividades
informao e desenvolvimento de produto. mtodos de gerenciamento de projetos. de planejamento, avaliao e tomada de

16 Engenharia de Software Magazine - Softwares para gerenciamento de projetos


Gerncia de Projetos

decises. As informaes geradas no decorrer do projeto so cdigo por pacote, nmero de usurios ou acesso. A Licena
fundamentais para o sucesso. Elas precisam ser coletadas, atu- Comercial pode reservar tambm direitos de uso, tais como
alizadas e apresentadas de forma correta a todos os envolvidos suporte, atualizao peridica e acesso documentao e
no projeto. Para auxiliar nesse gerenciamento, tornou-se im- outros materiais. Outro modelo de software que se encaixa na
portante o uso de softwares especficos, chamados de Softwares categoria de cdigo fechado o denominado freeware, que
de Gerenciamento de Projetos (SGP). O PMBOK (2004) define tambm no apresenta o cdigo fonte, apesar de sua utilizao
os SGPs como: aplicativos de software especificamente proje- no implicar o pagamento de licenas de uso;
tados para auxiliar a equipe de gerenciamento de projetos no Cdigo Aberto: So softwares onde o cdigo-fonte est dis-
planejamento, monitoramento e controle do projeto, inclusive: ponvel para ser lido, estudado ou modificado por qualquer
estimativa de custos, elaborao de cronogramas, comunica- pessoa interessada. Os softwares desta categoria so chamados
o, colaborao, gerenciamento de configurao, controle de de software livre e o cdigo-fonte aberto a principal caracte-
documentos, gerenciamento de registros e anlise de risco. rstica desses (REIS, 2003). Um software livre tambm concede
Um conjunto de funcionalidades tpicas pode ser observado as seguintes quatro liberdades: a liberdade de executar o pro-
para os SGPs, tais como (ROZENFELD et al., 2005): grama, para qualquer propsito (liberdade n. 0); a liberdade
Gerenciamento de Atividades: registro, visualizao e orga- de estudar como o programa funciona e adapt-lo para as
nizao das atividades do projeto. Envolve vrias definies, suas necessidades (liberdade n. 1); a liberdade de redistribuir
tais como: de precedncia, de durao, de esforo, Grfico de cpias de modo que se possa ajudar ao seu prximo (liber-
Gantt e WBS (Work Breakdown Structure); dade n. 2) e a liberdade de aperfeioar o programa, e liberar
Gerenciamento de Calendrio e Agenda: organizao e os seus aperfeioamentos, de modo que toda a comunidade
programao de um ou mais calendrios para o projeto, re- se beneficie (liberdade n. 3). As licenas de software livre
cursos ou tarefas; permitem que eles sejam comercializados. Na prtica, j que
Gerenciamento de Recursos: gerenciamento das pessoas possvel copiar o cdigo de qualquer pessoa que j o tenha,
e materiais necessrios para o projeto. Envolve funes de o preo que o usurio paga por um software livre tende a ser
anlise de alocao de recursos e seu nivelamento; baixo o suficiente para motivar as pessoas a comprarem e no
Gerenciamento de Custos: ajuda a preparao do oramento o copiarem. (REIS, 2003);
e acompanhamento dos gastos do projeto; Modelos Cientficos: so prottipos de softwares propostos
Ferramentas de Monitoramento: funes para acompanha- em estudos acadmicos, que testam novos conceitos e funciona-
mento do projeto, como armazenamento de linhas de base e lidades. Esses modelos visam avanos cientficos, solucionando
comparaes entre parmetros de planejamento atual com os os problemas apresentados nos sistemas de cdigo fechado
parmetros das linhas de base, bem como anlise do valor e/ou aberto, apresentados pelas necessidades do mercado ou
agregado; para viabilizar prova de conceito de alguma teoria. A principal
Gerenciamento de mltiplos projetos: funes para anlise caracterstica que a ferramenta est em estudo, em fase de
do portiflio da empresa e compartilhamento de dados entre prototipao ou validao, no sendo acessvel ao mercado.
os projetos.
A seguir, apresentam-se as anlises realizadas, a partir de
Na prxima seo, realizada a reviso de softwares, mostran- documentos, nos dois primeiros tipos: softwares comerciais
do-se suas categorias, segundo a forma de distribuio. para gerenciamento de projetos e softwares livres.
No caso dos modelos cientficos, no foi identificada nenhu-
Softwares de GP segundo a literatura ma reviso bibliogrfica exaustiva. H apenas artigos que
Nesta seo, procura-se mostrar um panorama geral dos realizam revises limitadas como os de Voropajev e Schinberg
SGPs disponveis atualmente. Deve-se observar que o objeti- (1992), Nicolo (1993), Li et al. (2001), Ren et al. (2006) e Liu et al.
vo no fazer um estudo exaustivo de todas as ferramentas, (2005). Portanto, no vamos realizar uma reviso especfica
mas apresentar uma descrio das funcionalidades dos SGPs desses tipos de software.
encontrados no mercado, segundo informaes da literatura.
Os SGPs podem ser classificados em trs grandes categorias, Softwares de cdigo fechado
segundo a forma de comercializao: Em uma avaliao dos softwares comerciais de Gerenciamento
Cdigo Fechado: so os softwares distribudos com o cdigo de Projetos de alta representatividade no mercado, realizada
inacessvel ao usurio final. Segundo a Wikipedia (2008), o pelo Gartner Group (2007), pde-se observar alguns aspectos
que caracteriza este tipo de software que ele no distribudo das funcionalidades disponveis. Foi desenvolvido um qua-
com seu cdigo fonte e, para alter-lo, seria necessrio utilizar drante de classificao dos softwares (Quadrante Mgico), com
a prtica da engenharia reversa, o que costuma ser dificulta- dois eixos: habilidades para executar e abrangncia da viso. O
do seja pelo uso de licenas, seja pela distribuio apenas de eixo Habilidade para Executar refere-se ao desenvolvimento
arquivos compilados e ou outros mecanismos de segurana e desempenho do fornecedor de software (vendor) e incluiu os
como Hard-Keys. Em sua maioria, os softwares utilizam licenas critrios: lucratividade, nvel e crescimento dos rendimentos
de comercializao tradicionais, isto , por meio da compra do da empresa; equipe de gerenciamento do vendor; integridade;

Edio 19 - Engenharia de Software Magazine 17


aprofundamento (detalhamento) das funcionalidades das fer- fornece aos gerentes e participantes do projeto informaes
ramentas de aplicao; servio e suporte; vendas e marketing. sobre acontecimentos e alteraes durante o decorrer do pro-
J o eixo Abrangncia da Viso inclui critrios relacionados jeto, utilizando notificaes de estado e condies de disparo
s funcionalidades dos softwares como Abrangncia, so eles: de e-mails configurados pelo usurio especificamente para
compatibilidade com plataformas; colaborao, funcionali- cada projeto (IBM, 2008).
dades especficas; tecnologia e mercado; gerenciamento de Nas informaes tcnicas publicadas sobre o Serena (2008),
recursos; e servios de suporte. no h explicaes suficientes sobre suas funcionalidades (SE-
No quadrante dos Lderes, no basta o sistema ter funcio- RENA, 2008). Portanto, no foi possvel avaliar o diferencial. O
nalidades abrangentes, mas tambm o fornecedor do software texto destaca uma funcionalidade de monitor de desempenho
(vendor) deve incluir as tecnologias de desenvolvimento mais do projeto em tempo real (SERENA, 2008).
modernas e comprometimento com um servio de excelncia. O aplicativo da Borland (Borland Tempo), pelas informaes
O quadrante dos Desafiantes, segundo esta anlise, contm tcnicas disponveis no site, disponibiliza as funcionalidades
os softwares que oferecem funcionalidades, que, apesar de bsicas dos SGPs, incluindo tambm coleta de informaes
limitadas, podem impulsionar o canal de vendas. Sua presen- que permite modelar documentos padro do projeto e do
a internacional e possuem base instalada. Esses produtos planejamento, como formulrios on-line; relatrio de acompa-
seguem as funcionalidades tradicionais, descritas em Rozen- nhamento de sanidade do projeto, como relatrios imediatos
feld et al. (2006) e na seo Definio e funcionalidades dos de progresso, alertas de vencimento de prazo de tarefas e no-
softwares de gerenciamento de projetos. Isso foi confirmado tificaes aos membros da equipe (BORLAND, 2008). Portanto,
analisando-se a documentao tcnica de Microsoft Project no foi possvel identificar funcionalidades diferenciais.
(EPM) e a do Primavera, disponveis na internet (MICROSOFT, J o software da EProject (Daptiv PPM) possui foco em funcio-
2008; PRIMAVERA, 2008). nalidades de colaborao. Um exemplo a troca de mensagens
Para esta pesquisa, interessam os dois ltimos quadrantes: assncronas integrada s funes tradicionais de GP, incluso
visionrios e nichos. Os Visionrios so aqueles, segundo a de documentos no projeto utilizando funo drag-and-drop
pesquisa, que possuem funcionalidades e ou configuraes (arrastar e soltar) nas janelas; e funcionalidade para registro e
alternativas. Para verific-las, empregou-se uma anlise da gerenciamento de Lies Aprendidas (EPROJECT, 2008).
documentao tcnica presente na internet dos softwares indi- O Sciforma (PS8) tem como diferencial o apoio criao de
cados na Figura 1. O critrio utilizado foi a busca de funes templates para os projetos. Dispe de funcionalidades para criar
diferentes das citadas no tpico Definio e funcionalidades grficos e relatrios, alm dos existentes no software, com o in-
dos softwares de gerenciamento de projetos. A seguir, apre- tuito de melhorar o acompanhamento e avaliaes do projeto.
sentada uma breve descrio das funcionalidades diferenciais Ele tambm disponibiliza troca de mensagens assncronas pelo
de cada software verificado, isto , aquelas que diferem da lista software (SCIFORMA, 2008).
apresentada por Rozenfeld et al. (2005). O site da Powersteering no disponibilizou informaes
tcnicas do seu produto, por isso no foi possvel avali-lo
(POWERSTEERING, 2008). Pelo mesmo motivo, tambm no
foi possvel avaliar o software da ITM (ITM, 2008).
A anlise, embora parcial, indica que os softwares ditos vi-
sionrios no apresentam funcionalidades to distantes dos
softwares tradicionais. A diferena est principalmente na in-
cluso de ferramentas de troca de mensagens, nos relatrios de
acompanhamento mais avanados e nas lies aprendidas.
No quadrante do Nicho, esto os softwares que, segundo a
anlise, atendem necessidades especficas de determinado
grupo de clientes, como funcionalidades especficas de geren-
ciamento de portfolios ou adaptaes para padres de regies
geogrficas.
Os softwares da Instantis e Augeo Software possuem funcio-
nalidades especficas para projetos de desenvolvimento de
novos produtos, mas no detalham essas funcionalidades em
seus sites. Os demais softwares que compem o quadrante no
apresentaram, pelas informaes tcnicas nos sites, funciona-
Figura 1. Quadrante de classificao dos softwares comerciais (Fonte: lidades diferenciais.
relatrio do Gartner Group (2007)) Conforme o objetivo deste artigo, chamam a ateno nessa
categoria as solues voltadas para o desenvolvimento de
O IBM RPM inclui o controle de colaborao no projeto, alm projetos de TI, pois entre os sistemas de nicho h fabricantes
das funcionalidades j citadas como bsicas dos SGPs. Ele que se propem a implementar funcionalidades conforme as

18 Engenharia de Software Magazine - Softwares para gerenciamento de projetos


Gerncia de Projetos

diretrizes do enfoque gil de desenvolvimento de produtos. Portanto, a ferramenta que recebeu a melhor pontuao
Analisando-se sua documentao, identificaram-se como na anlise, em relao sua aplicao nas empresas de base
funes diferenciais o cadastro dos projetos, iteraes e en- tecnolgica, encontra-se em nvel de sofisticao bem inferior
tregas programadas por iterao, registro para acompanha- dos softwares proprietrios utilizados como base para os
mento dos problemas e mudanas necessrias no decorrer critrios. Desta forma tem-se um panorama onde as ferramen-
do projeto e controle dos Releases do software desenvolvido tas de cdigo aberto apresentam deficincias e no possuem
integrado com os planos de iterao. Suas funcionalidades maturidade suficiente para sua utilizao direta, sem imple-
so baseadas nos mtodos Scrum, XP (eXtreme Programming), mentaes de novas funcionalidades (RORIZ, JUC JUNIOR
DSDM (Dynamic Systems Development Method) e Agile Up. e AMARAL, 2005).
Por serem solues que visam o mesmo propsito desse
trabalho, julgou-se que seria fundamental uma anlise Softwares para gerenciamento gil de projetos
pormenorizada desses softwares. Portanto, optou-se por A literatura no contempla propostas de softwares para
realizar uma avaliao especfica, a partir do contato com o apoiar o gerenciamento gil de projetos. Porm, foram en-
prprio sistema, indo alm da documentao. Essa anlise contradas solues voltadas para esse enfoque. As buscas na
apresentada na seo Softwares para gerenciamento gil internet e em grupos sobre APM (Agile Project Management)
de projetos. identificaram trs sistemas comerciais. Todos so especficos
para o gerenciamento de projetos de desenvolvimento de
Softwares de cdigo aberto softwares. As ferramentas encontradas so de cdigo fecha-
Os softwares de cdigo aberto disponveis no mercado so do, comercializadas por meio de licenas, mas possuem uma
muitos. Nos sites http://freshmeat.net/ e http://sourceforge.net/ verso Trial, para teste de 30 dias, as quais foram utilizadas
possivel observar dezenas de ferramentas nessa categoria. para efeito de avaliao.
Roriz, Juc Junior e Amaral (2004) realizaram um estudo Os software avaliados, com seus respectivos sites, foram:
dessas ferramentas de cdigo aberto e encontraram mais de VersionOne www.versionone.com;
50 softwares. O mtodo empregou as seguintes etapas: Target www.targetprocess.com;
1) Anlise da ferramenta MSProject 2002 e Primavera para a Rally www.rallydev.com.
elaborao dos critrios de anlise das funcionalidades;
2) Criao dos critrios de anlise das funcionalidades do As impresses e diferenas em relao aos sistemas tradicio-
GP, gerando uma lista com 58 critrios, divididos em nove nais, comparadas segundo as funcionalidades apresentadas na
categorias; seo Definio e funcionalidades dos softwares de gerencia-
3) Depois de uma primeira seleo dos softwares disponveis, mento de projetos, foram coletadas e registradas.
que descartou as ferramentas com funcionalidades especficas As principais diferenas em relao s funcionalidades tra-
ou com graves limitaes, obteve-se uma lista com 25 softwares. dicionais so as seguintes:
Utilizando-se consultas a duas listas de discusses de gerentes Utilizam como principal idia um planejamento inicial sim-
de projeto, foram selecionados os seis mais citados (TUTOS, plificado (Workitem Planning) e iteraes (Sprints) dentro do
2008; PHPROJEKT, 2008; PHPCOLLAB, 2008; DOTPROJECT, projeto. Dentro de cada iterao so registradas as entregas que
2008; PLANNER, 2008; OPEN WORKBENCH, 2008), que foram devem ser realizadas e seu prazo. A Figura 2 um exemplo
analisados segundo os 58 critrios; da viso geral do processo de desenvolvimento do projeto,
utilizado no software VersionOne. A representao mostra
O quadro final apresentado na Tabela 1, onde 100% signi- desde o planejamento do projeto at o andamento das iteraes.
ficaria o atendimento a todas as funcionalidades presentes no possvel observar na figura que esse software no segue
software PRIMAVERA e MS PROJECT. o mesmo padro e as funcionalidades tpicas dos softwares

TUTOS PHProjekt PHPcollab Dotproject Planner Open Workbench


Banco de dados 100% 100% 100% 90% 25% 5%
Calendrio e agenda 23% 13% 3% 13% 37% 37%
Gesto de atividades 38% 36% 30% 42% 46% 64%
Gesto de recursos 36% 32% 10% 14% 22% 32%
Gesto de custos 30% 10% 0% 10% 15% 55%
Gesto de documentos relatrios e impresso 33% 40% 27% 27% 27% 33%
Ferramentas de monitoramento 10% 3% 10% 10% 3% 50%
Gesto de mltiplos projetos 4% 4% 4% 4% 0% 36%
Ferramentas de comunicao e integrao 38% 65% 75% 65% 3% 13%
Tabela 1. Avaliao dos softwares de cdigo aberto (Fonte: Roriz, Juc Junior e Amaral (2005)

Edio 19 - Engenharia de Software Magazine 19


de gerenciamento clssico de projetos. Os demais softwares
analisados seguem padres similares. Cada entrega pode ser
detalhada em subentregas, que tambm possuem prazo esti-
pulado. A responsabilidade de cada entrega ou subentrega
associada a um recurso humano.

Figura 4. Tela do software Rally Defects (Fonte: www.rallydev.com)

O uso de painis de controle, chamado nesses softwares de


Dashboard. Trata-se de relatrios resumidos que proporcionam
uma viso geral do projeto. Os relatrios apresentados nesses
softwares contm informaes similares como prximas
atividades a serem desenvolvidas e ltimas mudanas que
Figura 2. Tela do software VersionOne (Fonte: www.versionone.com) ocorreram no projeto. A Figura 5 d exemplo do Dashboard
do software Target.
O tradicional grfico de Gantt no utilizado, mas existem
outras ferramentas para acompanhamento visual do andamen-
to do projeto, como status de cada iterao, entrega, subentrega,
e relatrios Burndown, isto , que descrevem o progresso de
uma equipe e o denominado Roadmap, relacionado ao escopo
do projeto e suas mudanas ao longo do projeto. A Figura 3
demonstra um relatrio do tipo Burndown nas iteraes do
software Rally.

Figura 5. Tela do software Target Dashboard


(Fonte: www.targetprocess.com)

Possuem tambm rea para guardar as retrospectivas,


que seriam as lies aprendidas, alm das anlises das
estimativas iniciais do projeto.
Figura 3. Tela do software Rally relatrio Burndown (Fonte: www.
rallydev.com) Nos softwares voltados para o enfoque gil de gerenciamento
de projetos, todas as mudanas de escopo so gerenciadas e po-
Outra funcionalidade existente o registro das aes neces- dem ser analisadas em relatrios, permitindo aos colaboradores
srias para as prximas entregas, como correes de problemas acompanhar as alteraes do projeto. A diferena dos softwares
(Defects). O registro de problemas feito da mesma forma que tradicionais que os relatrios, alm de indicarem as mudanas
uma entrega, relatando o problema a ser resolvido, e associado de escopo, indicam tambm as tendncias de estimativas de
a uma iterao dentro do projeto. A Figura 4 do software Rally tempo, atividades e problemas para as novas entregas.
demonstra o registro de problemas, Defects. Nota-se que no
muito diferente de um relatrio de issues (problemas) nos SGPs As funcionalidades citadas, apesar de estarem voltadas ao
tradicionais, a no ser pela relao cada uma das entregas. desenvolvimento de softwares, podem ser estudadas para

20 Engenharia de Software Magazine - Softwares para gerenciamento de projetos


Gerncia de Projetos

Desafios Fonte
serem adaptadas ao desenvolvimento de produtos.
Dessa forma, seria possvel a criao de um software Falta de informao sobre o que as outras equipes do Hameri e Puittinen (2003)
para gerenciamento de projetos de desenvolvimento projeto esto fazendo (progresso das tarefas)
de produtos utilizando-se o enfoque gil. Falha no controle de mudana do projeto Hameri e Puittinen (2003)
Vises diferentes sobre os objetivos do projeto Hameri e Puittinen (2003); Barnes, Pashby e Gibbons (2006)
Concluso - Sntese dos softwares de GP frente Rigidez no planejamento do projeto e das rotinas Hameri e Puittinen (2003)
colaborao e agilidade Reaespobresem relao s mudanas repentinas Hameri e Puittinen (2003)
Os primeiros softwares de gerenciamento de projetos no ambiente do projeto
foram concebidos no contexto de grandes projetos, Dificuldades tecnolgicas inesperadas Hameri e Puittinen (2003)
com localizao nica. Um exemplo um dos SGPs
Falha no controle de mudana do projeto Hameri e Puittinen (2003)
comerciais mais conhecidos, o Microsoft Project, que
teve sua primeira verso lanada em 1987. No decor- Falta de Responsabilidades claramente definidas Barnes, Pashby e Gibbons (2006)
rer desse perodo at hoje, esses softwares evoluram Criao de um plano de projeto aceito entre as partes Barnes, Pashby e Gibbons (2006)
no sentido de apoiar praticamente todas as reas do Falta de marcos de projeto definidos Barnes, Pashby e Gibbons (2006)
gerenciamento de projetos tradicional. Na seo De- Falta de recursos adequados Barnes, Pashby e Gibbons (2006)
finio e funcionalidades dos softwares de gerencia-
Falha no monitoramento regular do progresso Barnes, Pashby e Gibbons (2006)
mento de projetos, presente no artigo Desafios para
Falta de comunicao efetiva Barnes, Pashby e Gibbons (2006)
o gerenciamento gil de projetos colaborativos, foram
descritas as funcionalidades comumente encontradas Falta de compromisso na entrega por parte dos Barnes, Pashby e Gibbons (2006)
nesses softwares. Observou-se, porm, na seo Desa- colaboradores
fios no gerenciamento de projetos colaborativos (do Tabela 2. Novos desafios para o gerenciamento de projetos colaborativos
mesmo artigo), que os projetos de desenvolvimento de
produtos com altos nveis de inovao so dinmicos e
incertos, com escopo impreciso e acontecem em cola-
borao com universidades, institutos de pesquisa ou
outras empresas fornecedoras e clientes organizaes
com caractersticas significativamente distintas. Essa
realidade bastante diferente do contexto no qual os
primeiros SGPs foram concebidos, conforme constata-
do por vrios autores da reviso bibliogrfica. Como
resultado, h uma srie de problemas especficos e
desafios, apresentados na Tabela 2.
Tambm no artigo Desafios para o gerenciamento
gil de projetos colaborativos, na seo Desafios do
gerenciamento de projetos e o gerenciamento gil de
projetos, demonstrou-se que h novas tendncias na
teoria de Gerenciamento de Projetos, como o enfoque
gil e os trabalhos de autores como o grupo do ESPRC.
Elas caminham no sentido de criticar o foco da
teoria atual. Sugerem que os mtodos e ferramentas
existentes, que denominam usualmente de Geren-
ciamento de Projetos Clssico, no responderiam s
necessidades das organizaes que convivem nesse
novo cenrio. Seria preciso desenvolver mtodos e
tcnicas que fossem capazes de atender aos seguintes
desafios:
Adequar-se s mudanas dos projetos;
Apoiar o acompanhamento e alteraes no resultado
final;
Compartilhar recursos entre projetos;
Consumir pouco tempo com documentao;
Empregar os princpios do gerenciamento gil.

A reviso bibliogrfica demonstrou a inexistncia


de estudos empricos com avaliaes de problemas no

Edio 19 - Engenharia de Software Magazine 21


uso de SGPs existentes, em casos de projetos reais e segundo projeto, que consome muito tempo na sua execuo e torna-o
a perspectiva dos usurios. H trabalhos correlatos, que des- mais burocrtico.
crevem a aplicao de uma soluo especfica ou que, entre Portanto, os problemas enfrentados no gerenciamento de pro-
outras questes, abordam tambm o aspecto SGP. Apesar jetos colaborativos pelas empresas so:
da quantidade pequena, eles indicam que h ineficincias e Falta de recursos que apiem o acompanhamento e alteraes
problemas que precisam ser solucionados. constantes no resultado final, isto , no produto do projeto;
Dentre os estudos que apontam problemas nos SGPs, est o de Falta de compartilhamento efetivo de recursos, j que os sof-
White e Fortune (2002). Os autores apresentam um survey sobre twares tradicionais centralizam as informaes em um lugar e
experincias reais de gerenciamento de projetos. O questionrio no permitem que cada empresa tenha seus dados em formatos
foi desenvolvido para identificar os mtodos, ferramentas e tcni- distintos;
cas em uso atualmente, e estabelecer uma lista de fatores crticos Falta de um modelo capaz de adequar-se s mudanas dos
de sucesso em gerenciamento de projetos. Foram escolhidos projetos;
995 gerentes de projetos, que representavam 620 organizaes Consumo de tempo em extensa documentao do projeto.
diferentes, tanto do setor pblico como do privado. Do total de
questionrios enviados (995), 236 retornaram e foram avaliados Portanto, os trabalhos citados, que avaliam casos reais de SGPs,
no desenvolvimento da pesquisa. Nesse estudo, os softwares reforam ainda mais a necessidade de avano nas solues. Nota-
de gerenciamento de projetos aparecem como uma das prin- se tambm que os problemas so especialmente maiores no caso
cipais limitaes entre os mtodos/ferramentas/tcnicas do de projetos de alta complexidade e alto grau de inovao. Esses
gerenciamento de projetos. A explicao apresentada que problemas seguem na mesma linha das crticas do gerenciamento
esses softwares seriam inadequados s necessidades das empresas, de projetos tradicional.
principalmente para projetos complexos. As autoras chamam de Ao analisarmos as mudanas em desenvolvimento atualmente
complexo um projeto onde vrias organizaes participam de nos softwares de gerenciamento de projetos, possvel identificar
seu desenvolvimento, caso dos projetos colaborativos. Cotterrel preocupaes semelhantes. O levantamento realizado na seo
(1998)1 apud White e Fortune (2002) diz que poucos softwares de Softwares de cdigo fechado demonstra que os sistemas mais
gerenciamento de projetos possuem funcionalidades que apiem inovadores esto incorporando:
o compartilhamento de recursos e informaes segundo as ne- Funcionalidades de colaborao integradas com as funcionali-
cessidades desses tipos de projeto. dades de gerenciamento de projetos;
Bergman e Baker (2000) afirmam que as solues para o com- Funcionalidades para acompanhamento contnuo das mudan-
partilhamento dos dados de projetos utilizadas nas empresas, as no produto;
na poca do estudo, eram ferramentas ou famlia de ferramentas Funcionalidades para apoio na elaborao de relatrio de con-
simples de escritrio, como o MS-Office. Segundo os autores, elas troles e acompanhamentos mais sofisticados.
so insuficientes para engenheiros, porque eles usam muitas
ferramentas diferentes e diversas plataformas computacionais. A anlise dos SGPs existentes identificou tambm o surgimento
Liu (2003) prope uma arquitetura para integrar os diferentes de sistemas que se propem especificamente ao Gerenciamento
sistemas utilizados pelas empresas para ajudar no gerenciamento de Projetos segundo o modelo do Gerenciamento gil. As novas
de seus projetos, convertendo informaes de um sistema para ferramentas englobam, de forma geral, o cadastro dos projetos,
o outro. suas iteraes e as entregas programadas para cada iterao,
Ren et al. (2006), baseados na experincia de proposio de uma com acompanhamento dos problemas e mudanas necessrias
soluo especfica para gerenciamento de projetos colaborativos, ao decorrer do projeto e controle dos Releases do software desen-
afirmam que uma nova gerao de ferramentas de planejamento volvido. Suas funcionalidades so baseadas nos mtodos Scrum,
de projetos colaborativos precisa ser construda. Seu estudo di- XP (eXtreme Programming), DSDM (Dynamic Systems Development
recionado para as parcerias de pequenas e mdias empresas, e o Method) e Agile Up.
modelo apresentado foca na preparao e planejamento dos proje- Os resultados obtidos demonstram uma coerncia entre os
tos colaborativos. Segundo Woerner e Woern (2005), a maioria das problemas identificados no gerenciamento colaborativo de
plataformas de colaborao possui uma arquitetura centralizada projetos, as tendncias de melhoria das tcnicas e mtodos de
e focada nas fases de desenvolvimento de novos produtos e novos GP e as inovaes em funcionalidades dos SGPs. A Figura 6
processos de produo. Esse um aspecto inadequado quando demonstra a relao.
se trata de colaborao em pequenas e mdias empresas, onde o
controle sobre os dados um critrio fundamental. Portanto, os desafios para a evoluo de SGPs envolvem os
Outro dado relevante apresentado na pesquisa de White e seguintes aspectos:
Fortune (2002) a dificuldade de um modelo que demonstre Desenvolver ambientes customizados para cada projeto com
o mundo real dos projetos e a documentao extensa do funcionalidades que privilegiem a viso do produto final, isto
, a agregao de valor;
1 COTTERREL, S. Annual Software Review 1998. Project Manager Today 1998; Criar sistemas que explorem planos baseados em entregas e
August: 22-3. iteraes, e que sejam mais visuais;

22 Engenharia de Software Magazine - Softwares para gerenciamento de projetos


Gerncia de Projetos

Criar funcionalidades que facilitem as alteraes constantes no


produto e gerem informaes realistas e em tempo real sobre
o andamento do projeto;
Apoiar a colaborao, com ferramentas e funcionalidades que
facilitem a troca rpida de informaes, garantindo tambm a
privacidade das partes interessadas;
Utilizar plataformas heterogneas (promovendo a descentralizao
da informao e permitindo inclusive que diferentes equipes pos-
sam utilizar sistemas distintos conforme sua convenincia).

D seu feedback sobre esta edio! Feedback


eu

s
D
A Engenharia de Software Magazine tem que ser feita ao seu gosto.

sobre e
Para isso, precisamos saber o que voc, leitor, acha da revista!

s
ta
edio
D seu voto sobre este artigo, atravs do link:

Figura 6. Desafios para os SGPs Colaborativos (Fonte: elaborada pela autora) www.devmedia.com.br/esmag/feedback

Referncias

BARNES, T. A.; PASHBY, I. R.; GIBBONS, A. M. Managing collaborative R&D projects development of a PMBOK. Um guia do conjunto de conhecimentos em gerenciamento de projetos. Mass.: Project
practical management tool. International Journal of Project Management, vol. 24, n 5, p. 395404, Management Institute, Inc, 2004.
julho, 2006.
POWERSTEERING. Disponvel em <http://www.powersteeringsoftware.com>. Acesso em 27 fev 2008.
BERGMAN, R.; BAKER, J. D. Enabling collaborative engineering and science at JPL. Advances in
PRIMAVERA. Disponvel em <http://www.primavera.com/index.asp >. Acesso em 27 fev 2008.
Engineering Software,vol. 31, n 8-9,p. 661-668, agosto, 2000.
REIS, C. R. Caracterizao do modelo de processo para projetos de software livre. Dissertao
BORLAND. Disponvel em <http://www.borland.com/br/products/tempo/index.html>. Acesso em
(Mestrado em Computao e Matemtica Computacional). Instituto de Cincias Matemticas e de
27 fev 2008.
Computao Universidade de So Paulo, So Carlos, 158 f , 2003.
DOTPROJECT. Disponvel em < http://www.dotproject.net/ >. Acesso em 10 jul 2008.
REN, Z. et al. Collaborative project planning: A case study of seismic risk analysis using an
EPROJECT. Disponvel em < http://www.eproject.com/>. Acesso em 27 fev 2008. e-engineering hub. Computers in Industry, v.57, n. 3, 218-230, abril, 2006.

GARTNER GROUP. Magic Quadrant for IT Project and Portfolio Management. 2007. RORIZ, J. H. R.; JUC JUNIOR, A. S.; AMARAL, D. C. Avaliao de ferramentas de gesto de projetos de
cdigo aberto.. In: 12 Simpsio Internacional de Iniciao Cientfica, 2004, So Paulo. Resumos....
HAMERI, A. PUITTINEN, R. WWW-enabled knowledge management for distributed engineering
So Paulo : USP, 2004.
projects. Computers in Industry, vol. 50, n. 2, p. 165-177, fevereiro, 2003.
ROZENFELD, H. et al. Gesto de desenvolvimento de produtos: uma abordagem por processos. So
ITM. Disponvel em < http://itm-software.com/products/ppm.shtml>. Acesso em 27 fev 2008.
Paulo: Saraiva, 2006.
LI, H. et al. Co-operative benchmarking: a tool for partnering excellence in construction. International
SCIFORMA. Disponvel em < http://www.sciforma.com/us/home/index.jsp>. Acesso em 27 fev 2008.
Journal of Project Management, v.19, n. 3, p. 171-179, abril, 2001.
SERENA. Disponvel em <http://www.serena.com/products/mariner/index.html>. Acesso em
LIU, D. et al. Composition of engineering web services with distributed data-flows and computations.
27 fev 2008.
Advanced Engineering Informatics, v.19, n. 1, p. 2542, Janeiro, 2005.
TUTOS. Disponvel em <http://www.tutos.org/homepage/index.html>. Acesso em 10 jul 2008.
LIU, W. D. A Distributed Data Flow Model for Composing Software Services. Tese (Doutorado em
Filosofia) Stanford University, 2003. VOROPAJEV, V.; SCHEINBERG, M. Project-management methods and tools for the 21st century: the

MICROSOFT. Disponvel em <http://office.microsoft.com/pt-br/project/HA101656381046.aspx>. SOVNET view. Internet 92, v. 10, n. 4, novembro, 1992.
Acesso em 27/02/2008.
WHITE, D.; FORTUNE, J. Current practice in project management: an empirical study. International
NICOLO, E. Metaproject analysis: multiagent virtual project networks for strategic decisions in Journal of Project Management, v. 20, n. 1, p. 1-11, janeiro, 2002.
preplanning. International Journal of Project Management, v.11, n.4, P. 215-226, novembro, 1993.
WIKIPEDIA. Disponvel em < http://pt.wikipedia.org/wiki/P%C3%A1gina_principal >. Acesso em
OPEN WORKBENCH. Disponvel em < http://www.openworkbench.org/>. Acesso em 10 jul 2008. 05 maro 2008.

PHPCOLLAB. Disponvel em < http://www.php-collab.com/blog/ >. Acesso em 10 jul 2008. WOERNER, J.; WOERN, H. A security architecture integrated co-operative engineering platform for
organised model exchange in a Digital Factory environment. Computers in Industry, v. 56, n.4, p.
PHPROJEKT. Disponvel em < http://www.phprojekt.com/index.php > . Acesso em 10 jul 2008.
347-360, maio, 2005.
PLANNER. Disponvel em < http://live.gnome.org/Planner>. Acesso em 10 jul 2008.

Edio 19 - Engenharia de Software Magazine 23


Arquitetura Orientada a Servios
Aspectos de Modelagem de Negcios

De que se trata o artigo? Utilizar novas metodologias e tcnicas aplicadas


Conceito de Arquitetura Orientada a Servios (SOA ao gerenciamento de negcios, utilizando-se BPM
- Service Oriented Architecture); e seus derivados;
Vantagens da utilizao de SOA nos aspectos ge- Projetar um sistema BPM (Business Process Ma-
Anderson Dias Ribeiro renciais de TI; nagement) utilizando tecnologias relacionadas no
(andersondr@gmail.com) lugar onde foram usadas tecnologias de Workflow
Tecnologias e caractersticas para modelagem de
formado em Tecnologia em Informtica In-
processos de negcios em SOA, voltados para Web tradicionais.
dustrial e ps-graduado em Engenharia de
Software. Atua como analista de sistemas Services;
h 10 anos no mercado, tendo participado Descreve as principais caractersticas de uma ar- Em que situao o tema til?
no desenvolvimento de diversos sistemas quitetura de sistemas computacionais baseada no Na administrao dos processos de negcios em
nas plataformas WEB, Java, .NET, dentre ou-
paradigma SOA, aliada tecnologia de Web Services reas de TI;
tros. Atualmente analista do Grupo Mult,
prestando servios MRS Logstica de Juiz como principal recurso computacional de apoio a Tornar possvel a orquestrao de servios, ou seja,
de Fora/MG, onde atua como desenvolve- essa arquitetura. de Web Services, possibilitando a interao entre as
dor e pesquisador da plataforma SOA/Java vrias etapas do fluxo, de forma grfica;
e gerenciamento de projetos SGP, baseados O uso de novas tecnologias de projeto e desenvol-
em PMBOK.
Para que serve?
Demonstrar as diversas tecnologias e conceitos vimento de software aliadas ao mapeamento de
Giuliano Prado de Morais Giglio relacionados modelagem de negcios numa ar- processos das empresas, facilitando a produo e
(giulianopmg@yahoo.com.br) quitetura SOA; manuteno de uma soluo baseada na Web.
desenvolvedor Delphi desde 1997, com
ampla experincia em aplicaes Win32.
Graduado em Informtica pela UFJF, com

S
Especializao em Desenvolvimento de Apli-
caes para Web pelo CES de Juiz de Fora/ ervice Oriented Architecture (SOA) de negcio, uma vez que se tem um fluxo
MG, e Mestrado em Computao pela UFF/ tenta aproximar o entendimento de execuo montado a partir de peas
Niteri-RJ. Atualmente professor univer- entre as reas de tecnologia de in- ou unidades bem definidas que execu-
sitrio em diversas instituies, em cursos formao (TI) e de negcios a uma viso tam determinada funcionalidade. Sendo
de Sistemas de Informao, e atua como
mais semelhante de como um sistema de assim, uma unidade demanda, como pr-
consultor, pesquisador e desenvolvedor de
aplicaes Java, sobretudo na plataforma informao deve ser abordado. requisito, informaes na entrada e, neces-
J2EE para Web, e J2ME, sendo especialista A abordagem voltada a servios prope sariamente, criar algo modificado como
em aplicaes Mobile. uma soluo mais prxima dos processos resultado do sucesso de sua execuo.

24 Engenharia de Software Magazine - Arquitetura Orientada a Servios


projeto

SOA prope que se faa a modelagem de um processo, gesto dos processos de negcio da empresa. BPM a forma
no mais como um monobloco, mas sim por um conjunto de se atingir os objetivos de uma organizao atravs do
ordenado de unidades bem definidas, cada qual com sua aperfeioamento, gesto e controle dos processos essenciais
funcionalidade convenientemente descrita, de modo que, do negcio (PEREIRA, 2007).
ao final da execuo de todas as unidades, teremos o resul- Os grandes institutos de pesquisa esto validando essa viso.
tado esperado. Esse conjunto ordenado de unidades recebe O Gartner aponta projetos de BPM como os de maior ROI (Re-
o nome de workflow (fluxo de trabalho) e cada unidade turn On Investiment) em TI, e o Forrester Research anunciou
recebe o nome de servio. um novo acrnimo, IC-BPMS (Integration Centric BPMS), como
Mais que uma simples proposta de modelagem ou resoluo um novo modelo de desenvolvimento de aplicaes.
de problemas computacionais, SOA uma arquitetura de TI
e, como tal, define cada componente como um servio geren- BPMS (Business Process Management Suite)
civel, sendo que cada servio deve possuir um ciclo de vida BPMS um sistema que automatiza a gesto por proces-
prprio, os quais, tambm, devem possuir aspectos funcionais sos (execuo, controle e monitorao). Tipicamente, inclui
e de qualidade mensurveis. o mapeamento dos processos ponta a ponta, desenho dos
Podemos notar que uma arquitetura SOA mais que um fluxos e formulrios eletrnicos, definio de workflow,
sistema, pois envolve uma abordagem e dita o modo como regras de negcio, integradores, monitorao em tempo
um sistema de informao ser modelado. O importante real das atividades e alertas. uma poderosa ferramenta
saber que podemos montar solues baseadas em servios de gesto, para garantir que os processos esto sendo efe-
e workflow com tecnologias bastante variadas, desde que tivamente executados como modelados, contribuindo para
sejam respeitados os aspectos arquiteturais de servios e os os objetivos da organizao.
processos de negcio. Ilustramos na Figura 1 os elementos que compem um sis-
A arquitetura orientada a servios trata-se de um modelo, tema BPMS, de acordo com Glauco Reis (2007).
em que as funcionalidades ou servios so totalmente desa-
coplados e independentes, buscando atender s mais diversas
tarefas e, ainda, podem ser reutilizados nos mais diferentes
tipos de domnios de negcios demandados pelo mercado
coorporativo.
Esses mesmos servios so publicveis, de tal forma que
possam ter suas interfaces acessveis por meio de mecanismos
de localizao e, tambm, so descritos por meio de uma lin-
guagem totalmente independente da plataforma utilizada.
J no ponto de vista do negcio, SOA se apresenta como
uma soluo de maior flexibilidade, permitindo que as mais
diversas demandas do mercado sejam absorvidas e atendidas
pela empresa com agilidade e eficincia.
Questes que envolvem aspectos como segurana, benefcios
e recomendaes sobre implantao, dentre outros, no sero
Figura 1. Componentes de um BPMS
abordados neste artigo. Pretendemos, portanto, mostrar os
aspectos de modelagem de processos na arquitetura SOA A figura em forma de um pentgono ilustra em seus cinco
voltados para Web Services, conceitos, ferramentas e exemplos vrtices, os principais componentes de um sistema BPMS, como
de modelagem que possam contribuir com os diversos profis- o BPMN, ferramenta responsvel pelo desenho dos processos
sionais de TI na tomada de deciso de se adotar a arquitetura de negcio; o BPEL4WS que se destina a orquestrao destes
SOA em detrimento s demais existentes no mercado. servios, de forma a organiz-los melhor; a arquitetura SOA,
que busca de forma padronizada a componentizao dos ser-
Modelagem de Processos na Arquitetura SOA vios; o DashBoard, ou seja, o monitoramento em tempo real
As tecnologias descritas a seguir, no somente buscam uma dos seus processos; e, finalmente, o BPMN + SOA, que permite
aproximao de modo a permitir que haja uma maior comuni- o realinhamento de todos os processos.
cao entre as reas de negcio e TI, mas tambm de forma que
partes de um sistema possam ser criadas ou gerenciadas fora Um BPMS Completo
do ambiente de TI pelos prprios profissionais de negcio, tor- Para que tenhamos um ambiente de processos de negcio
nando esta relao de proximidade cada vez mais estreita. que englobe uma soluo BPMS, torna-se necessrio a ob-
servncia de alguns pontos de suma importncia, tais como
BPM (Business Process Management) mencionados a seguir. Um BPMS completo teria os seguintes
BPM pode ser definido como uma disciplina de gerncia mdulos ou funcionalidades para ser classificado como tal
focada na melhora do desempenho corporativo atravs da (Ghalimi, 2006):

Edio 19 - Engenharia de Software Magazine 25


Funcionalidades mnimas a modelagem mais simples at as mais complexas. Na seq-
Ferramenta de modelagem e desenho do processo; ncia iremos definir o conjunto de elementos representativos
Engenho de execuo do processo; que daro origem aos nossos diagramas, como Atividades,
Orquestrao de web services; Eventos, Condicionais e Ligaes. Esses elementos podem ser
Interface de workflow para usurios. subdivididos em categorias, tais como so apresentadas pelo
software livre Editor BPMN (Portal BPM, 2008) para desenho
Funcionalidades intermedirias de modelos BPMN, apresentados a seguir.
Suporte para regras de negcio complexas;
Business Activity Monitoring (BAM); 1. Atividades
Controle de verso dos documentos anexados a instn- As atividades so representadas por retngulos com bordas
cias do processo. arredondadas, conforme a Figura 2, e podem representar dife-
rentes tipos de atividades conforme a necessidade do modelo
Funcionalidades completas a ser representado.
Enterprise Service Bus (ESB);
Repositrio de metadados;
Uma suite de business intelligence.

BPMN (Business Process Modeling Notation)


O BPMN uma tecnologia grfica para construo de mo-
delos destinados a representar os processos de negcio da
empresa, que sero abordados e exemplificados a seguir.
Enquanto o BPEL um formato binrio para execuo de
servios em seqncia, o BPMN a notao grfica que permite
representar como os servios iro interagir.
O BPMN define os smbolos e como estes devem ser conec-
tados para gerar modelos representativos. Por outro lado, ele
no define formatos de arquivos nem mesmo caractersticas
particulares de ambientes de execuo. Trata-se de uma no-
tao visual para representao de fluxos de processos que
pode ser mapeada para diversos formatos de execuo, como
BPML e BPEL. Em uma analogia com a orientao a objetos, o
BPMN seria como a UML (Unified Modeling Language), que
define elementos grficos para representar objetos e classes, Figura 2. Componentes do diagrama BPMN - Atividades
como tambm sua interao. Da mesma forma que a UML, o
BPMN no define formatos de armazenamento nem elemen- 2. Eventos
tos programticos relacionados implementao, como por Eventos indicam acontecimentos que, de alguma forma, po-
exemplo, as rotinas. Por outro lado, a especificao completa o dem alterar a seqncia de execuo em um fluxo, sendo que
suficiente para permitir a representao de fluxos de processo iniciar ou terminar a realizao de um processo so exemplos
pelas reas de negcio, com detalhamento bem prximo das de eventos, conforme a Figura 3.
complexidades de um ambiente real, alm de ter elementos
que se aproximam de mecanismos de execuo.

Diagramas
Observamos tambm que a notao do BPMN se assemelha
bastante a de alguns diagramas da UML, como os diagramas
de atividades que tambm podem ser comparados aos
fluxogramas. Tambm relevante mencionar que o BPMN
composto por um conjunto de BPDs (Business Process
Diagram), sendo que esses diagramas de processos devem
permitir que o desenho em questo, de alguma forma, possa
ser mapeado para um formato de execuo, tal como o prprio
BPEL ou BPML.
O objetivo da notao BPMN criar modelos grficos de
alto nvel, visando uma proximidade maior realidade dos
analistas de negcio. Os elementos grficos permitem desde Figura 3. Componentes do diagrama BPMN - Eventos

26 Engenharia de Software Magazine - Arquitetura Orientada a Servios


projeto

3. Condicionais
Os losangos indicam tanto pontos em que o fluxo pode
divergir ou convergir, como pontos de tomada de deciso,
conforme a Figura 4.

Figura 7. Exemplo de Diagrama BPMN

O processo se inicia com a escolha de uma forma de paga-


mento. Observando-se o fluxo, conseguiremos notar como ele
pode ser parte de um fluxo maior, por exemplo, um processo
de compra em uma loja. Nesta representao, no importa
quem est envolvido com a tarefa nem quais outras atividades
foram ou sero executadas.

BPEL (Business Process Execution Language)


Figura 4. Componentes do diagrama BPMN - Condicionais
Orquestrao
BPEL (Business Process Execution Language) uma lin-
4. Ligaes guagem baseada em XML para a especificao formal dos
A seqncia em que os elementos so executados dentro processos empresariais e de negcios.
de um fluxo indicada pelas setas de fluxo, e dois elemen- BPEL alarga o modelo de interao e servios Web que lhe
tos conectados indicam o sentido deste fluxo, conforme a permite apoiar as operaes comerciais. o resultado de uma
Figura 5. iniciativa cruzada entre IBM, BEA e Microsoft para desenvolver
um processo universalmente relacionado com a linguagem
suportada.
Na programao tradicional, a execuo de servios de ma-
neira coordenada se faz mediante a criao de cdigos que se
conectam aos objetos. Esses cdigos obtm informaes e as
repassam a outros objetos. Um programa orientado a objetos
Figura 5. Componentes do diagrama BPMN - Ligaes exatamente isso, uma seqncia de objetos se comunicando
e passando informaes uns aos outros.
5. Dados e Outros A proposta do BPEL ou BPEL4WS executar servios em
Os elementos de dados fornecem informaes a serem seqncia, mas por meio de um mecanismo no programti-
compartilhadas entre vrias atividades em um fluxo. Dados co, reduzindo custos de manuteno causados por alteraes
como valores de cartes de crdito, carrinhos de compras po- freqentes nos cdigos. Sua verso inicial foi liberada em 2002,
dem ser, por exemplo, indicados por essa notao, conforme exatamente como proposta para a execuo de servios Web
a Figura 6. em seqncia.
O caminho adotado foi o de arquivos XML que descrevem
como os servios se comunicam, definindo-se mecanismos
para armazenar informaes de forma no programtica, e
criando-se engines que interpretam o XML, de modo a atuar
como se fosse o programa em si.
Em resumo, os engines BPEL funcionam como grandes in-
Figura 6. Componentes do diagrama BPMN - Dados terpretadores de cdigo XML, que executam atividades como
se fosse um programa, mas de manuteno facilitada, j que
Os diagramas podem ser representados de diversas maneiras, apenas esses XML so afetados nessa atividade. No utilizar
desde uma viso mais superficial, ou de alto nvel, at uma tecnologias programticas nos traz o benefcio de se ter ferra-
representao minuciosa de um processo. mentas de criao grfica mais simples, que podem ser geridas
Conforme a notao BPMN, exemplificamos um tipo de e at mesmo mantidas pelas reas de negcio.
diagrama de Processo de negcio privado, quando se est relevante dizer que o BPEL orquestra apenas Web Services.
interessado no detalhe. Neste diagrama, pode-se visualizar Se o mecanismo adotado para realizar a comunicao entre os
um pedao de um processo sem se importar com seu modo servios no for um Web Service, o BPEL se torna inaplicvel,
de contextualizao em relao ao restante do processo. o que no este caso, pois este artigo se baseia totalmente na
Podemos observar esta caracterstica na Figura 7. tecnologia de Web Services.

Edio 19 - Engenharia de Software Magazine 27


Desta forma, diramos que o BPEL torna uniformes vrios Como servidor de Banco de Dados utilizamos o Oracle
paradigmas da TI, traduzindo-os em Web Services. Por outro 10g; alem do servidor de aplicaes Oracle Application
lado, em funo das suas caractersticas, no interessante Server e BPEL Control; para manipulao do BPEL uti-
a sua utilizao em aplicaes que demandam a troca de lizamos o JDeveloper e, finalmente, para a criao dos
documentos e nem em aplicaes que geram muita interao diagramas BPMN e converso para o BPEL, a ferramenta
humana. BPA (Oracle Business Process Architect). Todas as ferra-
Quando for utilizada alguma ferramenta visual com nota- mentas citadas podem ser encontradas em Oracle SOA
o BPMN, alguns elementos grficos como eventos gerados Suite (2009).
por dados no tero mapeamento direto para o BPEL, sendo Com relao s licenas de uso das ferramentas Oracle
normalmente disponibilizados por servios de execuo. O SOA Suite, as mesmas podem ser obtidas com licena trial
incio de uma atividade causado pela alterao no valor de uma de acordo com OTN License Agreement (2009), a qual foi
cotao, por exemplo, precisa ser codificado como elemento utilizada para o desenvolvimento deste estudo.
programtico e disponibilizado como Web Service.
O BPEL ainda no define nada relacionado s telas de Necessidades do Negcio
interao com o usurio. Isso significa que, se a ferramenta Nosso contexto compreende uma empresa do ramo de
de desenho estiver gerando BPEL, sero necessrios outros eletrnicos, a qual disponibiliza, atravs da Internet, seus
artefatos para que se tenha condies de operacionalizar o produtos e servios, os quais podem ser contratados por
processo da forma esperada. meio de solicitaes enviadas pela Web, utilizando-se o
A caracterstica de orquestrar apenas Web Services, peculiar computador ou mesmo um dispositivo mvel, como um
ao BPEL, tornam necessrios estudos no intuito de identificar celular. Em suma, o cliente estar efetuando pedidos em
se os elementos programticos do legado da empresa, necess- uma loja virtual.
rios operacionalizao do fluxo, proporcionam a capacidade A fim de definirmos um escopo para o estudo de caso,
de se tornar Web Services. partiremos de uma empresa fictcia, a qual denomi-
namos de M-Eletronics, com o objetivo de modernizar
Estudo de Caso seus negcios e expandir suas fronteiras, alm de estar
Pretendemos neste estudo de caso utilizar novas metodo- buscando novas tecnologias que a possibilitem alar
logias e tcnicas aplicadas ao gerenciamento de negcios, novos mercados.
utilizando-se BPM e seus derivados. Desta forma, a empresa tem uma expectativa em mdio
O uso dessas novas tecnologias de projeto e desenvolvi- prazo, de poder alcanar maior lucratividade, associada
mento de software, aliadas ao mapeamento de processos das ao bom atendimento ao seu cliente.
empresas, facilita a produo e manuteno de uma soluo
que se baseia em Web. Portanto, este artigo trata de projetar Requisitos
um sistema BPM utilizando tecnologias relacionadas no lugar O sistema desenvolvido trata-se de um gerenciador
onde foram usadas tecnologias de Workflow tradicionais, o de pedidos, destinado a qualquer processo de pedidos,
qual mais restritivo quanto flexibilidade de um projeto e podendo ainda ser invocado a partir de qualquer pla-
sua manuteno. taforma. Este foi projetado, desenvolvido e executado a
Este estudo de caso consiste na elaborao de diversos fim de facilitar, agilizar e tornar mais confiveis tarefas
diagramas, entre eles, um diagrama com o fluxo e a macro que anteriormente eram executadas manualmente, sem
arquitetura do projeto BPM, um diagrama BPMN, diagramas desprezar a interveno humana quando necessria.
BPEL e alguns trechos de XML gerados automaticamente pelas Os principais requisitos so:
ferramentas utilizadas. 1. O Sistema deve receber o pedido atravs de um arquivo
importante observarmos que este projeto de Workflow XML contendo as informaes do mesmo;
parte do ponto em que a solicitao do aplicativo j foi feita aos 2. O Sistema deve processar o arquivo XML, extraindo
Web Services disponibilizados, os quais iro se comunicar com as informaes do pedido;
os fluxos BPEL, que por sua vez iro executar todas as regras 3. O Sistema deve inserir o pedido;
de negcio, conforme exemplificado nos diagramas a seguir. 4. O Sistema deve ler os dados do cliente, e validar os
mesmos;
Ferramentas utilizadas 5. O Sistema deve verificar em estoque a disponibilidade
Para a confeco deste trabalho foi necessria a utilizao de do produto;
um aparato de tecnologias voltadas ao BPM e SOA. Optamos 6. O Sistema deve validar os dados do carto de crdito
por utilizar as ferramentas da Oracle, devido grande capa- do cliente;
cidade de integrao das tecnologias envolvidas oferecidas 7. O Sistema deve efetivar o pedido caso todas as infor-
por estas e, ainda, pela robustez e confiabilidade destas, j maes necessrias sejam validadas;
consagradas no mercado e atestadas por diversos profissionais 8. O Sistema deve dar baixa em estoque da quantidade
da rea. do produto comprado.

28 Engenharia de Software Magazine - Arquitetura Orientada a Servios


projeto

Como regras de negcio, podemos definir: Modelagem BPMN


A partir de uma aplicao executada em um dispositivo mvel, No diagrama BPMN da Figura 9 demonstramos graficamente
ser repassado para o BPEL, no formato XML, o id do cliente e o fluxo no qual se enquadra nosso processo de negcio.
uma coleo com os ids dos produtos selecionados, tambm o Os elementos apresentados no grfico demonstram de for-
nmero do carto de crdito do cliente; ma clara e objetiva as ligaes entre as atividades, eventos e
O pedido armazenado e controlado em banco de dados pelo condicionais existentes em um processo de realizao de um
prprio BPEL, que mantm o estado de cada solicitao realiza- pedido no que se refere ao negcio da empresa.
da, e ainda as persiste em Banco de Dados, sem nenhuma inter-
ferncia humana. Para o objeto em questo, optamos por utilizar
um BPEL assncrono, pois algumas etapas do fluxo, como por
exemplo, a validao de carto de crdito, eventualmente
pode estar fora de operao e, desta forma, o processo ficaria
aguardando uma resposta, at que o servio se restabelea;
So recuperados todos os dados do cliente como, por exemplo,
o endereo de entrega;
Os produtos so debitados em estoque;
efetuado o dbito no carto de crdito do cliente;
Em caso de erro na operao, como falta de crdito disponvel
no carto, por exemplo, os produtos so retornados para estoque
novamente.
Figura 9. Diagrama BPM
Arquitetura do Projeto
Este projeto BPM tem como objetivo receber uma requisio Na seqncia, detalharemos melhor as atividades que en-
de compra, disparada por meio de qualquer dispositivo com- volvem o processo de negcio de um pedido, na concepo
putacional que oferea suporte linguagem XML. Neste estudo de nosso estudo de caso.
de caso, iremos enfatizar uma requisio enviada por meio de Aps o incio do fluxo, foi criada uma atividade Criar Pedido,
um dispositivo mvel, conforme a Figura 8. responsvel por criar e gravar um conjunto de registros com
status do pedido e receber a ordem de compra.
Posteriormente, foi inserida a atividade Get Dados Cliente,
na qual utilizamos o id (identificador nico) do cliente para
o registro da ordem de compra, sendo este, a chave de busca
para os dados do cliente.
Inserimos agora a atividade Get Informaes de Credito, que
tem o objetivo de recuperar o nmero do carto de crdito
do cliente e verificar o status do mesmo, ou seja, se o carto
vlido e se o saldo suficiente para realizar aquela operao.
Em seguida, a atividade Aprovar Pedido deve fazer a apro-
vao do pedido, podendo ter dois resultados: aprovar ou
rejeitar.
No caso do pedido ser rejeitado, o fluxo ser direcionado para
a atividade Cancelar Pedido, que efetuar o cancelamento do
pedido, desfazendo todas as operaes anteriormente reali-
zadas, finalizando o fluxo. No caso do pedido ser aprovado,
o fluxo ser direcionado para a atividade Fechar Pedido que,
Figura 8. Arquitetura do Projeto BPM
por sua vez, efetiva o pedido solicitado e conclui o fluxo de
Vale ressaltar, ainda, a importncia da utilizao de uma um pedido, finalizando o fluxo.
arquitetura baseada no Enterprise Service Bus - ESB, que tem a
funcionalidade de melhorar o acoplamento, fazendo a funo Modelagem BPEL
de um roteador das informaes que por ali trafegam. Os diagramas a seguir correspondem exatamente ao fluxo repre-
Desta forma, caso o sistema evolua sofrendo modificaes, sentado no digrama anterior em BPMN. Por esse motivo, no ser
que um fato normal, haver necessidade de mudanas nos necessrio descrever novamente passo a passo a sua execuo,
processos em BPEL. Sendo assim, bastar apenas alterarmos o observando apenas que os diagramas BPEL foram separados em
ESB de entrada. O mesmo fato ocorrer com o servio dos Cor- duas partes. A primeira, conforme a Figura 10, exibe o fluxo como
reios, por exemplo, caso a empresa passe a negociar com uma um todo, contendo apenas as principais funes, quase idntico
outra transportadora, o BPEL no precisa ser alterado. ao diagrama BPMN, diferindo apenas na representao grfica e

Edio 19 - Engenharia de Software Magazine 29


nas interfaces com os servios disponveis. Um segundo diagrama
BPEL poderia ser feito para demonstrar, detalhadamente, todas
as funcionalidades desempenhadas pelo fluxo, bem como os
tratamentos de exceo e suas interfaces com os servios. Porm
procuramos no estender demasiadamente este estudo de caso,
optando por no inclu-los.

Figura 11. Detalhe do Escopo Criar_Pedido

Figura 10. Diagrama BPEL

Descrio do Escopo Criar_Pedido


Detalharemos a seguir, um dos principais escopos do nosso
diagrama BPEL, Criar_Pedido, conforme indicado pelo prprio
nome, o qual o responsvel pela efetivao do pedido recebido
pelo BPEL, apresentado na Figura 11.
Os seguintes passos so observados:
1 passo - O BPEL solicita ao servio PedidoSequencia, que
retorna um nmero sequencial do pedido referente ao pedido
em questo;
2 passo - O BPEL ir definir as diversas variveis do sistema
para seu controle interno;
3 passo - Ir adicionar os itens do pedido; Figura 12. Tela Assign do JDeveloper
4 passo - Em seguida, ir inserir o pedido atravs do servio
InserirPedido e, ainda, dar baixa no estoque caso o pedido a opo Variable e expandimos o escopo CriarPedido. Em
seja concludo. orderSequenceOutput identifica-se sua origem e, seleciona-
mos a sequence order_seq_id_gen.nextval, direcionando para
Por meio do JDeveloper, podemos manipular todas as entradas a sada, direita, conforme a rvore Variable > inputVariable >
e sadas necessrias no mapeamento dos arquivos XML a serem payload > client > PurchaseOrder > ID.
gerados. Por exemplo, no escopo Criar_Pedido, podemos trans- Atravs da prxima interface, podemos observar que ser de-
ferir um determinado contedo de entrada de uma varivel para finido o status do nosso pedido para Pendente, atribudo em
sua sada. Definimos, desta forma, um status Pendente para a forma de String ao selecionarmos o Type Expression, conforme
varivel de controle do status AssignStatusOrdem, conforme a Figura 14. Desta forma, a String Pendente ser atribuda
a Figura 12. varivel OrderStatus.
Executando um duplo clique sobre a varivel em questo, ser Aps a execuo dos passos anteriores, teremos o arquivo
aberta uma nova tela, ilustrada pela Figura 13, na qual podemos XML gerado pela ferramenta (Listagem 1), representando o
notar a recuperao do ID que foi previamente gerado. Confor- escopo Criar_Pedido, que expressa exatamente os passos
me se pode observar na figura, escolhemos na origem e destino executados anteriormente.

30 Engenharia de Software Magazine - Arquitetura Orientada a Servios


projeto

Figura 13. Tela Copy Operation do JDeveloper

Figura 14. Tela Copy Operation do JDeveloper (continuao)

Listagem 1. XML Gerado pelo JDeveloper Escopo Criar_Pedido.


1 <scope name=Criar_Pedido> 21 </copy>
2 <variables> 22 <copy>
3 <variable name=orderRequest messageType=ns8:Orders 23 <from expression=string(Pendente)/>
Collection_msg/> 24 <to variable=inputVariable part=payload
4 <variable name=orderSequenceInput 25 query=/client:SOAOrderBookingProcessRequest/
5 messageType=ns12:OrderSequenceInput_msg/> ns4:PurchaseOrder/ns4:OrderInfo/
6 <variable name=orderSequenceOutput ns4:OrderStatus/>
7 messageType=ns12:OrderSequenceOutput 26 </copy>
Collection_msg/> 27 </assign>
8 </variables> 28 <assign name=AdicionarItensPedidos>
9 <sequence name=Sequence_11> 29 <bpelx:annotation>
10 <invoke name=RecuperarIdPedido partnerLink=PedidoSequencia 30 <bpelx:pattern>transformation</bpelx:pattern>
11 portType=ns12:OrderSequence_ptt 31 </bpelx:annotation>
operation=OrderSequence 32 <copy>
12 inputVariable=orderSequenceInput 33 <from expression=ora:processXSLT(TransformOrder.
13 outputVariable=orderSequenceOutput/> xsl,bpws:getVariableData(inputVariable,
14 <assign name=AssignStatusOrdem> payload))/>
15 <copy> 34 <to variable=orderRequest part=OrdersCollection/>
16 <from variable=orderSequenceOutput 35 </copy>
17 part=OrderSequenceOutputCollection 36 </assign>
18 query=/ns18:OrderSequenceOutputCollection/ 37 <invoke name=InserirPedido partnerLink=InseriPedido
ns18:OrderSequenceOutput/ns18: 38 portType=ns8:Order_ptt operation=write
order_seq_id_gen.nextval/> 39 inputVariable=orderRequest/>
19 <to variable=inputVariable part=payload 40 </sequence>
20 query=/client:SOAOrderBookingProcessRequest/ 41 </scope>
ns4:PurchaseOrder/ns4:ID/>

Edio 19 - Engenharia de Software Magazine 31


Consideraes Finais Referncias Bibliogrficas
A aproximao da rea de TI com a rea de negcios vem (GHALIMI, 2006) GHALIMI, Ismael C. BPM 2.0. In: Projeler. 2006. Disponvel em: <http://www.
colaborar, de inmeras maneiras, ao ambiente de uma or- projeler.com.br/artigos_bpm20.jsp>. Acesso em: 20 out. 2008
ganizao. Dessa forma, o BPM, em conjunto com a arqui-
(Oracle SOA Sute, 2009) Oracle SOA Suite.Oracle SOA Suite 10g Softwares Downloads.Disponvel
tetura SOA, vem se completar a fim de tornar os processos
em: <http://otn.oracle.com/software/tech/webservices>. Acesso em: 23 mai. 2009.
empresariais cada vez mais dinmicos e gerenciveis.
Neste artigo, procuramos apresentar os principais con- (OTN, 2009) OTN. OTN License Agreement. Disponvel em: <http://www.oracle.com/
ceitos que envolvem o SOA/BPM e os seus principais com- technology/software/popup-license/standard-license.html>. Acesso em: 23 mai. 2009.
ponentes. Os tpicos aqui levantados objetivam a serem
(PEREIRA, 2007) PEREIRA, Hlio. BPMS Brasil: algumas definies e conceitos. Disponvel em:
mais um ponto de orientao para as empresas, estudantes
<http://bpmsbrasil.blogspot.com/2007_01_01_archive. html>. Acesso em: 14 out. 2008
e profissionais da rea de TI que desejam conhecer ou im-
plementar uma arquitetura SOA. (PORTAL BPM, 2008) Revista Portal BPM.Editor BPMN.Disponvel em:<http://www.portalbpm.
Com um estudo de caso, demonstramos as tecnologias com.br/index.jsp?page=/downloads.jsp&dummy=279657439. Acesso em: 20 out. 2009.
envolvidas na implementao de uma soluo completa
(REIS, 2007) REIS, Glauco. Introduo ao BPM, BPMS e SOA. Revista Portal BPM, ano I, n. 1, p.
SOA/BPM, sobretudo em relao s suas bases, as quais se
22-29-48. Bimestral/2007. Disponvel em: <http://www.portalbpm.com.br>. Acesso em: 20
fundamentam nos padres XML. A modelagem e imple-
ago. 2008.
mentao foram tratadas com o emprego de ferramentas
especficas onde, atravs destas, sugerimos uma alternativa
D seu feedback sobre esta edio! Feedback
extremamente vivel para a tarefa proposta, em termos de eu

s
D
usabilidade e recursos funcionais. A Engenharia de Software Magazine tem que ser feita ao seu gosto.

sobre e
SOA/BPM um assunto muito rico e em constante evoluo. Para isso, precisamos saber o que voc, leitor, acha da revista!

s
ta
Outros estudos podem ser conduzidos nesta rea, expandin- D seu voto sobre este artigo, atravs do link:
edio

do e detalhando o que foi apresentado neste trabalho.


www.devmedia.com.br/esmag/feedback

32 Engenharia de Software Magazine - Arquitetura Orientada a Servios


Projeto

Arquitetura REST
Uma alternativa para construo de Servios Web

De que se trata o artigo? cadas envelopadas por um outro protocolo o proto-


Este artigo detalha a arquitetura REST, apresenta um colo SOAP. Dessa forma, muitas vezes o desempenho
pequeno exemplo de seu uso e suas principais vanta- do sistema comprometido devido ao tamanho das
gens em relao arquitetura de servios tradicional. mensagens, pois o que realmente utilizado uma
parte muito pequena do contedo contido nas men-
Para que serve? sagens envelopadas pelo protocolo SOAP.
O surgimento da Arquitetura de Web Services tornou
possvel a interoperabilidade entre aplicaes hetero- Em que situao o tema til?
gneas atravs do acesso aos servios, que podem ser No entanto, surgiram algumas alternativas que po-
invocados remotamente. Essa forma tradicional de dem melhorar o desempenho dessas aplicaes. Uma
uso de Web Services gera uma camada de abstrao destas alternativas, e a que tem tido mais sucesso
Lvia Ruback acima do protocolo HTTP, pois as mensagens so tro- atualmente, a arquitetura REST.
liviaruback@gmail.com
Graduada em Cincia da Computao pela

N
Universidade Federal de Juiz de Fora.
os lt imos a nos, alg umas um custo relativamente alto, como por
alternativas surgiram para exemplo, servios remotos acessados via
melhorar o desempenho de celular e PDAs.
Regina Braga
regina.braga@ufjf.edu.br aplicaes que acessam servios remo-
Regina Braga professora adjunta do tamente. Uma destas alternativas e a Arquitetura de Web Services
departamento de Cincia da Computao que tem tido mais sucesso atualmente Antes de iniciarmos o estudo desta
da Universidade Federal de Juiz de Fora. a arquitetura REST. nova abordagem de manipulao de Web
Suas linhas de pesquisa principais so re-
A utilizao da arquitetura REST tem Services e demonstrar na prtica suas
lacionadas a reutilizao de software, mais
especificamente com desenvolvimento ba- tornado mais simples e eficientes muitas principais vantagens, precisamos enten-
seado em componentes (DBC). O Ncleo de aplicaes que antes eram implementa- der como funciona a forma tradicional e
Pesquisa em Qualidade de Software, do qual das de maneira tradicional baseadas mais utilizada atualmente de construir
faz parte, atua principalmente em pesquisas no protocolo SOAP. e consumir Web Services a baseada na
relacionadas a multidisciplinaridade, nota-
As principais aplicaes que se benefi- Arquitetura de Web Services [1].
damente na rea de software cientfico, que
tem sido seu foco de pesquisas atual (DBC e ciam da utilizao desta arquitetura so A Arquitetura de Web Services surgiu
software cientfico). aquelas nas quais cada requisio tem para permitir a interoperabilidade entre

Edio 19 - Engenharia de Software Magazine 33


aplicaes rodando em diferentes plataformas. Foi especifica- estilos arquiteturais, acrescido de algumas caractersticas
da com base em um protocolo que encapsula as mensagens adicionais.
(SOAP Simple Object Access Protocol) e em uma linguagem As principais caractersticas arquiteturais incorporadas por
que descreve as interfaces dos servios, conhecida como WSDL Fielding foram:
(Web Services Description Language). Na prtica, em sistemas Separao de responsabilidades entre as camadas cliente e
que seguem essa viso de Web Services, as mensagens de re- servidor;
quisio e resposta so envelopadas pelo protocolo SOAP e Comunicaes independentes (stateless);
os seus servios so descritos em interfaces WSDL. Uso de cache (para eliminar algumas interaes desnecess-
Porm, um grande problema tem sido observado por usu- rias entre cliente e servidor);
rios desse tipo de arquitetura: a perda de desempenho das Ut i l i z a o de u m a i nt e r f ac e u n i f or me e nt r e o s
aplicaes. O que acontece que, ao utilizar o protocolo SOAP, componentes.
gerada uma camada de abstrao que envolve o protocolo
HTTP quando na verdade ela no precisaria existir. Como Como veremos mais adiante, estas caractersticas, quando
veremos mais adiante, a comunicao entre servios pode ser aplicadas ao desenvolvimento de Web Services, so capazes
feita de maneira mais simples e eficiente utilizando somente de melhorar o desempenho geral do sistema se comparadas
os recursos bsicos da Web XML e HTTP; e o melhor: sem utilizao do protocolo SOAP, pois diminui o tempo de
comprometer o desempenho! resposta das aplicaes. Alm disso, seu uso gera uma maior
flexibilidade e simplicidade.
Arquitetura REST
Antes de apresentarmos uma aplicao prtica dos princpios Elementos Arquiteturais REST
por trs da arquitetura REST e entender os seus objetivos e as Arquitetura de software um conjunto de elementos arqui-
suas vantagens, precisamos entender alguns conceitos rela- teturais que possuem alguma organizao [2]. Esta definio
cionados ao paradigma, suas principais caractersticas e seus destaca a importncia de conhecermos os elementos arquite-
elementos arquiteturais. turais de uma determinada arquitetura e suas inter-relaes
REST uma abreviao de Representation State Transfer, para obtermos um entendimento global da mesma.
ou traduzindo, Transferncia de Estado Representacional e se Para entendermos como REST surgiu, alm de conhecer
baseia em um novo conceito a ser exemplificado mais adiante: suas caractersticas arquiteturais, precisamos saber como ela
os recursos. foi composta.
Iniciaremos apresentando a origem arquitetural do paradig- Como qualquer outro modelo arquitetural, REST tambm
ma e seus elementos arquiteturais: os elementos de dados, os composto por um conjunto de elementos arquiteturais e seus
conectores e os componentes. Para finalizar, ser apresentada inter-relacionamentos. Fielding especificou em sua tese [3], que
uma consulta simples a um acervo de filmes para exemplificar deu origem arquitetura, as trs classes de elementos arqui-
na prtica os conceitos apresentados. teturais: Elementos de Dados, Conectores e Componentes. A
seguir, cada uma destas classes de elementos da arquitetura
Origem arquitetural do paradigma ser detalhada e exemplificada.
O paradigma REST foi criado no ano de 2000 por um cientista Elementos de Dados: So os elementos que contm a
da computao norte-americano e um dos principais criadores informao a ser usada e transformada. Os principais ele-
da especificao HTTP, Roy Fielding. REST surgiu como um mentos de dados de REST esto definidos e exemplificados
estilo arquitetural hbrido, a partir da combinao de outros na Tabela 1.

Elemento Definio / Funo Exemplo


Conceito-chave da arquitetura REST. Um filme.
Recursos Um recurso qualquer informao que possa receber um nome. Por exemplo,
Na prtica, tudo que possa ser armazenado em uma base de dados. Forrest Gump
Uma URI contendo o cdigo especfico e nico de um filme.
Identifica um recurso especfico envolvido em uma interao entre clientes e servidores. Por exemplo,
Identificadores de Recursos
REST usa o URI (Unified Resource Identifier) como identificador de recursos. http://localhost:8080/
REST/filme/1
Uma pgina da Web contendo o estado atual solicitado do recurso
(ano, ttulo, gnero).
As representaes de um recurso so usadas para capturar o estado atual e o estado
Por exemplo,
Representaes de Recursos desejado de um recurso solicitado.
Ano: 1994
Na prtica, so seqncias de bytes acrescidas de meta-dados que descrevem estes bytes.
Ttulo: Forrest Gump O Contador de Histrias
Gnero: Drama
Tabela 1. Elementos de dados da Arquitetura REST

34 Engenharia de Software Magazine - Arquitetura REST


Projeto

Para exemplificar os elementos de dados apresentados Mtodo Funo


na Tabela 1, pode-se considerar um sistema que fornece GET Obter uma representao de um recurso
informaes a respeito de um determinado filme (ou de POST Criar um novo recurso
uma lista de filmes). Neste cenrio, os filmes representam
PUT Criar um novo recurso / Modificar um j existente
os recursos armazenados na base de dados do sistema. Cada
DELETE Remover um recurso existente
filme representa um determinado recurso e identificado
com um cdigo especfico e nico. Este cdigo ir compor Tabela 2. Principais mtodos HTTP utilizados em aplicaes RESTFul
a URL que fornecer acesso ao recurso o identificador do
recurso. A pgina da Web contendo as informaes solici- Um exemplo de utilizao do mtodo GET, aplicado ao exem-
tadas dos filmes (ano, ttulo, gnero) seria a representao plo de busca de filmes citado previamente, seria:
destes recursos ou destes filmes.
Componentes: So os elementos que usam ou transformam GET http://localhost:8080/REST/filme/1
a informao. Em REST, os componentes so caracterizados
de acordo com o papel que exercem. So eles: A invocao deste mtodo retornaria a representao do
Servidor de Origem (trata as requisies de um clien- filme (recurso) de cdigo 1. Esta situao ser detalhada na
te). Por exemplo, o Servidor Web Apache. apresentao do exemplo prtico mais adiante. Vale lembrar
Proxy e Gateway (utilizados para permitir o encami- que o trecho localhost:8080 pode variar de acordo com a
nhamento das requisies e respostas). Como exemplo, mquina servidora e a porta utilizadas.
podemos considerar respectivamente o Netscape Proxy
e o Apache API; Um exemplo prtico
Agente do Usurio (inicia a requisio e, logo em Agora que os conceitos relativos a esta nova abordagem de
seguida, se torna o destino final de uma resposta o utilizao de servios j foram apresentados, poderemos enten-
Web Browser). der como eles so aplicados na prtica atravs de uma consulta
a um acervo de filmes, implementado em Java.
Conectores: So os elementos que interligam outros ele- A IDE utilizada para demonstrar o exemplo foi o Eclipse
mentos. REST usa conectores para encapsular a atividade de [4] verso Galileo e o continer web utilizado foi o Apache
acesso aos recursos e para transferir as suas representaes. Tomcat [5] verso 6.0.
De acordo com Fielding, A utilizao de conectores prov uma O servio oferecido consiste em um acervo simplificado de
interface abstrata para a comunicao entre os componentes, melho- filmes e as operaes permitidas so as de cadastro e de busca
rando a simplicidade do sistema atravs da separao de responsa- aos filmes. Por questes de simplicidade, os dados do exemplo
bilidades e ocultando a implementao de recursos e os mecanismos no so persistidos e as camadas de acesso aos dados (padro
de comunicao. Os principais conectores de REST so: DAO) e de servio (padro Service) foram omitidas, assim
C l ie nt e e S er v idor (r e sp on s vei s p elo ac e s s o como os mtodos get e set dos atributos e as declaraes do
aos rec u rsos). Exemplos: Libwww e Apache A PI, tipo import.
respectivamente; A classe Filme.java, ilustrada na Figura 1 representa a classe
Cache (armazena as respostas passveis de cache). Por de modelo do exemplo. Os dados do filme, neste contexto, so
exemplo, a cache de um Web Browser; as representaes dos recursos que esto sendo disponibiliza-
Resolver (responsvel pela converso de um URI em dos para acesso os filmes.
um endereo de rede). Exemplo: Bind (DNS lookup
library);
Tnel (cria um caminho virtual para o trfego dos
recursos). Exemplo: SOCKS ou um SSL (Secure Sockets
Layer) aps um HTTP CONNECT.

Interface Uniforme e os Mtodos Nativos HTTP
Como j explicado anteriormente, em REST os com-
ponentes se comunicam atravs de transferncias de
representaes de um determinado recurso. Para pa-
dronizar o formato destas representaes, REST utiliza
uma interface uniforme de componentes.
Na prtica, essa interface uniforme aplicada atravs Figura 1. Classe de modelo da aplicao de exemplo
da utilizao dos mtodos nativos do protocolo HTTP. A
Tabela 2 exibe os principais mtodos HTTP utilizados Para oferecer suporte a servios REST em Java, foi criada a
em aplicaes RESTFul (Web Services construdos de JAX-RS [6] uma API que surgiu para simplificar o desen-
acordo com os conceitos REST). volvimento da linha de servios REST e oferecer uma forma

Edio 19 - Engenharia de Software Magazine 35


padro de implementao da mesma. Sua implementao de
referncia conhecida como Jersey [7].
Para utilizar o Jersey em uma aplicao RESTFul, os pre-
fixos de URIs do servio devem ser mapeados para um
Servlet do Jersey. A Figura 2 exibe o arquivo web.xml da
aplicao configurado com este mapeamento. Como todas
as URIs so do servio REST, toda a aplicao mapeada
para o Servlet do Jersey.

Figura 3. Classe de Recurso FilmeResource.java da aplicao

Mtodo de busca de filmes


O primeiro mtodo oferecido pelo recurso o de bus-
ca de filmes. O mtodo buscarFilme foi anotado com @
Path({codFilme}). A juno da anotao do mtodo @
Path({codFilme}) com a da classe (@Path(filme)) especi-
fica que o mtodo capaz de responder a requisies para
a URI /filme/codFilme, como por exemplo /filme/1.
Como tambm foi inserida a anotao @GET no mtodo
de busca, todas as requisies do tipo HTTP GET sero
Figura 2. Arquivo web.xml da aplicao
tratadas por este mtodo. A anotao @PathParam utili-
zada para injetar no parmetro codFilme o valor que veio
Com a utilizao do Jersey, um servio implementado como da URI.
um recurso atravs de uma classe de Recurso e as requisies
so tratadas por mtodos da mesma. Uma classe de Recurso Mtodo de cadastro de filmes
contm anotaes da JAX-RS para indicar os mapeamentos e O outro mtodo oferecido o de cadastro de filmes. A
as operaes disponveis existentes [8]. utilizao da anotao @POST garante que todas as re-
A classe de recurso do nosso exemplo a exibida na quisies do tipo HTTP POST sero encaminhadas para o
Figura 3, FilmeResource.java. Como os recursos do nosso mtodo anotado. O parmetro do mtodo cadastrarFilme
exemplo so representados pelos prprios filmes, a nossa um objeto do tipo Filme, que ser enviado no formato
classe de recurso conter o prefixo /filme. Dessa forma, a XML em uma requisio.
classe deve ser anotada com @Path contendo o prefixo / Alm das anotaes @GET e @POST do exemplo, existem
filme para garantir que todas as requisies contendo esse outras que podem ser utilizadas nos mtodos, como @
prefixo sero redirecionadas para esta classe de recurso, DELETE e @PUT.
onde seus mtodos devem ser pblicos, como por exemplo,
GET http://localhost:8080/REST/filme/1 . Consumindo o servio
Alm disso, a classe deve conter as anotaes @Consumes e @ Para consumir o recurso disponibilizado pelo servidor,
Produces, que declaram que os servios da mesma so capazes a classe FilmeMain.java (Figura 4) efetua um cadastro de
de consumir e gerar contedo nos formatos text/XML e applica- um filme e realiza uma busca do mesmo.
tion/json. O formato JSON (JavaScript Objection Notation) um A converso do filme criado em formato XML feita com
formato independente de linguagem baseado em JavaScript. o auxlio da classe XStream, que pertence a uma biblioteca
Para utilizao do recurso por uma aplicao cliente RESTFul, criada para serializar objetos.
as solicitaes HTTP devem ser feitas atravs da classe Http- Na execuo da classe, ainda so exibidos o cabealho e
Client (da API commons-http-client)[9]. Esta API permite que o corpo, tanto da requisio quanto da resposta, para fins
se montem requisies HTTP e sejam recebidas suas respostas, de demonstrao. A Figura 5 mostra a sada da execuo
da mesma forma que ocorreria com um browser simples. da classe FilmeMain.java.

36 Engenharia de Software Magazine - Arquitetura REST


Projeto

Figura 4. Classe Main da aplicao


Figura 5. Sada da execuo da classe Main
Uma das grandes vantagens de REST que as requisies
do tipo GET podem ainda ser feitas de forma bem simples e
rpida atravs de um browser, como ilustra a Figura 6. Atra-
vs das URIs http://localhost:8080/REST/filme/1 e http://
localhost:8080/REST/filme/2, os dados dos filmes de cdigos 1
e 2, respectivamente, foram retornados em formato XML. Neste
contexto, estas URIs representam os identificadores de recurso
definidos por Fielding.

Casos de sucesso
Buscando, sobretudo simplicidade e maior desempenho
das aplicaes, o paradigma REST tem sido utilizado em
larga escala por algumas organizaes, listadas a seguir:

Google Search REST API


Figura 6. Requisies GET de maneira RESTFul diretamente pelo Browser
No ano de 2008, mais de um ano aps o Google ter descon-
tinuado o Google SOAP Search API conjunto de bibliotecas
para acessar os servios de busca do Google atravs de Web Twitter
Services em sua forma tradicional, utilizando SOAP a or- O Twitter representa um dos mais recentes e bem suce-
ganizao lanou o AJAX Search API [10], que oferece uma didos exemplos de redes sociais da Web. Oferece uma API
interface simples REST. A API suporta o mtodo HTTP GET para desenvolvedores web possibilitando que os usurios
e retorna mensagens do tipo JSON. acessem de forma simples as diversas funcionalidades que
a ferramenta disponibiliza a Twitter REST API [11].
A utilizao da API bem simples. Basta fazer uma solici- A Twitter REST API permite automatizar todas as funcio-
tao GET como a mostrada no exemplo prtico e processar nalidades da ferramenta que so acessadas manualmente.
uma resposta do tipo JSON. Alm disso, no necessria A mesma torna possvel, atravs de requisies HTTP, obter
a utilizao de uma chave de licena obrigatria para a tweets mensagens enviadas de um determinado usurio,
Google SOAP Search API. Outra vantagem a facilidade responder um usurio ou at mesmo filtrar tweets com base
de uso e o nmero ilimitado de requisies. Porm, a Goo- em critrios pr-definidos.
gle Search REST API ainda apresenta algumas restries, Para ilustrar este cenrio, pode-se considerar a URI http://
como o nmero mximo de oito resultados por requisio twitter.com/statuses/user_timeline.atom?id=liviaruback. A
e a no-permisso para alterar a ordem dos resultados da mesma retorna o timeline ltima mensagem enviada em
pesquisa. formato XML, do usurio liviaruback.

Edio 19 - Engenharia de Software Magazine 37


Assim como a API REST do Google, a Twitter REST API que ilustra este cenrio um servio que poderia ser acessado
ainda tem algumas limitaes como o nmero mximo de via Ajax atravs de um browser diretamente por um usurio.
100 requisies por hora. Porm, caso sejam necessrias mais Em casos como esse, a utilizao de REST muito mais simples.
de 100 requisies, pode-se requisitar ao Twitter pertencer a Basta ter um conhecimento sobre o protocolo HTTP e seus m-
uma lista branca que permite aos seus usurios mais de 100 todos invocando-os a partir de mtodos nativos do protocolo.
acessos por hora. No exemplo demonstrado anteriormente, por exemplo, para se
buscar informaes sobre um determinado filme, a abordagem
Concluso REST visivelmente a mais simples, visto que a solicitao GET
Como apresentado neste artigo, a implementao de Web pode ser realizada at mesmo atravs de um browser.
Services pode ser feita de duas maneiras: da forma como a Outros exemplos de utilizao so os servios para celulares
Arquitetura de Web Services foi especificada (utilizando SOAP e PDAs, e outros dispositivos mveis, onde cada requisio
e WSDL) ou atravs dos princpios do paradigma REST. tem um custo relativamente alto. Nestes casos, utilizar servi-
A viso tradicional para implementao de Web Services os REST sem dvida a melhor opo, devido sobretudo
baseada em trocas de mensagens no formato do protocolo simplicidade e ao desempenho. A maior prova disso tem sido
SOAP e que devem seguir um contrato WSDL. Nesse contexto, a utilizao em larga escala do paradigma por organizaes
o protocolo HTTP utilizado somente para transporte. Ambos como o Google, Twitter e Facebook.
os lados cliente e servidor precisam conhecer e entender
SOAP e WSDL para desempacotar e utilizar os dados. Referncias
Dessa forma, cria-se uma abstrao da comunicao onde 1. WSA Web Service Architecture: http://www.w3.org/TR/ws-arch/wsa.pdf
ferramentas devem encapsular a informao para que o seu
receptor a entenda e a processe. Alm disso, as trocas de men- 2. Fundamentos de Arquitetura de Software Guilherme Gerloglio: http://cnx.org/content/
sagens precisam ser envelopadas dentro de um pacote SOAP, m17524/1.20/
e o que realmente utilizado uma parte muito pequena do 3. Tese de doutorado de Roy Fielding: http://www.ics.uci.edu/~fielding/pubs/dissertation/
contedo contido no mesmo. Estas informaes desnecessrias rest_arch_style.htm
podem comprometer o desempenho de um sistema e o que
geralmente acontece. 4. Eclipse: http://www.eclipse.org/
De acordo com a viso arquitetural de REST, o protocolo 5. Apache Tomcat: http://tomcat.apache.org/
HTTP j rico o suficiente para que seja criada uma abstrao
para a construo de servios. 6. JSR 311: JAX-RS: The Java API for RESTful Web Services: http://jcp.org/en/jsr/detail?id=311
Como detalhado no exemplo, pode-se fazer o uso unicamente 7. Jersey: http://jersey.dev.java.net/
do protocolo HTTP para a comunicao, atravs do acesso di-
reto aos mtodos nativos GET, POST, PUT e DELETE. Como 8. Web Services REST Bruno Pereira: http://brunopereira.org/webservicesrest-indice/
a Web baseada em HTTP, em muitos casos a utilizao de 9. Jakarta Commons Http Client: http://hc.apache.org/httpclient-3.x/
REST a mais adequada, pois aumenta a velocidade de comu-
nicao entre os servios e, consequentemente, o desempenho 10. Google Search REST API: http://googlesystem.blogspot.com/2008/04/google-search-rest-api.html
geral da aplicao. 11. Using the Twitter REST API: http://www.ibm.com/developerworks/web/library/x-
Porm, para integraes em aplicaes corporativas ou
aplicaes nas quais realmente existe a necessidade de serem twitterREST/index.html?ca=drs-
manipulados vrios formatos - em vez de s XML, ou que os
servios oferecidos devem possuir um contrato formal, serem
D seu feedback sobre esta edio! Feedback
desacoplados e reutilizveis, o paradigma REST no a melhor eu
s
D

opo, pois no possui um padro oficial para a descrio dos A Engenharia de Software Magazine tem que ser feita ao seu gosto.
sobre e

seus servios, como o WSDL. Para isso, precisamos saber o que voc, leitor, acha da revista!
s

ta
O fato que para determinadas aplicaes, REST claramente D seu voto sobre este artigo, atravs do link:
edio

mais adequado do que a viso tradicional, por exemplo, quan-


www.devmedia.com.br/esmag/feedback
do se pode ter uma interao usurio-aplicao. Um exemplo

38 Engenharia de Software Magazine - Arquitetura REST


Projeto

Usando banco de dados objeto-relacionais


Transio das classes para um modelo de dados objeto-relacional

De que se trata o artigo? Para que serve?


Este artigo tem por objetivo apresentar um Fornecer aos desenvolvedores ou estudantes
SGBD-OR (sistema gerenciador de banco de da rea de sistemas exemplos prticos de como
dados objeto-relacional), comparando-o com transpor um modelo de classes para o projeto
o modelo vigente em mercado, o SGBD-R de banco por meio de um modelo objeto-rela-
(sistema gerenciador de banco de dados rela- cional implementado em um SGBDOR.
cional). Alm disso, ser demonstrado como Em que situao o tema til?
feita a transio de um modelo de classes para Para entender como a ligao entre os modelos
um modelo objeto-relacional, usando como de classes e o modelo de dados pode ser mais
exemplos de implementao, o banco de dados transparente quando esse banco pertence ao
Oracle. mesmo paradigma; alm de compreender como
o Oracle trabalha como um banco de objetos.

E
m tempos remotos, pensar em for- Os bancos de dados trabalham com
ma de armazenamento era pensar uma arquitetura que separa a parte
em dados organizados em colees fsica das aplicaes por meio de trs
logicamente relacionadas compondo ar- esquemas:
quivos. Contudo, mesmo com a separao Esquema interno: descreve a estrutura
Ana Cristina Melo fsica de programas e dados, toda a gern- fsica de armazenamento do banco de
informatica@anacristinamelo.com.br
cia destes dados ainda ficava embutida no dados, sua organizao de arquivos e os
especialista em Anlise de Sistemas e pro-
fessora de graduao e ps-graduao da cdigo-fonte dos programas. seus mtodos de acesso;
Universidade Estcio de S. Atua em anlise A evoluo ocorreu na dcada de 60 Esquema conceitual: descreve a estru-
e programao h 21 anos, sendo os ltimos com o surgimento dos sistemas de ban- tura do banco de dados sob o ponto de
11 anos no servio pblico. Autora do livro cos de dados, reunindo num s lugar to- vista do usurio, escondendo os detalhes
Desenvolvendo aplicaes com UML - do
das as funes necessrias localizao de armazenamento e concentrando-se
conceitual implementao, na segunda
edio, e Exercitando modelagem em UML. e manipulao dos dados, tornando-se na descrio de entidades, atributos,
Palestrante em alguns eventos, entre eles, uma camada lgica entre a aplicao e relacionamentos, operaes do usurio
Congresso Fenasoft, OD e Sepai. os dados propriamente ditos. e restries sobre os dados;

Edio 19 - Engenharia de Software Magazine 39


Esquema externo (ou vises do usurio): descreve as par- SGBD-OOs (Sistemas Gerenciadores de Bancos de Dados
tes do banco de dados que so do interesse de um grupo de orientados a objeto) e SGBD-ORs (Sistemas Gerenciadores
usurios, escondendo as demais. de Bancos de Dados Objetos Relacionais)
No incio da dcada de 90, surgiram vrios SGBD-OOs (sis-
Os esquemas so apenas camadas lgicas, pois o nico nvel temas gerenciadores de bancos de dados orientados a objetos),
que realmente existe armazenando os dados o nvel interno. onde o centro da ateno deixou de ser a relao com a tabela
A representao dos conceitos de cada nvel feita com o uso e passou a ser com a classe.
de modelos de dados. Em 1991, um grupo de fabricantes de SGBDs e empresas
No esquema interno so utilizados modelos fsicos de dados, que trabalham com padres criaram o grupo ODMG (Object
que so usados para descrever a organizao dos arquivos e os Database Management Group), responsvel por padronizar
mtodos de acesso, tal como definido no esquema. as funcionalidades dos bancos de dados orientados a objetos.
Nos esquemas conceitual e externo existem duas categorias Esse grupo definiu no s o modelo de dados OO, mas tambm
de modelos: o modelo conceitual, um modelo de alto nvel que os padres ODL (Object Definition Language) e OQL (Object
traz conceitos prximos da percepo que os usurios tm dos Query Language).
dados; e o modelo lgico, um modelo de nvel intermedirio Um SGBD-OO um sistema com as caractersticas de SGBDs,
que traz conceitos que podem ser entendidos pelos usurios acrescidos da manipulao de objetos contemplando:
finais, mas que no esto muito distantes do formato como os definio de objetos complexos, com estrutura aninhada,
dados so organizados no computador. como conjuntos ou listas de objetos, alm dos tipos de dados
O Modelo de Entidades-Relacionamentos (ER) o modelo con- primitivos;
ceitual mais utilizado no projeto de banco de dados. implementao de encapsulamento, determinando que
Os modelos de dados em rede, hierrquico, relacional e OO so todo acesso aos objetos seja por meio da aplicao de um
conhecidos como modelos lgicos. procedimento;
O modelo relacional foi introduzido por E. Codd em 1970, identidade de objeto, fazendo com que os objetos sejam
propondo o trabalho com tabelas, baseando-se em conceitos distinguidos por um identificador nico, mesmo que os valores
matemticos da lgebra Relacional. Nos ltimos anos, novas dos atributos sejam os mesmos.
demandas surgiram a partir das aplicaes no-convencionais. Atualmente existem poucos bancos orientados a objetos.
Contudo, os requisitos necessrios para se atender a essas de- Podemos citar: Gemstone, ObjectStore, Versant, Jasmine, Poet,
mandas no eram encontrados nos modelos lgicos existentes. Objectivity e O2.
Este problema incitou o surgimento dos modelos relacionais Os SGBD-ORs (sistemas gerenciadores de bancos de dados
estendidos ou objeto-relacionais, que trazem em sua essncia objetos-relacionais) surgiram como uma reao dos princi-
a incorporao de caractersticas do paradigma orientado a pais fabricantes de SGBD-R aos SGBD-OOs. Nos bancos de
objetos como extenses aos sistemas relacionais. dados objeto-relacionais, o banco relacional tem uma parte
Os modelos de dados OO apresentam conceitos de: objetos transformada, alm de receber a adio de novos recursos que
(com encapsulamento), classes (com atributos e mtodos), re- permitam implementaes orientadas a objetos.
lacionamentos (herana, associao e agregao) e identidade Um SGBD-OR um SGBD que suporta SQL-3. Leia no Box 1
de objetos. sobre a evoluo do SQL.
Cada objeto encapsula os atributos e os mtodos. Alguns bancos objeto-relacionais atuais: Oracle, PostgreSQL,
So caractersticas da identidade de objetos, conhecida como Informix, DB2, Cach e SQLServer.
OID (object identifier): Veja na Tabela 1 as principais diferenas entre os SGBD-OOs
so gerados pelo sistema; e os SGBD-ORs.
no so visveis aos usurios;
so independentes do endereo de armazenamento; A SQL foi projetada como uma linguagem de alto nvel para
no sofrem mutaes; banco de dados, prxima da linguagem natural, para ser usada
desejado que seja utilizado uma nica vez (mesmo aps em aplicaes e/ou diretamente por usurios finais em consultas
a excluso do objeto). ao banco.
O modelo relacional trouxe a realidade de SGBD-Rs (Siste- Foi adotada como padro na sua verso SQL-86. Novas verses
mas Gerenciadores de Bancos de Dados Relacionais) robustos surgiram em 89 (SQL-89) e em 92 (SQL-2).
e eficientes, que atenderam ao mercado por vrias dcadas. Em 1999, aparece a verso SQL:1999 (SQL-3), contendo exten-
Contudo, com o surgimento e solidificao do paradigma ses ao padro SQL-92, entre outros, a modelagem de objetos.
da orientao a objetos, as limitaes dos bancos relacionais Ficou definido como o padro de linguagem objeto-relacional
tornaram-se mais evidentes, trazendo discusso: em bancos.
o nmero reduzido de tipos de dados; Nova verso surgiu em 2003 (SQL: 2003), introduzindo, entre
os valores dos campos no serem atmicos; outras caractersticas, suporte ao XML.
inapropriao para armazenamento e busca de novos tipos
de dados como imagens, udio e vdeo. Box 1. Diferenas entre SGBD-OO e SGBD-OR

40 Engenharia de Software Magazine - Usando banco de dados objeto-relacionais


Projeto

SGBD-OO SGBD-OR
privilgio de CREATE UNDERTYPE: para criar
- modelo de dados mais rico - combina as melhores caractersticas do modelo de subtipos;
- adequado ao mercado de aplicaes no- objetos no modelo relacional
convencionais - combina um modelo rico com mais eficincia no Veja na Listagem 1 a sintaxe do comando CREATE TYPE para
- baixa performance e escalabilidade gerenciamento de dados criao de tipos e criao de subtipos (uso de UNDER).
- os dados so objetos com estrutura complexa - os dados so tabelas com estrutura complexa
- capacidade de consulta limitada, baseada em - uso do padro SQL estendido (SQL-3) para garantir
Listagem 1. Sintaxe do comando CREATE TYPE
navegao por objetos flexibilidade nas consultas
- baixa performance - espera-se alta performance CREATE [OR REPLACE] TYPE nome_esquema.nome_tipo IS/AS OBJECT
(atributo1
Tabela 1. Diferenas entre SGBD-OO e SGBD-OR tipo_dado1
especificao_elemento_1,
atributon
tipo_dadon
Oracle como Banco Objeto-Relacional especificao_elemento_n)
[[NOT] [FINAL]] [[NOT][INSTANTIABLE]]
Devido falta de padronizao do modelo objeto-relacional,
cada fabricante definiu as caractersticas do seu SGBD. CREATE [OR REPLACE] TYPE nome_esquema.nome_tipo UNDER nome_
esquema.nome_supertipo
Como linha de trabalho, vamos analisar a forma como o (atributo1
tipo_dado1
Oracle se comporta como um banco objeto-relacional, a par- especificao_elemento_1,
atributon
tir da sua verso 8i, quando passou a seguir o SQL-3, como tipo_dadon
padro. especificao_elemento_n)
[[NOT] [FINAL]] [[NOT][INSTANTIABLE]]

Object Type
Representam uma extenso dos tipos de dados relacionais Para entendermos o uso do Object Type, considere o pedao
do Oracle. O Object Type o tipo de dado que corresponder ao de modelo de classes da Figura 1.
conceito de classe, no paradigma de orientao a objetos.
Os Object Types so compostos de:
um nome que identifica o objeto unicamente dentro do
esquema;
um ou mais atributos que modelam a estrutura do objeto,
podendo ser tipos primitivos ou outros Object Types;
zero ou mais mtodos que so funes ou procedimentos Figura 1. Trecho de um modelo de classes para exemplificar criao de
implementados em PL/SQL, C ou Java (dependendo do banco) object types
e armazenados no prprio banco.
Vejamos agora na Listagem 2 os comandos do Oracle para
O Object Type por ser a abstrao de uma classe, no permite criar a classe Telefone e a classe Cliente.
nenhum tipo de armazenamento direto. Enxergado como um Repare que a classe Telefone se transformar no Object Type
tipo de dados, usado na definio de uma tabela, coluna ou TTelefone. Esse T na frente uma conveno minha para
em variveis dos mtodos. indicar um tipo definido pelo usurio. A classe Cliente se trans-
Uma tabela criada a partir de um Object Type chamada formar no Object Type TCliente. Como um object type no recebe
Object Table (tabela de objetos). Cada linha dessa object table dados, criaremos a Object Table (tabela de objetos) Cliente.
chamada de object row (linha objeto). Cada object row tem O relacionamento da classe Cliente com Telefone, nesse caso,
associado a ela um OID Object Identifier. tem apenas uma multiplicidade de 1. Sendo assim, usamos
Mas um Object Type tambm pode ser utilizado em uma tabela a forma mais simples de definir esse relacionamento, por
relacional. Nesse caso, ser utilizado como tipo de dados de colocao da object type apenas como tipo de dados.
uma coluna. Essa coluna ser identificada como object column O primeiro comando da listagem 1 cria o tipo (classe) TTe-
(coluna objeto). E esse registro no possuir OID. lefone contendo os atributos ddd, numero e tipo. O segundo
Contudo, objetos que so divididos entre vrios outros obje- comando cria o tipo (classe) TCliente contendo os atributos
tos, por meio de relacionamentos, precisam ser referenciados codigo, nome e tel. Sendo que tel um atributo, cujo tipo de
como Object Row. dados no um tipo primitivo, mas um object type. Para
Para criar um object type no Delphi, usamos a declarao que possamos efetivamente armazenar os nossos dados,
CREATE TYPE. J a declarao CREATE TYPE BODY define precisamos criar uma tabela de objetos a partir da classe
o cdigo para os mtodos referenciados no tipo. Veja os privi- TCliente. Assim feito no terceiro comando, onde criada a
lgios necessrios para criao de tipos: Object Table Cliente.
privilgio de CREATE TYPE: para criar tipos de objeto Na Listagem 3 exemplificamos como inserir dados na Object
no prprio esquema; Table Cliente.
privilgio de CREATE ANYTYPE: para criar tipos de Repare na Listagem 3 que o INSERT comea similar ao que
objeto em outros esquemas; conhecemos no SQL. A diferena reside em como vamos inserir

Edio 19 - Engenharia de Software Magazine 41


os dados do Object Type. Para isso, faz-se a chamada de um Imagine que quisssemos obter o telefone completo com o
construtor, que consiste em colocar frente dos dados que faro ddd. Bastaria colocar na query uma concatenao de ddd + o
parte do tipo de dados criado, o prprio nome da classe. nmero de telefone. S que toda vez que quisssemos obter
A nossa object table j possui alguns dados. Ento, o natural essa combinao, teramos que escrev-la no select. S que ob-
agora recuperar esses dados. Imagine que quisssemos saber ter o telefone completo pode ser um mtodo da classe telefone,
o nome do cliente e o nmero de telefone de todos os clientes como poderia ser de uma classe nota o mtodo calcularMe-
que tm ddd igual a 24. Repare na Listagem 4 como ficaria dia. Assim, vejamos na Listagem 6 como alterar esse tipo para
essa query. incluir um mtodo que mostre o telefone completo.
No primeiro comando da Listagem 6, estamos alterando o
tipo TTelefone. A alterao consiste da incluso de um mto-
Listagem 2. Criando object type e object table
do (ADD MEMBER), contudo poderia ser a incluso de um
CREATE TYPE TTelefone AS OBJECT
(ddd varchar2(2),
atributo (ADD ATTRIBUTE). Uma clusula importantssima,
numero varchar2(8), nesse caso, a CASCADE. Essa clusula determina que essa
tipo char(1));
alterao deve ser refletida em cascata a todas as tabelas de
CREATE TYPE TCliente AS OBJECT
(codigo number(4), objetos, colunas objetos ou object types criados a partir do tipo
nome varchar2(50),
tel TTelefone);
TTelefone.
De acordo com a documentao da Oracle, qualquer operao
CREATE TABLE Cliente OF TCliente;
feita aps uma alterao de tipo resultar no erro abaixo:
Listagem 3. Inserindo objetos numa Object Table ORA-22337: o tipo do objeto acessado evoluiu
INSERT INTO Cliente VALUES (
11, Armando Santos, Para se evitar esse erro, deve-se reconectar, antes de sub-
TTelefone(21, 21116666, R) );
meter o comando de operao.
INSERT INTO Cliente VALUES (
12, Veronica da Silva, O mtodo que definimos na Listagem 6 contempla um
TTelefone(21, 98765432, C) );
mtodo de escopo de instncia (ou no esttico), ou seja, que
INSERT INTO Cliente VALUES ( depende do valor da instncia (do objeto) para retornar a sua
13, Terezina do Esprito Santo,
TTelefone(21, 31115555, R) ); informao. Tambm podemos definir um mtodo de escopo
INSERT INTO Cliente VALUES ( de classe (ou esttico), ou seja, que independe do valor de uma
14, Pierre Le Monge, instncia, sendo sempre um mesmo valor ou procedimento
TTelefone(24, 98776655, C) );
para todas as instncias. Para se definir um mtodo esttico
INSERT INTO Cliente VALUES (
15, Dourivaldo Bezerra, (com escopo de classe), no lugar da clusula MEMBER, colo-
TTelefone(21, 45667788, T) );
camos a clusula STATIC. Veja exemplo abaixo:
Listagem 4. Exemplo de um select numa object table MEMBER PROCEDURE FuncaoNaoEstatica IS
STATIC PROCEDURE FuncaoEstatica IS
SELECT C.NOME, C.TEL.NUMERO
FROM Cliente C
WHERE C.TEL.DDD = 24
Na Listagem 7, vemos como possvel alterar o valor de
NOME
---------------------------------
TEL.NUMERO
----------
um dado que pertence a uma object type, usando o nosso
Pierre Le Monge 98776655 exemplo do telefone, e, em seguida, uma query que obtm
os telefones, fazendo uso do mtodo TelCompleto() adicio-
nado ao tipo.
Repare que o acesso feito pela notao de ponto. Se a
tabela de objetos tem um atributo TEL e esse atributo, por Listagem 5. Exemplo de um select numa object table usando recurso de
sua vez, possui vrios atributos, pois foi criado a partir group by
de uma classe, basta que eu navegue at o atributo TEL e SELECT C.TEL.TIPO TipoTelefone, COUNT(*) QtdClientes
FROM Cliente C
a partir dele chegue at o atributo desejado. Ento, para GROUP BY C.TEL.TIPO;
se fazer referncia ao nmero do telefone, seja para exibir
TipoTelefone QtdClientes
como campo, seja para filtrar a pesquisa por meio dele, o ------------ -----------
R 2
acesso se dar assim: C 2
T 1
C.TEL.NUMERO
Listagem 6. Alterao um object type com a incluso de um mtodo

Antes do atributo TEL, foi colocado o alias C.. Pois obri- ALTER TYPE TTelefone
ADD MEMBER FUNCTION TelCompleto RETURN VARCHAR2 CASCADE;
gatria a utilizao de aliases na manipulao de objetos.
CREATE OR REPLACE TYPE BODY TTelefone IS
As consultas feitas em object tables podem utilizar todos MEMBER FUNCTION TelCompleto RETURN VARCHAR2 IS
os recursos usados em consultas relacionais. Por exemplo, BEGIN
RETURN ( || DDD || ) || NUMERO;
se quisssemos saber quantos telefones tm de cada tipo, END;
END;
poderamos aplicar a query descrita na Listagem 5.

42 Engenharia de Software Magazine - Usando banco de dados objeto-relacionais


Projeto

Referncias e colees de referncias Listagem 7. Alterao de um atributo pertence a object type e query
Usamos as referncias e as colees de referncias para definir- chamando mtodo
mos relacionamentos entre objetos. Para que um objeto possa ter UPDATE Cliente C
uma coluna que uma referncia para outro objeto (que pode SET C.TEL.NUMERO = 87564321
WHERE C.CODIGO = 14
ser referncia de vrios outros objetos), essa tabela referencia-
SELECT C.NOME, C.TEL.TELCOMPLETO() TELEFONE
da precisa ser uma object table, ou seja, essa linha referenciada FROM Cliente C
ORDER BY C.NOME
precisa ser uma object row. Por exemplo: Se tivermos uma tabela
Bairro que tenha um atributo cidade que uma referncia, esse NOME TELEFONE
--------------------------------- -------------
atributo deve apontar para uma object table Cidade. Armando Santos (21) 21116666
Dourivaldo Bezerra (21) 45667788
A coluna que contm a referncia armazenar um ponteiro Pierre Le Monge (24) 87564321
Terezina do Esprito Santo (21) 31115555
para a linha objeto da outra tabela. Sendo assim, um REF nada Veronica da Silva (21) 98765432
mais do que um ponteiro lgico para uma object row.
Vejamos o trecho de um modelo de classes, apresentado na Listagem 8. Utilizao de referncia em object type. CREATE TYPE TCargo AS

Figura 2, para exemplificarmos o uso de referncias. Lembra- OBJECT

mos que REF usado quando temos um relacionamento de (codigo number(3),


titulo varchar2(30),
multiplicidade 1. Para multiplicidades acima de 1, devemos salario number(7,2),
usar uma coleo de referncias. MEMBER FUNCTION CalculaSalario RETURN number);

CREATE OR REPLACE TYPE BODY TCargo IS


MEMBER FUNCTION CalculaSalario RETURN number IS
BEGIN
return (salario * 1.15) * 0.91;
END;
END;

CREATE TYPE TFuncionario AS OBJECT


(matricula varchar2(5),
nome varchar2(50),
cargo REF TCargo);
Figura 2. Trecho de um modelo de classes para exemplificar uso de
referncias CREATE TABLE Cargo OF TCargo;
CREATE TABLE Funcionario OF Tfuncionario;

A Listagem 8 apresenta a criao da classe Cargo e da Listagem 9. Insert em object table que possui referncias
classe Funcionario. Repare que na definio do atributo INSERT INTO Cargo VALUES (100, Secretria Jr, 1500);
cargo da classe Funcionario que faz referncia tabela Car- INSERT INTO Cargo VALUES (110, Secretria Sr, 2300);
INSERT INTO Cargo VALUES (200, Programador Jr, 2000);
go, temos a clusula REF. Depois criaremos as object tables INSERT INTO Cargo VALUES (210, Programador Sr, 3100);
INSERT INTO Cargo VALUES (220, Analista Jr, 4000);
Funcionario e Cargo. Repare que a classe Cargo j est sendo INSERT INTO Cargo VALUES (230, Analista Sr, 5600);
criada com o mtodo calculaSalario(), para o qual aplicamos INSERT INTO Cargo VALUES (300, Auditor, 7900);

uma frmula bem simples, apenas para fins didticos. O INSERT INTO Funcionario
SELECT 95001, Marieta da Silva, REF(C)
salrio tem uma comisso de 15%, e depois descontado FROM Cargo C
um percentual de 9% de previdncia. WHERE C.codigo = 110;

Vejamos agora na Listagem 9 como feita a insero de INSERT INTO Funcionario


SELECT 99005, Joana Filigrama, REF(C)
dados nas duas object tables. Repare que apresentamos duas FROM Cargo C
formas de fazer o mesmo insert. Em qualquer uma das WHERE C.codigo = 100;

duas precisamos fazer um select na object table Cargo para INSERT INTO Funcionario
SELECT 05003, Raul da Ferrugem, REF(C)
obter o OID da mesma e associ-lo ao atributo cargo. Para FROM Cargo C
se obter esse OID, basta pedir o REF(alias-da-tabela). WHERE C.codigo = 200;

Como j vamos fazer um select, podemos montar nos INSERT INTO Funcionario
SELECT 05004, Vitor da Silva, REF(C)
campos do select os valores fixos que sero inseridos na FROM Cargo C
object table Funcionario. Essa a primeira soluo, adotada WHERE C.codigo = 200;

nos quatro primeiros inserts. A segunda forma mantm INSERT INTO Funcionario VALUES (
06010, Marilia Votoran,
os valores fixos como campos da clusula VALUES, e, (select REF(C) from Cargo C where c.codigo = 210) );
quando da colocao no atributo cargo, fazemos o select
INSERT INTO Funcionario VALUES (
na object table Cargo. Essa soluo adotada nos ltimos 03030, Paulino Freire,
(select REF(C) from Cargo C where c.codigo = 220) );
quatro inserts.
Na Listagem 10 podemos conferir como feito o select INSERT INTO Funcionario VALUES (
03050, Ana Miranda,
para recuperar o relacionamento entre Funcionario e (select REF(C) from Cargo C where c.codigo = 230) );
Cargo. Queremos trazer todos os funcionrios que tm INSERT INTO Funcionario VALUES (
o cargo menor que 200. Para cada funcionrio, exibir o 04050, Raul da Silva,
(select REF(C) from Cargo C where c.codigo = 230) );
nome, o cargo e o salrio lquido, obtido com o mtodo
calculaSalario().

Edio 19 - Engenharia de Software Magazine 43


Se utilizarmos na pesquisa apenas a referncia de cargo, di- Listagem 10. Select usando REF
retamente, o banco trar o OID que est armazenado na object SELECT F.NOME, F.CARGO.TITULO, F.CARGO.CALCULASALARIO() SLIQ
column. Veja na Listagem 11. FROM Funcionario F
WHERE F.CARGO.CODIGO < 200
Contudo, se utilizarmos na pesquisa a clusula DEREF, o
NOME CARGO SLIQ
Oracle primeiro copia o objeto, para depois exibi-lo. Veja na --------------------------------- --------------- -------
Listagem 12. Marieta da Silva Secretria Sr 2406,95
Joana Filigrama Secretria Jr 1569,75
As colees permitem o agrupamento de elementos de mes-
Listagem 11. Select direto na object column
mo tipo e podem ser constitudas de: tipos primitivos, object
types ou referncias. As colees so de dois tipos: Varray e SELECT F.NOME, F.CARGO
FROM FUNCIONARIO F
Nested Tables. WHERE F.MATRICULA = 95001

O Varray permite definirmos colees com um nmero fixo NOME


---------------------------------
de elementos. No caso de ser usado como tipo de dados de uma CARGO
coluna, os elementos so armazenados na prpria tabela. No ----------------------------------------------------------
Marieta da Silva
podemos apagar elementos individuais de um varray. 00002202083F4BA34F15C44568A3CF411CA6DE2C7
F06C3E663F32C40F6BACF849D5157FF21
A Nested Table (tabela aninhada) permite definirmos colees
Listagem 12. Select usando DEREF
com nmero ilimitado de elementos. No caso de ser usado
como tipo de dados de uma coluna, os elementos so armaze- SELECT F.NOME, DEREF(F.CARGO)
FROM FUNCIONARIO F
nados em uma outra tabela (tabela aninhada). Podemos apagar WHERE F.MATRICULA = 95001

elementos individuais de uma nested table. NOME


---------------------------------
Vamos considerar o pedao de um modelo de classes apresen- DEREF(CARGO) (CODIGO, TITULO, SALARIO)
tado na Figura 3 para exemplificar o uso do varray. Repare que ----------------------------------------------------------
Marieta da Silva
o mesmo modelo da Figura 1, porm, agora, o nosso cliente TCARGO(110, Secretria Sr., 2300)

pode ter trs telefones. Listagem 13. Criao de um varray

CREATE TYPE TListaTelefones AS VARRAY(3) OF TTELEFONE;

CREATE TYPE TClienteEsp AS OBJECT


(codigo
number(4),
nome varchar2(50),
telefones T
ListaTelefones);

CREATE TABLE ClienteEsp OF TClienteEsp;

Listagem 14. Insert em varray


Figura 3. Trecho de um modelo de classes usando INSERT INTO ClienteEsp VALUES (
multiplicidade maior do que 1 1001, Vitoriana Silva,
TListaTelefones( TTelefone(21, 99998888, C),
TTelefone(21, 22221111, R) ) );
Na Listagem 13 vemos como feita a criao da coleo de
INSERT INTO ClienteEsp VALUES (
telefones. Vamos considerar que j est criada a object type 1005, Suzanete Pedreira,
TListaTelefones( TTelefone(24, 76660001, C),
TTelefone. Sendo assim, primeiro damos um nome coleo TTelefone(21, 21334455, R),
TTelefone(21, 40010009, T) ) );
(TListaTelefones) e depois dizemos que ela uma coleo fixa
(varray) de trs elementos, no qual cada elemento tem a estru- INSERT INTO ClienteEsp VALUES (
1024, Machadiana Fonseca,
tura/formato da object type TTelefone. TListaTelefones( TTelefone(21, 21110000, R),
TTelefone(21, 23330000, R),
A seguir criamos uma nova classe Cliente, que vamos cha- TTelefone(21, 99988887, C ) );
mar de TClienteEsp. E a partir dela, criamos uma object table
chamada ClienteEsp. Listagem 15. select de um varray

Vejamos agora na Listagem 14 como fazemos a insero de SELECT C.NOME, C.TELEFONES


FROM CLIENTEESP C
dados na tabela de objetos ClienteEsp. Repare que a grande WHERE C.CODIGO = 1024;
alterao est no momento de inserir os telefones. Para que NOME
possamos inserir uma lista de telefones, temos que usar o ---------------------------------
TELEFONES
mtodo construtor que inicializa uma coleo, de acordo com o ----------------------------------------------------------
Machadiana Fonseca
que foi definido no atributo. Por isso, para dar carga no atributo TLISTATELEFONES(TTELEFONE(21, 21110000, R),
telefones, usamos o construtor TListaTelefones, pois esse o nome TTELEFONE(21, 23330000, R), TTELEFONE(21, 99988887,
C))
da varray criada. Contudo, como cada elemento dessa lista
por sua vez uma object type, para inserirmos cada elemento
preciso usar o mtodo construtor TTelefone. Na Listagem 17 preparamos uma query usando o varray, no
Para exibir o campo telefones, podemos verificar na Listagem 15 s no relacionamento como na clusula where.
como isso feito. Tambm podemos exibir esses telefones utili- Agora, para encerrar, considere o trecho de um modelo de
zando uma Unnesting Query, que permite a visualizao dos classes apresentado na Figura 4, para exemplificar o uso da
dados num formato de tabela relacional. Veja na Listagem 16. Nested Table.

44 Engenharia de Software Magazine - Usando banco de dados objeto-relacionais


Projeto

Listagem 16. select de um varray usando unnesting query Listagem 18. criao de uma nested table

SELECT C.NOME, VALUE(T) CREATE TYPE TDEPENDENTE AS OBJECT


FROM CLIENTEESP C, TABLE(C.TELEFONES) T (nome
WHERE C.CODIGO = 1024; varchar2(40),
parentesco
NOME varchar2(1));
VALUE(T)

CREATE TYPE TListaDependentes AS TABLE OF TDEPENDENTE;
---------------------------------
------------------
Machadiana Fonseca CREATE TYPE TSERVIDOR AS OBJECT
21110000 (matricula
Machadiana Fonseca
number(5),
23330000 nome
Machadiana Fonseca varchar2(40),
99988887 dependentes

TListaDependentes);
Listagem 17. select de um varray
CREATE TABLE SERVIDOR OF TSERVIDOR
-- Mostrar o nome dos clientes que possuem telefone celular. NESTED TABLE DEPENDENTES STORE AS TAB_DEPENDENTES;
SELECT C.NOME Listagem 19. insert em uma nested table
FROM CLIENTEESP C, TABLE(C.TELEFONES) T
WHERE T.TIPO = C;
INSERT INTO SERVIDOR VALUES (
NOME 1001, BARTOLOMEU VIEIRA,
TLISTADEPENDENTES(
--------------------------------- TDEPENDENTE(ANITA VIEIRA, C),
TDEPENDENTE(ANUSKA VIEIRA, F),
Vitoriana Silva TDEPENDENTE(VITOR VIEIRA, F)));
Suzanete Pedreira
Machadiana Fonseca
INSERT INTO SERVIDOR VALUES (
1205, JULIETA VIDAL,
TLISTADEPENDENTES(
TDEPENDENTE(CARLO VIDAL, C),
TDEPENDENTE(SUZANA VIDAL, F)));

Listagem 20. select com uma nested table

-- Mostrar o nome de todos os dependentes de todos os


servidores.
Figura 4. Trecho de um modelo de classes com multiplicidade
SELECT S.NOME, D.NOME NOMEDEP
de muitos, para exemplificar uma nested table FROM SERVIDOR S, TABLE(DEPENDENTES) D

NOME
Na Listagem 18 comeamos criando a object type TDependente.
NOMEDEP
Para que ela possa ser incorporada a uma object table como ---------------------------------
-----------------------
uma coleo de produtos, precisamos criar o tipo TListaDe- BARTOLOMEU VIEIRA
ANITA VIEIRA
pendentes que uma tabela de TDependente. Repare que no BARTOLOMEU VIEIRA
um array, mas uma tabela, que permite manipulaes mais ANUSKA VIEIRA
BARTOLOMEU VIEIRA
livres e infinitas. VITOR VIEIRA
Depois criamos a object type TServidor, com o atributo dependen- JULIETA VIDAL

CARLO VIDAL
tes que estar apontando para o object type TListaDependentes. JULIETA VIDAL

SUZANA VIDAL
Agora vamos criar a object table Servidor. Contudo essa criao
apresentar um comando extra, que da criao da tabela
aninhada. A tabela aninhada indica onde ser armazenado o invistam no suporte necessrio para que as empresas migrem
contedo do atributo dependentes. suas bases de dados para modelos orientados a objetos.
Na Listagem 19 vemos como inserir dados na object table Os benefcios para balizar essa deciso j existem, visto
Servidor. que bancos objeto-relacionais tm melhor perfomance, em
Na Listagem 20 vemos como recuperar os dados de Servidor. funo do uso de ponteiros, alm de oferecer consultas mais
Observe que a tabela TAB_DEPENDENTES no pode ser aces- rpidas e compactas. Desta forma, resta aguardarmos que
sada diretamente. A mesma apenas um meio de armazena- a teoria d lugar prtica, unificando todas as fases do de-
mento para os dados aninhados object table Servidor. senvolvimento de sistemas, sob um nico paradigma o da
orientao a objetos.
Concluso
Hoje a realidade aponta para o uso intensivo de modelos
D seu feedback sobre esta edio! Feedback
orientados a objetos. Para que os ganhos sejam reais, no nvel eu
s
D

de banco de dados, o mapeamento objeto-relacional usado A Engenharia de Software Magazine tem que ser feita ao seu gosto.
sobre e

em larga escala. Contudo, essa no a melhor soluo, pois Para isso, precisamos saber o que voc, leitor, acha da revista!
s

ta
os bancos relacionais no foram concebidos para atender a
edio
D seu voto sobre este artigo, atravs do link:
este tipo de modelo de negcios. Assim, espera-se que, mais
www.devmedia.com.br/esmag/feedback
cedo ou mais tarde, os grandes fabricantes de banco de dados

Edio 19 - Engenharia de Software Magazine 45


Referncias Nota 3. JSR 172 e KSoap

MELO, Ana Cristina. Apostila de Banco de Dados objetos-relacionais. GILLEANES, T.A.G.,UML2 (2a Edio): Guia de Consulta Rpida, Editora Novatec, 2005.

MELO, Ana Cristina. Desenvolvendo aplicaes com UML 2.0: do conceitual implementao. Rio GAMMA, E., HELM, R., JOHNSON, R., VLISSIDES, J.,Padres de Projeto, Editora Bookman, 2000.
de Janeiro: Brasport, 2004.
GORTON, I.,Essential Software Architecture, Springer, 2006.
BEZZERRA, E.,Princpios de Anlise e Projetos de Sistemas com Uml, 2007.
LARMAN, G.,Utilizando UML e Padres, 3ed, Editora Bookman, 2007.
BOOCH, G., RUMBAUGH, J., JACOBSON, I.,UML 2.0-Guia do Usurio, Editora Campus, 2005.
MENDES, A.,Arquitetura de Software, Editora Campus, 2003.
FOWLER, M.,UML Essencial, 3ed, Editora Bookman, 2005.
WASZLAWICK, R.S., Anlise e Projeto de Sistemas de Informao Orientados a Objetos, Editora
FOWLER, M.,Refatorao - Aperfeioando o Projeto de Cdigo Existente, Editora Bookman, 2004. Campus, 2004.

Existem coisas
que no conseguimos
ficar sem!

COMIDA ...s pra lembrar,


sua assinatura pode
estar acabando!
Renove J!

www.devmedia.com.br/renovacao

Para mais informaes:


www.devmedia.com.br/central
46 Engenharia de Software Magazine - Usando banco de dados objeto-relacionais
Gerncia de Projetos

Gesto de Portflio de Projetos

De que se trata o artigo?


Cristine Gusmo
Este artigo apresenta uma reviso de literatura so-
cristine@dsc.upe.br
Professora do Departamento de Sistemas e bre Gesto de Portflio de Projetos, apresentando
Computao da Escola Politcnica da Universi- alguns modelos e padres existentes.
dade de Pernambuco (POLI -UPE), onde leciona
vrias disciplinas na graduao e ps-gradu-
ao (especializao e mestrado). Coordena o
Para que serve?
Mestrado em Engenharia da Computao e o O levantamento apresentado serve para auxiliar
PROMISE Project Management Improvements organizaes e gestores a ampliarem seus conheci-
in Software Engineering - grupo de pesquisa mentos sobre Gesto de Portflio de Projetos.

C
na rea de Engenharia de Software. coorde- omo as organizaes podem de-
nadora do Curso de Bacharelado em Sistemas finir qual a melhor combinao Em que situao o tema til?
de Informao das Faculdades Integradas
de projetos para seu portflio e Como definir qual a melhor combinao de proje-
Barros Melo. Doutora e Mestre em Cincia da
Computao pela Universidade Federal de ainda alinh-lo s suas estratgias de tos para uma organizao, ou seja, qual o melhor
Pernambuco. Graduada em Engenharia El- negcio? A questo colocada reflete uma Portflio? Atualmente, definir e manter essa com-
trica - Eletrotcnica pela Universidade Federal necessidade crtica que est presente, binao de forma sistematizada, sustentada por
de Pernambuco. Pesquisadora associada do tanto no setor pblico, quanto privado. parmetros claros e coerentes, tem sido o grande
Ncleo de Telesude - NUTES - HC -UFPE.
Fazer com que o Portflio de Projetos re- desafio organizacional. Ter o melhor Portflio
Carlos Henrique R. Alexandria flita as estratgias organizacionais no tambm significa distribuir, da melhor maneira,
chra@dsc.upe.br tarefa trivial, tendo em vista que envolve entre os projetos, os recursos (humanos, fsicos e
Possui graduao em Cincia da Computao a anlise de vrios cenrios, tais como, financeiros) da organizao, de modo que projetos
pela Universidade Catlica de Pernambuco. necessidades do negcio, problemas importantes tenham prioridade.
Atualmente mestrando em Engenharia da
corporativos, demandas dos clientes, ob-
Computao, pela Universidade de Pernam-
buco e Analista de Sistemas do Servio Federal jetivos estratgicos, entre outros, que na
de Processamento de Dados, onde atua como maioria dos casos so avaliados apenas
Gerente de Projetos e Membro do Escritrio de com base no sentimento dos executivos e Definio de Portflio
Projetos da organizao. Tem experincia na dos especialistas da organizao. Possuir Para entender o que um Portflio,
rea de Cincia da Computao, com nfase
um processo decisrio mais consciente e em primeiro lugar preciso saber o que
em Engenharia de Software. Membro do gru-
po de pesquisa Project Management Impro- que no adote unicamente este sentimen- uma organizao, um projeto e um
vements in Software Engineering (PROMISE). to a chave para resolver essa questo. programa. De acordo com Montana,

Edio 19 - Engenharia de Software Magazine 47


organizaes so caracterizadas pela combinao de esfor- estratgicos da organizao, ou seja, ser o conjunto ativo
os individuais que tem por finalidade realizar propsitos de programas, projetos e outros trabalhos [PMI 2006].
coletivos, orientados a um objetivo comum [Montana 2003].
As organizaes normalmente so compostas de estruturas Estratgia Corporativa e Gesto de Portflio
fsicas e tecnolgicas, recursos financeiros e pessoas. J um Os projetos so normalmente utilizados pelas organiza-
projeto, segundo o Project Management Institute PMI es como um meio para atingir os seus objetivos estrat-
pode ser definido como um trabalho temporrio realizado gicos. Estes projetos normalmente advm das mais diver-
para gerar um resultado exclusivo, como por exemplo, um sas fontes. Uma demanda de mercado, uma necessidade
produto ou servio [PMI 2004]. Outra definio para projeto organizacional, uma solicitao de um cliente, um avano
dada por Kerzner. Para ele, projeto um empreendimento tecnolgico, um requisito legal podem ser citados como
com objetivo bem definido, que consome recursos e opera tpicas fontes de projetos [PMI 2004]. No entanto, como
sob presses de prazo, custo e qualidade [Kerzner 2004]. saber qual conjunto de projetos pode trazer maior valor
J um programa um conjunto de projetos interligados e agregado organizao e de fato facilitam a realizao dos
gerenciados de forma coordenada onde se busca a obteno objetivos estratgicos?
de benefcios e controles que no seriam possveis se fossem Primeiramente, necessrio chegar at os objetivos estra-
gerenciados separadamente. Programas podem incluir ele- tgicos organizacionais. Atualmente existem diversas fer-
mentos de trabalho relacionados fora do escopo dos projetos ramentas que auxiliam no desenvolvimento da estratgia
que fazem parte do programa [PMI 2004]. organizacional. Uma delas a Anlise das Foras, Fraque-
Um portflio uma coleo de projetos, programas e outros zas, Oportunidades e Ameaas, tambm conhecida como
trabalhos que so agrupados em conjunto para facilitar a Anlise SWOT Strengths, Weaknesses, Opportunities,
gesto eficaz, de modo a cumprir estratgias do negcio. Threats. Essa ferramenta auxilia na definio dos objetivos
Os projetos e programas (denominados componentes) que a organizao dever atingir para maximizar foras,
do Portflio podem ser mutuamente independentes ou minimizar fraquezas, aproveitar oportunidades e tratar
diretamente relacionados [PMI 2006]. A Figura 1 ilustra as ameaas [Tarapanoff 2001]. Outra abordagem bastante
os relacionamentos entre os diversos componentes de um utilizada o Balanced Scorecard - BSC, fortemente pautado
portflio. Frequentemente esses componentes competem em gesto estratgica, que rene componentes necessrios
por uma quantidade de recursos (fsicos, financeiros e hu- ao alinhamento do planejamento estratgico com as aes
manos) disponveis ao patrocinador, que normalmente so operacionais da organizao [Kaplan e Norton 1996].
insuficientes para executar todas as demandas existentes De uma forma mais ampla, pode-se dizer que a gesto
na organizao [Archer e Ghasemzadeh 1999]. de um portflio envolve as atividades de identificao,
Kerzner define a gesto de portflio como um processo de priorizao, autorizao, monitorao e controle de pro-
tomada de decises que busca o melhor para a organizao jetos, programas e outros trabalhos, visando assegurar
como um todo, ressaltando que essas decises no so tomadas que os investimentos alcancem os objetivos estratgicos
no vcuo. A deciso geralmente est relacionada com outros definidos pela organizao. Por outro lado, a gesto de
projetos e diversos fatores, tais como reservas financeiras projetos envolve a aplicao de conhecimento, habilidades,
disponveis e a alocao de recursos [Kerzner 2004]. ferramentas e tcnicas ligadas s atividades do projeto,
possibilitando o alcance de contribuies individuais aos
objetivos estratgicos.
Independente da forma como as organizaes realizam
seus planejamentos estratgicos, elas normalmente definem
sua viso e misso, para ento definirem suas estratgias e
objetivos corporativos. A execuo destas estratgias, auxi-
liadas pelo necessrio apoio de processos de gerenciamento,
ferramentas e tcnicas, acabam oferecendo subsdios ao
planejamento e gerenciamento das operaes e tambm ao
portflio de projetos da organizao.
Na Figura 2, os itens Viso, Misso, Estratgias e Objetivos
Corporativos ilustram os componentes utilizados para defi-
nir os objetivos da organizao. A partir destes componentes
que so definidas todas as demais aes corporativas. Os
Figura 1. Exemplo dos relacionamentos entre os componentes de um
Portflio componentes do nvel ttico: Planejamento e gerenciamento
de operaes e Planejamento e gerenciamento de portflio
Em um determinado momento temporal, o portflio re- de projetos representam os processos que estabelecem as
presentar uma fotografia dos componentes selecionados aes necessrias para realizar os objetivos da organizao.
pela organizao, de modo que reflitam e afetem os objetivos Tais componentes interagem com os do nvel operacional,

48 Engenharia de Software Magazine - Gesto de Portflio de Projetos


Gerncia de Projetos

que so: Gerenciamento de operaes, Gesto de mltiplos Gesto de Portflio versus Gesto de Mltiplos Projetos
projetos, abordada na prxima seo, e o Gerenciamento de A grande diferena entre a gesto de portflio e a gesto de
programas e projetos autorizados, que so os componentes mltiplos projetos est no foco organizacional desses proces-
que tentam garantir organizao que suas operaes e pro- sos. A gesto de portflio tem como uma de suas principais
jetos sejam executados de forma eficiente [PMI 2006]. preocupaes o constante alinhamento estratgico dos seus
componentes, o que a aproxima do nvel mais estratgico da
organizao. Outra atribuio da gesto de portflio, segundo
o PMI, est na identificao, seleo, avaliao e priorizao
dos componentes do portflio [PMI 2006].
No caso da gesto de mltiplos projetos, que tem o foco muito
mais operacional, devido ao fato de trabalhar em conjunto com
a gesto dos projetos em execuo, a principal responsabilidade
est na distribuio equilibrada dos recursos disponibilizados
no portflio aos projetos sob sua responsabilidade. Ou seja, a
gesto de mltiplos projetos estar constantemente analisando
a alocao dos recursos e re-distribuindo os disponveis entre
seus projetos. Tambm poder fazer parte do conjunto de
atividades da gesto de mltiplos projetos o auxlio na reso-
luo de conflitos no mbito de cada projeto, apoio tcnico em
metodologia de gesto de projetos, alm do acompanhamento
gerencial para que os projetos alcancem as metas estabelecidas
e obtenham sucesso em relao aos seus requisitos.
importante reforar que a retirada de recurso em uso de
Figura 2. Exemplo do contexto organizacional onde o portflio de um determinado projeto, para outro de maior prioridade,
projetos est inserido [PMI 2006]
responsabilidade da gesto de portflio, pois foi ela quem
Tanto as aes operacionais, quanto as de projetos, devem realizou a priorizao dos projetos e est constantemente pre-
ser consideradas na gesto de portflio. As aes operacio- ocupada com o bom andamento dos projetos de maior valor
nais utilizam atividades recorrentes e processos de gesto para a organizao.
operacional para facilitar a execuo do planejamento de alto
nvel. J os projetos utilizam processos de gerenciamento Relao entre a Gesto de Portflio e a Gesto de
que permitam o planejamento e execuo eficiente das ati- Projetos/Programas
vidades [PMI 2006]. Nesse nvel ttico de gesto, uma das A gesto de portflio utiliza uma gama de informaes
principais preocupaes ser fazer com que as operaes coletadas a partir dos projetos e programas que o integram.
e os projetos sejam geridos de forma eficiente, trazendo De uma forma geral, so analisadas informaes referentes
bons resultados, utilizando a quantidade mnima possvel ao andamento das aes planejadas, ao esforo desprendido
de recursos, com o mnimo esforo e em conformidade com e ao oramento. Esta anlise tem como objetivo determinar
valores e normas organizacionais. aes necessrias para resolver desvios que forem sendo
O fato que as organizaes dependem de projetos e pro- identificados [PMI 2006].
gramas para atingir seus objetivos estratgicos. A gesto de A gesto de projetos/programas pode trabalhar em conjunto
portflio permite interligao harmoniosa entre os projetos com a gesto de portflio na determinao dos critrios de en-
e os objetivos estratgicos atravs da diviso e alocao de cerramento de suas aes, assim como, na avaliao para deter-
recursos [PMI 2006]. minar se um projeto/programa deve ou no ser cancelado. Outro
Sendo assim, a estratgia da organizao impulsiona as ponto em que a gesto de projeto/programa pode interagir com
definies das metas e objetivos estratgicos. Esses objetivos a gesto de portflio no planejamento da capacidade de suas
so passados para a gesto de portflio que visa garantir que aes, pois afetar a distribuio dos recursos (humanos, fsicos
os projetos e programas da organizao estejam alinhados e financeiros) disponveis ao portflio [PMI 2006].
para alcanar os objetivos da organizao. Com base nesse Dependendo da estrutura organizacional, a gesto de por-
princpio, a gesto de portflio ir selecionar, priorizar e tflio, em conjunto com a gesto de projetos/programa, ir
aprovar projetos e programas para fazer parte do portflio administrar a distribuio dos recursos (humanos, fsicos e
da organizao. A gesto de portflio tambm deve estar financeiros) aos componentes do portflio [PMI 2006].
preocupada com o equilbrio do portflio em termos de
retorno financeiro versus investimento e risco versus be- Mtricas em Gesto de Portflio
nefcio, assim como, em negociar acordo entre as partes As mtricas de gesto de portflio normalmente incluem medi-
interessadas, por exemplo, entre a gerncia executiva e os das sobre a capacidade de recursos disponveis e o desempenho
gestores de projetos [PMI 2006]. do portflio de uma forma geral. Essas mtricas incluem:

Edio 19 - Engenharia de Software Magazine 49


Disponibilidade e os tipos de recursos necessrios para visando buscar um processo mais adequado ao portflio da
suportar os componentes do portflio como planejado e organizao. Alm disso, ele, juntamente com outros lderes
durante a execuo da organizao, dever ter a capacidade de desenvolver
Andamento do progresso dos componentes em direo s estruturado e bem pensado processo de gesto de portflio
metas estabelecidas que melhor se adapte ao negcio, e que se integre bem aos
Medidas financeiras, tais como, rentabilidade total do in- outros processos da organizao.
vestimento, valor presente lquido e a diversidade de apoio
financeiro entre os objetivos estratgicos Competncias Gerais
Oramento gastos versus oramento planejado Um bom gerente de portflio deve possuir uma vasta gama
ndices de satisfao do cliente de habilidades pessoais (comunicao, liderana, persuaso,
Desempenho de lanamento do produto. criatividade, entre outras) e ser capaz de interagir facilmente
com os executivos e demais tomadores de deciso da or-
Essas mtricas descrevem o valor do portflio para a ganizao. Alm disso, ele deve ter conhecimento sobre o
organizao onde, de acordo com a necessidade, cada item mercado da organizao, sua base de clientes, suas normas
pode ser melhor detalhado conforme a importncia do internas e leis que regulamentam o seu negcio. Deve ter
componente, facilitando o acompanhamento. tambm a capacidade de analisar dados e tomar decises
com base em relatrios de desempenho do portflio e suas
Gerente de Portflio mtricas.
O papel de gerente do portflio, que normalmente
desempenhado por um gerente snior ou uma equipe de Modelos e Padres de Gesto de Portflio
gerentes seniores, responsvel por monitorar o portflio. Os modelos e padres de gesto de portflio so propos-
Essa monitorao consiste em: tas de processos de trabalho, criados para sistematizar a
Buscar o constante alinhamento dos componentes do por- dinmica decisria do portflio [Blomquist e Muller 2006],
tflio aos objetivos estratgicos da organizao de modo que essas decises tentem garantir a melhor
Distribuir s principais partes interessadas do portflio, distribuio e utilizao dos recursos (humanos, fsicos e
informaes sobre o desempenho dos componentes, assim financeiros) pelos componentes, assim como, a execuo
como, sobre os atuais e potenciais problemas dos componentes que realmente estejam alinhados com
Medir o valor do portflio atravs de instrumentos de investi- as estratgias da organizao e que proporcionem maior
mento, tais como, retorno sobre o investimento (return on invest- valor agregado.
ment ROI), valor presente lquido (net present value NPV), A seguir sero detalhados alguns modelos e padres exis-
perodo de retorno (payback period PP), entre outros. tentes na literatura e no mercado.

Para ter sucesso neste papel, o Gerente de Portflio deve Padro de Gesto de Portflio [PMI 2006]
ter algum nvel de conhecimento nas seguintes reas: Segundo o PMI, o Padro para Gesto de Portflio proposto
composto de vrios processos que possuem dependncias
Viso Estratgica claras e so executados durante a gesto de cada portflio.
O gerente de portflio deve ter uma boa compreenso da Esses processos so independentes da rea de aplicao ou
viso, misso e estratgia corporativa, de modo a auxiliar na negcio da organizao que o utiliza. Eles foram agrupa-
otimizao do portflio da organizao. Ele deve compre- dos em dois grupos, denominados Grupos de Processos de
ender o relacionamento entre os componentes do portflio Gesto de Portflio, detalhados a seguir:
e os objetivos estratgicos, assim como o plano para atingir Grupo Processo Alinhamento: inclui os processos que
esses objetivos. diro o que ser gerenciado no portflio, quais as categorias
e quais os componentes que sero avaliados e escolhidos,
Mtodos e Tcnicas de Gerenciamento de Projetos e ou no, para fazerem parte do portflio.
Programas Grupo Processo Monitorao e Controle: inclui os proces-
O gerente do portflio deve ter um conhecimento avanado sos responsveis pela monitorao peridica dos componen-
dos mtodos e tcnicas de gerenciamento de projetos e pro- tes, assim como o alinhamento dos mesmos s estratgias
gramas. Alm disso, ele deve ser capaz de compreender no da organizao.
s informaes de alto nvel sobre o andamento dos projetos,
mas tambm, os detalhes da gesto de projetos, de modo a Interaes entre os Processos de Gesto de
determinar se esta gesto est sendo eficiente ou no. Portflio
A Figura 3 apresenta um resumo dos processos que inte-
Desenvolvimento e Melhoria Contnua do Processo gram o Padro de Gesto de Portflio do PMI e mostra suas
O gerente do portflio deve entender o desenvolvimento interaes com o Plano Estratgico da Organizao e com
e melhoria contnua do processo de gesto de portflio, a Gesto de Projetos.

50 Engenharia de Software Magazine - Gesto de Portflio de Projetos


Gerncia de Projetos

Identificar categorias estratgicas com base no plano


estratgico;
Comparar os componentes identificados com os critrios de
categorizao;
Agrupar os componentes em apenas uma categoria.

Avaliao
O objetivo deste processo reunir todas as informaes
necessrias para avaliar os componentes com a finalidade
de compar-los para facilitar o processo de seleo. As infor-
maes so levantadas para cada componente do portflio e
Figura 3. Processo de Gesto de Portflio Ilustrao de Alto Nvel podem ser qualitativas ou quantitativas, vindas das mais va-
[PMI 2006] riadas fontes da organizao. Deve-se ter o cuidado necessrio
para no comprometer a preciso das informaes durante a
A partir do diagrama disponibilizado na Figura 3, tem-se: atividade de levantamento. Grficos, diagramas, documentos e
Plano planejamento estratgico: a base para tomada de recomendaes so gerados para apoiar o processo de seleo.
decises da gesto de portflio, assim como, para determinar As principais atividades deste processo so:
o que cada portflio ir fazer em termos de projetos. Avaliar os componentes do portflio atravs da aplicao de
Processo de gesto de portflio: representa uma srie de modelos de pontuao que inclui critrios-chave;
processos integrados que abrangem desde a identificao a Produzir representaes grficas para facilitar a tomada de
autorizao de cada componente do portflio. deciso no processo de seleo;
Processo componente: a aplicao de uma srie de conheci- Fazer recomendaes para o processo de seleo.
mentos, habilidades, ferramentas e tcnicas com o objetivo de
executar o componente que teve seu incio autorizado. Seleo
O objetivo deste processo produzir uma lista de compo-
Ainda de acordo com as informaes apresentadas atravs nentes baseada nas recomendaes do processo de avaliao
da Figura 3, o processo de Gesto de Portflio composto por e nas capacidades de recursos da organizao. A avaliao
um conjunto de atividades de: determina o valor de cada componente, enquanto a capaci-
dade de recursos da organizao determinar o nmero de
Identificao componentes que podero ser autorizados a iniciar. Recursos
O objetivo deste processo criar uma lista atualizada com organizacionais podem incluir recursos humanos internos e/
diversas informaes sobre os componentes que esto em exe- ou externos, recursos financeiros, equipamentos e outros bens.
cuo e sobre os novos componentes que entraro no portflio Esse processo gerar uma lista de componentes que representa
da organizao. As principais atividades deste processo so: o melhor valor para a organizao com base na capacidade
Comparar os atuais componentes e as novas propostas de disponvel. As principais atividades deste processo so:
componentes com os direcionamentos da organizao; Selecionar componentes com base nos resultados da avaliao
Rejeitar os componentes que no estejam alinhados com as e da capacidade da organizao;
diretrizes da organizao; Definir os recursos humanos, financeiros e capacidade de
Classificar os componentes identificados em classes pr- ativos da organizao;
definidas, tais como projeto, programa, portflio, entre Fazer recomendaes para o processo de priorizao.
outros.
Priorizao
Categorizao O objetivo deste processo classificar os componentes dentro
O objetivo deste processo separar os componentes em ca- de cada categoria estratgica ou de financiamento (inovao,
tegorias empresariais relevantes, de modo que um conjunto reduo de custos, crescimento, manuteno e operaes), de
comum de filtros e critrios de deciso possa ser aplicado tempo de retorno do investimento (curto, mdio ou longo pra-
durante os processos de avaliao, seleo, priorizao e ba- zo), de risco versus retorno ou de foco organizacional (cliente,
lanceamento. Essas categorias so definidas com base no plano fornecedor e interno) de acordo com critrios estabelecidos.
estratgico. Os componentes de uma determinada categoria Essa etapa classifica os componentes para posteriormente fa-
tero um objetivo comum e podero ser medidos com base nes- cilitar a anlise e o balanceamento do portflio. As principais
se objetivo, independentemente da sua origem na organizao. atividades deste processo so:
A categorizao dos componentes permite que a organizao Confirmar a classificao dos componentes nas categorias
eventualmente possa equilibrar os seus investimentos e seus estratgicas previamente determinadas;
riscos entre todas as categorias e objetivos estratgicos. As Estabelecer e aplicar critrios de pontuao nos componentes,
principais atividades deste processo so: gerando assim a classificao dos mesmos;

Edio 19 - Engenharia de Software Magazine 51


Determinar quais os componentes que devem receber m- revisar o portflio dentro de uma frequncia pr-determinada,
xima prioridade dentro do portflio. de maneira a assegurar o alinhamento dos seus componentes
com as estratgias de negcios, alm de garantir a utilizao
Balanceamento do Portflio eficaz dos recursos. O ciclo de reviso examina todos os
O objetivo deste processo proporcionar a combinao de componentes durante um perodo determinado pela organi-
componentes com maior potencial para a organizao e, para- zao. Cada ciclo pode conter vrias anlises com um foco e
lelamente, apoiar as iniciativas estratgicas, buscando atingir profundidade diferente. Os indicadores chave de desempenho
seus objetivos. O balanceamento do portflio permite a visi- tambm podem variar a cada ciclo executado.
bilidade dos principais benefcios da gesto do portflio, que O principal objetivo das revises assegurar que o portf-
so: (i) a capacidade de planejar e alocar recursos (financeiro, lio contenha apenas os componentes que realmente estejam
fsicos e humanos) alinhados com as orientaes estratgicas alinhados como os objetivos estratgicos da organizao. Para
e; (ii) a capacidade de maximizar o retorno do portflio den- garantir isso, os componentes devem ser periodicamente adi-
tro do que foi predefinido em termos de risco aceitvel pela cionados, realinhados, ou at mesmo removidos, com base no
organizao. seu desempenho e alinhamento com as estratgias definidas, a
O balanceamento do portflio tambm implica na reviso fim de assegurar uma gesto eficaz do portflio. As principais
das atividades desenvolvidas nos processos de seleo e prio- atividades deste processo so:
rizao de componentes. Um portflio balanceado suportar Revisar o patrocnio e financiamento do componente;
os objetivos estratgicos estabelecidos de acordo com critrios Revisar e acompanhar a prioridade, dependncias, escopo,
pr-definidos pela gesto de portflio, assim como, estar ali- retorno esperado, riscos e desempenho financeiro do compo-
nhado com o perfil de risco da organizao, com suas mtricas nente em relao aos critrios de portflio;
de desempenho e suas restries de capacidade. As recomen- Analisar o impacto das previses referentes ao negcio, a
daes para manuteno e ajustes no portflio tambm so utilizao de recursos e as limitaes da capacidade no de-
realizadas durante o balanceamento. As principais atividades sempenho do portflio;
deste processo so: Determinar a continuidade, a incluso ou o cancelamento de
Adio de novos componentes que foram selecionados e um componente, assim como, re-priorizar e re-alinhar deter-
priorizados para autorizao; minado componente com os objetivos estratgicos;
Identificar os componentes que no esto autorizados com Fazer recomendaes e/ou fornecer orientao para a gesto
base no processo de reviso; de um determinado componente
Eliminar componentes suspensos, re-priorizados ou cance- Propor alteraes, caso necessrio, na forma como o portflio
lados com base no processo de reviso. administrado.

Autorizao Mudana Estratgica


O objetivo deste processo comunicar formalmente orga- O objetivo deste processo permitir que o processo de gesto
nizao as decises tomadas no processo de balanceamento de portflio responda s mudanas estratgicas organizacio-
do portflio, assim como, formalizar a alocao dos recursos nais. Pequenas mudanas no plano estratgico, normalmente
(fsicos, humanos e financeiros) necessrios para executar os no exigem alteraes no portflio, no entanto, alteraes sig-
componentes selecionados. As principais atividades deste nificativas muitas vezes resultam em nova direo estratgica,
processo so: desta forma, impactando o portflio. Mudanas estratgicas
Comunicar as decises tomadas no processo de balancea- tambm podero causar impactos no processo de categoriza-
mento do portflio s principais partes interessadas, o que o de componentes, o que exigir um novo rebalanceamento
engloba informaes referentes aos componentes selecionados do portflio.
e aos no selecionados;
Autorizar as decises referentes a componentes selecionados, Processo Stage-Gate [Cooper et al 2001]
inativos e finalizados; Segundo Cooper e outros autores, antes de seguir em frente
Realocar os recursos dos componentes inativos ou com a gesto de portflio propriamente dita, o gestor deve
finalizados; ter certeza que seu processo de desenvolvimento de novos
Alocao rec ursos para exec utar os componentes produtos est funcionando corretamente [Cooper et al 2001].
selecionados; Ele sugere a adoo do processo Stage-Gate, reforando que
Comunicar os resultados esperados (por exemplo, os ciclos um efetivo processo de desenvolvimento de novos produtos
de reviso, mtricas de desempenho de cronograma, e os re- fundamental para a gesto de portflio, por duas razes:
sultados necessrios) para cada componente selecionado. Independente da sofisticao do modelo de gesto de
portflio usado, deve-se ter certeza de que as informaes
Reviso e Relato Peridico do Portflio utilizadas pelo portflio esto corretas. Essas informaes
O objetivo deste processo coletar indicadores de desempe- sero provenientes do processo de desenvolvimento de
nho, apresentar relatrios peridicos sobre eles, assim como, novos produtos.

52 Engenharia de Software Magazine - Gesto de Portflio de Projetos


Gerncia de Projetos

O processo decisrio de avaliao de projetos deve finalizar a viabilidade de desenvolvimento e de produo, alm dos
os projetos ruins, fazendo com que o portflio esteja cada vez possveis custos e tempo de execuo do projeto.
mais alinhado com os objetivos da organizao.
Porto 2 Segundo Exame da Idia
A seguir ser detalhado o processo Stage-Gate, como visua- Este estgio praticamente uma repetio do Porto 1, onde o
lizado atravs da Figura 4, de desenvolvimento de novos pro- projeto reavaliado, no entanto, com base nas informaes for-
dutos. Este modelo fragmenta o desenvolvimento do produto necidas pelo Estgio 1. Neste ponto, o nvel de incerteza referente
em estgios pr-determinados, onde cada estgio consiste de s informaes adquiridas j um pouco menor. Se a deciso for
um conjunto de atividades pr-definidas. de prosseguir, o projeto passar para um estgio onde j ocor-
rero maiores gastos. Complementarmente, so utilizadas listas
de verificao para fatores que devem ser atendidos e modelos
ponderados para fatores que se desejam atender.

Estgio 2 Avaliao do Negcio


Este estgio conduz ao desenvolvimento do produto, onde o
projeto deve ser claramente definido. Neste ponto do processo
so realizadas pesquisas de mercado para determinar as neces-
sidades, desejos e preferncias dos consumidores. Determina-
o dos mercados-alvo, posicionamento do produto, benefcios
que devem ser entregues, proposta de valor, funcionalidades,
Figura 4. Processo Stage-Gate [Cooper et al 2001] atributos, requisitos e especificaes do produto.
A entrada de cada estgio um ponto de deciso, de modo
que estes pontos comandam o processo, tendo como funes, Porto 3 Vai para o Desenvolvimento
o controle da qualidade do projeto e a tomada de deciso que Este o ponto de deciso final antes do estgio de desenvol-
englobam as seguintes sadas: Inicia, Continua, Aborta, Sus- vimento, ou seja, o ltimo ponto no qual o projeto pode ser
pende ou Recicla. Cada Porto ou Ponto de deciso (continua/ cancelado antes de se iniciar grandes gastos. Se o projeto passar
finaliza) composto de: desta etapa, o comprometimento financeiro da organizao
Um conjunto de Entradas; com o projeto significativo. Nesta fase, o projeto tambm
Critrios de julgamento do projeto, incluindo obrigatrios avaliado com base em critrios e modelos de maneira similar
e facultativos; aos pontos de deciso anteriores. Porm, outra parte da ava-
Sadas liao tambm envolve a reviso de cada uma das atividades
do Estgio 2, verificando se as atividades foram realizadas
Descoberta conforme planejado e se os resultados foram positivos.
O processo de desenvolvimento de novos produtos se inicia
com a descoberta da idia de um novo produto ou otimizao Estgio 3 Desenvolvimento
em um j existente, que avaliada no Porto 1 de deciso. Este estgio tem em seu escopo o desenvolvimento do pro-
duto e ocorre juntamente com a execuo de testes detalhados,
Porto 1 Exame da Idia com o planejamento do marketing e com o desenvolvimento
Neste ponto, se a deciso for de iniciar, nascer o projeto, dos processos de fabricao. Simultaneamente, uma atua-
havendo o comprometimento de recursos e passando para lizao na anlise financeira preparada em conjunto com
o Estgio 1, Definio do Escopo. Para se tomar esta deci- questes legais.
so, sero analisados os seguintes critrios: alinhamento
estratgico, viabilidade do projeto, magnitude da oportu- Porto 4 Vai para Teste
nidade, vantagens diferenciais, atratividade de mercado e Este porto tem como atividade a verificao do progresso
sinergia da atividade primria do negcio com os recursos do projeto e da atratividade do produto. O trabalho do Estgio
da organizao. 3 (Desenvolvimento) verificado de forma a tentar garantir
que o projeto atinja o nvel de qualidade esperado. realizada
Estgio 1 Definio do Escopo tambm a verificao da anlise financeira, tomando como
Este estgio tem como objetivo estabelecer os mritos tc- base os novos dados, que nesse momento j sero um pouco
nicos e de mercado do projeto. Uma anlise de mercado mais precisos.
realizada envolvendo pesquisas, contatos com as partes inte-
ressadas e testes com usurios potenciais. O foco detalhar Estgio 4 Teste e Validao
informaes quanto ao tamanho e ao potencial do mercado, Neste estgio avaliada a viabilidade do projeto como um todo,
alm de sua possvel aceitao. Paralelamente, uma avaliao o que evolve anlises do produto, do processo produtivo, da
tcnica preliminar realizada como o objetivo de verificar aceitao do mercado e das questes financeiras do projeto.

Edio 19 - Engenharia de Software Magazine 53


Porto 5 Vai para Lanamento
Neste porto decidida a comercializao ou no do pro-
duto. Para tomar essa deciso necessrio que se faa uma
avaliao das fases anteriores e dos resultados alcanados. O
planejamento das operaes e do lanamento do produto no
mercado so reavaliados, se aprovados, sero implementados
no Estgio 5 (Lanamento).

Estgio 5 Lanamento
Neste estgio so executados os planejamentos realizados
para o lanamento do produto e sua colocao em operao,
o que certamente envolver todo o marketing planejado.
Aps o lanamento, se inicia a fase de encerramento do
projeto que contempla atividades como liberao da equipe Figura 5. Processo Integrado de Seleo de Projetos [Archer e
envolvida, liberao de recursos alocados, encerramento dos Ghasemzadeh 1999]
contratos, comunicao formal a todas as partes envolvidas, Pr-filtragem
entre outras. Nesta fase, que utiliza informaes produzidas no Desenvolvi-
mento Estratgico, busca-se garantir que todas as proposies de
Reviso ps Lanamento projetos considerados para entrar no portflio estejam alinhados
Neste momento ser realizada uma avaliao criteriosa do com os objetivos estratgicos da organizao. Nesta fase tam-
projeto onde revisado todo o seu desempenho e seus pontos bm ser realizada uma anlise de viabilidade e estimativas de
fortes e fracos. Todas estas informaes sero registradas, de parmetros necessrios para avaliar cada projeto, bem como as
modo a servirem como lies e base de conhecimento para metas para cada parmetro, o que ser uma fonte de informaes
o desenvolvimento de novos projetos, aumentando assim a para outras fases. Projetos essenciais tambm so identificados
qualidade dos projetos da organizao. Essa etapa marca o neste ponto, uma vez que sero includos no restante do processo
fim do projeto. de seleo do portflio. Projetos essenciais podem incluir aes
de melhorias aos produtos da organizao que deixaram de ser
Processo Integrado de Seleo e Priorizao de competitivos, ou seja, so os projetos sem os quais a organizao
Projetos [Archer e Ghasemzadeh 1999] no poderia funcionar adequadamente.
Segundo Archer e Ghasemzadeh, o processo de seleo de
projetos na gesto de portflio de suma importncia para Anlise Individual de Projeto
esta gesto e ocorre com bastante frequncia em muitas orga- Nesta fase um conjunto de parmetros necessrios para a prxi-
nizaes. H muitas tcnicas disponveis para auxiliar neste ma fase calculado separadamente para cada projeto, tendo como
processo, no entanto, no existe um processo integrado para base as estimativas disponveis nas anlises de viabilidade e/ou
a sua execuo. no banco de dados de projetos da organizao. Algumas tcnicas
O processo proposto por Archer e Ghasemzadeh simplifica podero ser utilizadas nesta fase para realizar as estimativas, tais
a seleo de projetos em um portflio atravs do desenvol- como, levantamento dos riscos do projeto, valor presente lquido,
vimento de uma estrutura que separa o trabalho em fases retorno sobre o investimento, entre outras. Projetos em andamen-
distintas. Cada fase responsvel por um objetivo particular to tambm podero ser re-avaliados nesta fase, proporcionando
e cria insumos para a prxima fase. O processo tambm per- estimativas com menor grau de incerteza em relao aos projetos
mite que os usurios sejam livres para escolher as tcnicas que esto sendo propostos. A sada desta fase um conjunto de
mais adequadas para cada fase ou, em alguns casos, omitir ou estimativas de parmetros para cada projeto.
at mesmo modificar uma fase com o intuito de simplificar e
agilizar o processo. Filtragem
O processo integrado de seleo de projetos, como visualiza- Nesta fase, que ocorre aps a fase de anlise individual dos pro-
do atravs da Figura 5, mostra as principais etapas represen- jetos, so verificados criteriosamente os parmetros produzidos na
tadas pelas caixas delineadas por linhas escuras. J as figuras anlise. Essa filtragem servir de base para a seleo dos projetos,
ovais representam as atividades que antecedem a execuo do assim como, para eliminar quaisquer projetos que no preencham
processo, que conta tambm com as atividades representadas critrios pr-estabelecidos. Vale ressaltar que projetos obrigatrios
pelas caixas delineadas por linhas claras, as quais fornecem ou necessrios para apoiar outros projetos no sero eliminados.
informaes de entrada e recebem informaes de sada pro-
duzidas no processo de seleo. Seleo do Portflio timo
Nesta fase so consideradas e analisadas as interaes entre
A seguir sero detalhadas as principais atividades que com- os projetos, suas dependncias e competio por recursos,
pem o processo integrado de seleo de projetos. assim como o valor do projeto para a organizao. Com base

54 Engenharia de Software Magazine - Gesto de Portflio de Projetos


Gerncia de Projetos

nestas informaes podem ser produzidos modelos de pon- O Impacto da Gesto de Portflio de Projetos em Projetos
tuao e grficos, que auxiliaro os tomadores de deciso na de Tecnologia da Informao [Reyck et al 2005]
seleo do melhor portflio, permitindo avaliaes quantita- Neste trabalho foi avaliado se existe uma correspondn-
tivas e qualitativas. cia entre a utilizao de processos de Gesto de Portflio
de Projetos e as melhorias no desempenho dos projetos
Ajuste do Portflio do portflio. O estudo apontou uma forte correlao entre
Nesta fase, que a etapa final do processo, realizada a an- aumentar a adoo de processos de Gesto de Portflio e
lise do portflio como um todo, buscando o equilbrio entre os uma reduo dos problemas relacionados com projeto, assim
projetos selecionados. Para isso, sero verificadas caracters- como, melhoria no desempenho dos projetos.
ticas crticas de importncia dos projetos, por exemplo, valor
presente lquido, estimativa de tempo para finalizar, risco, Portfolius: Um Modelo de Gesto de Portflio de Projetos
entre outras. Como exemplo do equilbrio a ser alcanado no de Software [Correia 2005]
portflio, pode-se falar que a proporo de projetos de alto Neste trabalho foi proposto um processo, que um modelo
risco no deve ser muito elevada, devido ao fato de que as de gesto de portflio de projetos de software, com a finali-
falhas de vrios desses projetos pode ser perigo para o futuro dade de auxiliar os tomadores de decises de uma empresa
da organizao. Por outro lado, os projetos de baixo risco, que de desenvolvimento de software na escolha do portflio de
geralmente no trazem elevado retorno financeiro quando projetos mais adequado realidade da organizao. O mo-
comparados aos de alto risco, no podem ser maioria absoluta delo proposto possibilita a criao de uma ligao entre os
no portflio, o que prejudicaria o seu valor. projetos e a estratgia da organizao e auxiliar na adoo
uma viso de longo prazo.
Consideraes Finais e Sugestes de Leitura
A Gesto de Portflio um processo que vem sendo traba- Seleo de Projetos em um Portflio para Apoio a Tomada
lhado por diversos autores estudados neste levantamento, de Deciso [Ghasemzadeh e Archer 2000]
que sempre colocam em evidncia como ncleo deste pro- Neste trabalho foi discutida a implementao de uma
cesso as atividades de identificao, seleo, priorizao e estrutura organizada para a seleo de projetos em um por-
balanceamento dos projetos do portflio, alm da gesto dos tflio atravs de um Sistema de Apoio Tomada de Deciso
recursos (humanos, fsicos e financeiros) disponibilizados no (SATD), que foi chamado de Sistema de Seleo e Anlise
portflio. de Projeto (SSAP). Foram descritos os resultados dos testes
Entendemos que as organizaes que realizam estas ativida- laboratoriais realizados para medir sua usabilidade e qua-
des citadas, conseguindo alcanar, atravs dos projetos, seus lidade, comparado com os processos de seleo manual,
objetivos estratgicos, metas e indicadores estabelecidos em na seleo de problemas tpicos da portflio. Tambm foi
seu planejamento, esto cumprindo o objetivo principal da discutido o potencial da SSAP no apoio empresarial a to-
Gesto de Portflio. mada de deciso.
Como sugesto de leitura para aprofundamento nos prin-
cipais assuntos abordados neste artigo sugerimos as fontes Um Processo Integrado para Seleo de Projetos em um
citadas a seguir: Portflio [Archer e Ghasemzadeh 1999]
Para um maior detalhamento sobre o Padro de Gesto de Neste trabalho foi proposto um processo integrado para
Portflio de Projetos do PMI ler: The Standards For Portfolio seleo de projetos na gesto de um portflio. O processo
Management [PMI 2006] e Portfolio Management For New de seleo proposto segmenta o trabalho em fases distintas,
Products [Cooper et al 2002]. onde cada fase aborda um objetivo especfico e cria insumos
Para um maior detalhamento sobre o Gesto de Projetos para a prxima fase. O processo pode ser utilizado sob a
ler: A Guide to the Project Management Body of Knowledge forma de um sistema de apoio a deciso.
[PMI 2004], Advanced Project Management: Best Practices
on Implementation [Kerzner 2004] e Project Management: A
D seu feedback sobre esta edio! Feedback
eu
Systems Approach to Planning, Scheduling, and Controlling
s
D

[Kerzner 2006]. A Engenharia de Software Magazine tem que ser feita ao seu gosto.
sobre e

Para isso, precisamos saber o que voc, leitor, acha da revista!


s

ta
Tpicos de Pesquisa (trabalhos futuros e correntes) D seu voto sobre este artigo, atravs do link:
edio

Durante a escrita deste artigo foram encontrados as seguin-


www.devmedia.com.br/esmag/feedback
tes pesquisas e trabalhos relacionados com o tema Gesto de
Portflio:

Edio 19 - Engenharia de Software Magazine 55


Referncias Bibliogrficas

[PMI 2004] PMI - Project Management Institute. (2004) A Guide to the Project Management Body of [Ghasemzadeh e Archer 2000] F. Ghasemzadeh, N. P. Archer. Project portfolio selection through decision
Knowledge. 2004. Project Management Institute. Four Campus Boulevard. Newtown Square. USA. support. Decision Support Systems,Volume 29, Issue 1, July 2000, Pages 73-88

[PMI 2006] PMI - Project Management Institute. (2006) The Standards For Portfolio Management. 2006. [Blomquist e Muller 2006] Blomquist, Tomas; Muller, Ralf. Practices, Roles, and Responsibilities of Middle
Project Management Institute. Four Campus Boulevard. Newtown Square. USA. Managers in Program and Portfolio Management. Project Management Journal v. 37 no. 1 (March 2006)
p. 52-66
[Archer and Ghasemzadeh 1999] Archer, N. P., Ghasemzadeh, F. An Integrated Framework for Project
Portfolio Selection, International Journal of Project Management,Vol. 17, No. 4, pp. 207-216, ON, 1999. [Cooper et al 2002] Robert G. Cooper, Scott J. Edgett, and Elko J. Kleinschmidt. Portfolio Management For
New Products: Second Edition (Hardcover - Jan 3, 2002)
[Correia 2005] Correia, B. C. S. Portfolius: Um Modelo de Gesto de Portflio de Projetos de Software,
Dissertao de Mestrado, UFPE, 2005. [Cooper et al 2001] Cooper, R. G., Edgett, S. J. and Kleinschmidt, E. J. Portfolio Management for New
Products, 2dn edn, Perseus Publishing, NY, 2001.
[Kerzner 2006] Kerzner, H. Project Management: A Systems Approach to Planning, Scheduling, and
Controlling. 9th ed, 2006. John Wiley & Sons, Inc., Hoboken, New Jersey. USA. [Montana 2003] Montana, Patrick J. Administrao. 2. ed. So Paulo: Saraiva, 2003.

[Kerzner 2004] Kerzner, H. Advanced Project Management: Best Practices on Implementation. 2th ed, [Kaplan e Norton 1996] Kaplan, Robert S., Norton, David P. The Balanced Scorecard: Translating Strategy
2004. John Wiley & Sons, Inc., Hoboken, New Jersey. USA. into Action by Robert S. Kaplan and David P. Norton, Hardcover - Sep 1, 1996.

[Reyck et al 2005] Bert De Reyck,Yael Grushka-Cockayne, Martin Lockett, Sergio Ricardo Calderini, Marcio [Tarapanoff 2001] Tarapanoff, K. Inteligncia Organizacional e Competitiva. Braslia: Editora UNB, 2001.
Moura, Andrew Sloper.The impact of project portfolio management on information technology projects.
[Luecke 2008] Luecke, Richard. Estratgia, Harvard Business Essentials, Record, 2008.
International Journal of Project Management,Volume 23, Issue 7, October 2005, Pages 524-537

[Archer e Ghasemzadeh 1999] N. P Archer, F Ghasemzadeh. An integrated framework for project portfolio
selection.International Journal of Project Management,Volume 17, Issue 4, August 1999, Pages 207-216

56 Engenharia de Software Magazine - Gesto de Portflio de Projetos


Gerncia de Projetos

Edio 19 - Engenharia de Software Magazine 57


Modstia parte, sua
melhor opo para
se destacar no mercado!
A Escola Superior da Tecnologia da PS- GRADUAO
Informao oferece as melhores Engenharia de Software:
opes em cursos, formaes, Desenvolvimento Java
graduaes e ps-graduaes para GRADUAO
profissionais de desenvolvimento Anlise e Desenvolvimento
e programao. de Sistemas

So programas voltados para a FORMAES

formao de profissionais de elite, Desenvolvedor Java


com aulas 100% prticas, corpo Desenvolvedor Java: Sistemas
Distribudos
docente atuante no mercado,
Gestor de TI
acesso mais atualizada biblioteca
Desenvolvedor Web .NET 2008
de TI do Rio, laboratrios equipados
MCITP Server Administrator
com tecnologia de ponta, salas de
estudo e exames. SQL Server 2008

Acesse nosso site e conhea todos os nossos programas: www.infnet.edu.br/esti

TURMAS
NO RIO DE
JANEIRO
www.infnet.edu.br - cursos@infnet.edu.br - Central de Atendimento: (21) 2122-8800

EDUCAO SUPERIOR ORIENTADA AO MERCADO

58 Engenharia de Software Magazine - Gesto de Portflio de Projetos

You might also like