Escolar Documentos
Profissional Documentos
Cultura Documentos
sobre e
dor (UNIFACS) onde atualmente cursa o mestrado em Sistemas e Computação Dê seu voto sobre este artigo, através do link:
na linha de Engenharia de Software, sendo membro do GESA (Grupo de Enge-
s
ta
nharia de Software e Aplicações). www.devmedia.com.br/esmag/feedback d i çã o e
Caro Leitor, de Software Magazine e certamente trarão uma significativa
Para esta quarta edição, temos um conjunto de 8 vídeo aulas. Estas contribuição para seu aprendizado. A lista de aulas publicadas pode
vídeo aulas estão disponíveis para download no Portal da Engenharia ser vista abaixo:
Atendimento ao Leitor
A DevMedia conta com um departamento exclusivo para o atendi-
ÍNDICE
mento ao leitor. Se você tiver algum problema no recebimento do
06 - Avaliação e Melhoria do Processo Organizacional (AMP)
seu exemplar ou precisar de algum esclarecimento sobre assinaturas,
Isabel Albertuni e Josiane Brietzke Porto
exemplares anteriores, endereço de bancas de jornal, entre outros,
entre em contato com:
12 - Modelagem de Processos de Negócio
Carmelita Mulin – Atendimento ao Leitor
www.devmedia.com.br/central/default.asp André Luiz de Castro Leal e José Luis Braga
(21) 2220-5375
Kaline Dolabella 22 - Metodologias Ágeis
Gerente de Marketing e Atendimento
kalined@terra.com.br André Luiz Banki e Sérgio Akio Tanaka
(21) 2220-5375
A
Isabel Albertuni partir da aplicação dos processos Neste artigo apresenta-se o alinhamen-
isabel.albertuni@qualita.inf.br padrão da organização e outros to e a possibilidade de implementar este
Graduada em Análise de Sistemas pela FARGS ativos de processo organizacio-
em 2008. Autora de artigos na área de qualidade processo de forma integrada com estes
de software (SBQS 2007 e WE-MPS.BR). Experi-
nal na definição, planejamento e estima- modelos de qualidade.
ência de mais de 6 anos na área de TI atuando tiva de processos para os projetos e da
Para que serve:
em desenvolvimento de software e de 3 anos execução dos processos definidos, podem
na área de qualidade e melhoria de processos. Fornece uma visão geral do processo
ser identificadas oportunidades de me-
Integrante desde 2008 do Comitê Setorial de In- de AMP sob o ponto de vista do MPS.
formática - Programa Qualidade RS. Atua desde
lhoria nos processos padrão para identi-
BR e do PGQP e orientações que podem
2006 na Qualità Informática em projetos de me- ficar pontos de ajustes nos processos de
servir como referência para organiza-
lhoria de processos baseados em MPS.BR e PGQP. acordo com as necessidades de negócio
ções, que possuem iniciativas de melho-
da organização. A realização sistemática
ria de processo e desejam implementar
Josiane Brietzke Porto de revisões nos processos, planejamento
este processo.
josiane_brietzke@hotmail.com e implementação de melhorias identifi-
Pós-graduanda em Melhoria de Processos de cadas, a partir dessas revisões e da expe- Em que situação o tema é útil:
Software pela UFLA desde 2007. Bacharel em Na definição e avaliação de melho-
riência em utilizar os processos padrão
Ciência da Computação pelo Unilasalle em 2005.
da organização, é o objetivo do processo rias dos processos organizacionais,
Autora de artigos na área de qualidade de softwa-
re (ASSE 2005, WIS 2005, CLEI Eletronic Journal, Avaliação e Melhoria do Processo Orga- para fins de melhoria contínua e ali-
2W–MPSBR, SBQS 2007 e WE-MPS.BR). Experi- nizacional (SOFTEX, 2007b). nhamento com os objetivos de negó-
ência de mais de 5 anos na área de TI atuando em cio da organização.
Diante deste contexto, as organizações
desenvolvimento de software e de mais de 4 anos
na área de qualidade e melhoria de processos. têm se preocupado em alocar recursos e
Implementadora MR-MPS desde 2004, Certified definir um mecanismo de definir, manter, Este artigo está organizado da seguinte
Quality Improvement Associate (CQIA) desde 2006 disseminar e aprimorar seus processos forma: a seção 2 apresenta uma visão ge-
e integrante desde 2008 do Comitê Setorial de In- ral sobre o programa de Melhoria de Pro-
principais de negócio e de apoio, normal-
formática - Programa Qualidade RS. Atua desde
2005 na Qualità Informática em projetos de me- mente, tendo como base modelos e normas cesso do So ware Brasileiro (MPS.BR);
lhoria de processos baseados em MPS.BR e PGQP. nacionais e/ou internacionais de qualidade. a seção 3 descreve o Programa Gaúcho
de Qualidade e Produtividade (PGQP); a plementação do MR-MPS, (iv) avaliação do Através da parceria formada entre o
seção 4 apresenta o processo de Avaliação MA-MPS através de Instituições Organiza- setor público e iniciativas privadas, o
e Melhoria do Processo Organizacional doras de Grupos de Empresas, (v) certifica- PGQP permitiu a divulgação de forma
(AMP) sob o ponto de vista do MPS.BR e ção de consultores de Aquisição (de acordo democrática da filosofia e dos princípios
PGQP; a seção 5 trata da implementação da com o Guia de Aquisição) e (vi) da realiza- da qualidade no estado e também a iden-
AMP numa organização; e por fim, a seção ção de curso, provas, workshops do MPS. tificação e aprimoramento dos produtos
6 trata das considerações finais. Os tipos de contratação atuais são: Modelo e serviços das empresas gaúchas.
de Negócio Cooperado (MNC) para grupos A competitividade e a qualificação nos
MPS.BR de micro, pequenas e médias empresas que serviços públicos e privados no RS de-
Criado em dezembro de 2003 com base visam compartilhar custos na implementa- monstram o quanto o PGQP contribuiu
em lições aprendidas de outros programas ção do MR-MPS e a avaliação no MA-MPS; para sua melhoria. O aprimoramento cada
mobilizadores, como o Programa de De- Modelo de Negócio Específico (MNE), que vez maior dos sistemas de gestão se dá
senvolvimento Estratégico em Informáti- corresponde ao modelo de negócio perso- também com o comprometimento do go-
ca no Brasil (DESI-BR), o programa Me- nalizado a uma única empresa que visa a verno, empresários, trabalhadores e con-
lhoria de Processo do So ware Brasileiro implementação do Modelo MPS. sumidores. Isto pode ser observado pelo
(MPS.BR) visa a melhoria de desenvolvi- O MPS.BR caracteriza a maturidade de reconhecimento que o RS tem em todo o
mento de soĞware em micros, pequenas e processos através da combinação de pro- Brasil como o estado que mais avançou na
médias empresas em todas as regiões do cessos e capacidade, de acordo com a ma- disseminação dos conceitos e na aplicação
País. Além disso, busca o reconhecimento turidade é necessário obter determinado permanente das técnicas e ferramentas de
nacional e internacional como um modelo nível de capacidade para a execução de qualidade, melhorando os resultados das
aplicável à indústria de soĞware. um processo. O processo possui propó- organizações gaúchas (PGQP, 2008a).
Conforme SOFTEX (2007a), o MPS.BR é sitos e resultados. Então, é necessário O PGQP adota como referência o Modelo
composto pelo Modelo de Referência (MR- capacidade para atingir o propósito e re- de Excelência da Gestão (MEG) e participa
MPS.BR) destinado à melhoria de processo e sultados esperados do processo. Quanto através de representantes da Rede Nacio-
o Método de Avaliação (MA-MPS.BR), para mais complexo o processo, maior deve nal da Gestão Rumo a Excelência da Fun-
a avaliação de melhoria de processo de sof- ser a capacidade para sua realização. dação Nacional da Qualidade (FNQ). Além
tware. Para isso, possui como base técnica as Além da capacidade e processos, o MPS.BR disto, o Sistema de Avaliação (SA) do PGQP
normas ISO 12207, ISO 15504 em conformi- está distribuído em sete níveis de maturida- está alinhado ao Prêmio Nacional da Qua-
dade com Capacity Maturity Model Integration de: G – Parcialmente Gerenciado, F – Geren- lidade (PNQ) e consiste num instrumento
(CMMI), como ilustra a Figura 1. ciado, E – Parcialmente Definido, D – Larga- de diagnóstico organizacional que verifica
O MR-MPS é composto pelo: (i) Guia mente Definido, C – Definido, B – Gerenciado o estágio de desenvolvimento gerencial das
Geral que contém a descrição geral do Quantitativamente e A – Em Otimização. organizações, identifica lacunas e possibili-
programa MPS.BR, detalha o MR-MPS e ta a elaboração do Plano de Ação do Siste-
apresenta as definições comuns necessá- PGQP ma Gerencial – PASG (PGQP, 2008b).
rias para seu entendimento e aplicação; (ii) Com o intuito de melhorar produtos e O MEG possui níveis de maturidade,
Guia de Aquisição que contém as melhores serviços, economizar tempo e aperfeiçoar conforme Figura 2 e constitui-se por
práticas de aquisição de soĞware e serviços recursos no estado do Rio Grande do Sul oito critérios: 1 Liderança, 2 Estratégias
e descreve o processo de aquisição desti- (RS), em 1992 surgiu o Programa Gaúcho e Planos, 3 Clientes, 4 Sociedade, 5 In-
nado a empresas que queiram adquirir ou de Qualidade e Produtividade (PGQP), formações e Conhecimento, 6 Pessoas, 7
subcontratar soĞware e serviços de tercei- oriundo do Programa Brasileiro de Quali- Processos e 8 Resultados.
ros; (iii) Guia de Implementação que se di- dade e Produtividade. Esta iniciativa ala- Segundo a FNQ (2008), organizações no
vide em sete partes e possui orientações de vancou um avanço significativo no desen- nível Compromisso com a Excelência são
como os requisitos do MR-MPS podem ser volvimento e crescimento nesta região e consideradas iniciantes e ao adotaram o
implementados pelas organizações. que vem ganhando espaço cada vez mais. MEG conseguem mapear com clareza o
Já o MA-MPS possui um Guia de Avalia-
ção que contêm o método e o processo de
avaliação do programa MPS.BR e caracte-
rísticas de qualificação dos avaliadores,
destinando-se às Instituições Avaliadoras
(IA), avaliadores líderes e adjuntos.
O programa MPS.BR também conta com
o Modelo de Negócio (MN-MPS), o qual
descreve regras de negócio para: (i) tipos de
implementação do MR-MPS que as institui-
ções implementadoras podem conduzir, (ii)
as avaliações com base no MA-MPS, (iii) or-
ganização de grupos de empresas para im- Figura 1. Componentes do MPS.BR (SOFTEX, 2007a)
(OPF): “a implementação bem sucedida de a organização em relação ao processo a ser atividades, aplicação de melhorias, iden-
melhorias requer participação em planeja- desenvolvido/melhorado. Isto não quer tificação das causas dos desvios para a
mento de ação de processo e implementação dizer que todos os pontos serão atendidos definição de ações de prevenção.
do responsável pelo processo” (SEI, 2006). de imediato, mas é necessário que o básico Assim como o ciclo PDCA, para a melho-
Percebe-se então que é necessário estabe- para atender o resultado esperado seja de- ria de processos e definição de um novo
lecer mecanismos para identificar as me- senvolvido. Para que isso ocorra, sem dei- processo, também pode ser utilizado o mo-
lhorias, como identificá-las e que permitam xar de implementar futuramente melho- delo IDEAL. Suas etapas correspondem a
que as melhorias devem ser implementa- rias, é necessário ter um ciclo de melhoria Initiating (Inicio), Diagnosing (Diagnóstico),
das. Mas a AMP não encerra por aqui, me- de processo que contempla desde seu pla- Establishing (Estabelecimento), Acting (Ação),
canismos de acompanhamento devem ser nejamento até a captação de melhorias. Learning (Aprendizado). Este modelo foi
aplicados, pois como avaliar se as melho- Uma forma de realizar este ciclo é uti- desenvolvido e aprimorado pelo SoĞware
rias estão atingindo o resultado desejado? lizando o ciclo PDCA, que surgiu na dé- Engineering Institute (SEI) para a melhoria
Novamente a OPF colabora com AMP e diz cada de 1930, na escola do Controle da de processo de soĞware, que vem sendo
que “a monitoração garante que o conjunto Qualidade Total por Walter A. Shewhart ampliado para aplicação em diversas áreas.
de processos organizacionais está adequa- nos Estados Unidos (Skora, 2006). O Outros modelos que podem ser aplicados
damente implantado em todos os proje- PDCA ganhou forças no final da II Guer- para a melhoria de processos são o ciclo
tos” (SEI, 2006). Esta etapa fará com que se ra Mundial no Japão, com apoio de De- de Melhoria de processo da ISO/IEC 15504,
avalie criticamente a implementação das ming, estatístico americano. PRO2PI-Cycle, entre outros. Veja a Figura 4
melhorias, podendo verificar se os pontos Deming dizia que todo gerenciamen- que representa os estágios de cada ciclo.
fracos foram realmente sanados. to do processo consta em estabelecer a Além de projetar um novo processo, é
Assim como o processo de AMP do MPS. manutenção nas melhorias dos padrões necessário definir mecanismos de controle
BR, o critério 7 Processos do PGQP, também montados na organização, que servem para acompanhar e monitorar a aplicação
visa assegurar a melhoria, implementação e como referências para o seu gerencia- dos processos. De acordo com o marcador
monitoramento de melhorias nos processos mento, essencial para a melhoria contí- b, verificar se a aplicação dos processos está
da organização, bem como o projeto de um nua. E isto é possível com o ciclo PDCA, sendo realizado como esperado, sendo pos-
novo processo. De acordo com o nível Com- conforme ilustra a Figura 3. sível a identificação de não-conformidades,
promisso com a Excelência (Nível 1), um O ciclo de PDCA é composto pelo con- ou seja, quando o processo não é executa-
dos objetivos do critério 7 é examinar como junto de ações em seqüência dada pela or- do, caracteriza-se uma não-conformidade,
a organização identifica, gerencia, analisa e dem estabelecida pelas letras que formam pois a realização deste processo atenderia
melhora os processos principais do negócio a sigla: P (plan: planejar), D (do: fazer, exe- uma necessidade do cliente.
e os processos de apoio (FNQ, 2008). cutar), C (check: verificar, controlar) e o A Quando um processo deixa de ser execu-
No Nível 1, este critério é composto por (act: agir, atuar corretivamente): tado corretamente, também se caracteriza
6 marcadores (que podem ser considera- • Plan (planejamento): nesta etapa devem uma não-conformidade. A não-conformi-
dos como resultados esperados) repre- ser identificados os objetivos da organiza- dade é composta por causa e efeito. A cau-
sentados pelas letras de A a F. Os marca- ção, definição do escopo do trabalho que sa é o motivo pelo qual não foi executado
dores que dizem respeito à melhoria de será desenvolvido, identificação e alocação corretamente. O efeito é o resultado gerado
processos deste critério são (FNQ, 2008): dos recursos necessários (humanos, infra- pela falta da execução (Albertuni, 2008).
a: Como os processos principais do ne- estrutura, financeiros), definição de crono- Quando ocorre uma não-conformidade,
gócio e os processos de apoio são projeta- grama (ou somente distribuição de ativida- é necessário não só tratá-la, mas também
dos ou modificados, visando ao cumpri- des/ações) e estabelecimento de metas; identificar as causas pelo desvio. É neces-
mento dos requisitos aplicáveis? • Do (execução): este é o momento de sário definir ações para prevenção do pro-
b: Como os processos principais do ne- realizar o que foi planejado. Os recur- blema, não somente reativo ao problema;
gócio e os processos de apoio são contro- sos são envolvidos nas atividades para são formas de melhorias para o processo.
lados, visando assegurar o atendimento o alcance das metas e objetivos estabele- A avaliação periódica permite identificar
dos requisitos aplicáveis? cidos. Quando necessário, os envolvidos nas não-conformidades grandes oportu-
c: Como os processos principais do ne- devem passar por capacitação/treina- nidades de melhoria no processo.
gócio e os processos de apoio são anali- mentos para a execução das atividades; É importante salientar que o efeito cau-
sados e melhorados? • Check (controle): etapa de acompanhar sado por uma não-conformidade pode
No marcador a podemos observar que e controlar o que foi desenvolvido, bem resultar em desvios em mais de um pro-
ao definir um novo processo ou modificar como verificar se o que foi planejado está cesso, então ao avaliar uma melhoria
um existente, é necessário ter padrões para sendo realizado, desta forma, é possível
projetar, ou seja, necessário planejamento definir ações caso o realizado não esteja
para a realização de um novo processo. de acordo com o planejado;
A definição de um processo requer ava- • Act (agir/atuar corretivamente): últi-
liação prévia de recursos necessários, via- ma etapa do ciclo, que consiste em apli-
bilidade de implementá-lo, entendimento car as ações corretivas quando forem
do negócio e identificar em que etapa está identificados desvios na realização das Figura 3. Ciclo de PDCA
Conclusão
Observa-se através da implementação do
processo de AMP a possibilidade de visu-
alizar a organização como um sistema que
funciona como um conjunto de processos
(de negócio e de apoio) inter-relacionados
e que interagem entre si. As saídas destes
processos constituem entradas para um ou
mais processos com o objetivo de buscar o
atendimento de necessidades e expectati- Figura 5. Exemplo de processo de AMP
vas dos clientes (internos ou externos).
Também se percebe que o processo de Referências
AMP de acordo com o MPS.BR está mais
Albertuni, Isabel. Implantação da Avaliação e Melhoria do Processo Organizacional Alinhado com Critério Processos (PGQP).
voltado para os processos de soĞware (de Relátório de Estágio Supervisionado. Graduação em Administração com Habilitação em Análise de Sistemas, Faculdades Rio-
negócio). E, por outro lado, a sua imple- Grandenses (FARGS), Porto Alegre, 2008.
mentação de forma alinhada com o critério ASSOCIAÇÃO PARA PROMOÇÃO DA EXCELÊNCIA DO SOFTWARE BRASILEIRO (SOFTEX). MPS.BR – Guia Geral (Versão 1.2), http://www.
softex.br/mpsbr/_guias/MPS.BR_Guia_Geral_V1.2.pdf, 2007a.
7 Processos permite a ampliação de seu
ASSOCIAÇÃO PARA PROMOÇÃO DA EXCELÊNCIA DO SOFTWARE BRASILEIRO (SOFTEX). MPS.BR – Guia de Implementação (Versão 1.1),
escopo para outros processos da organi- http://www.softex.br/mpsbr/_guias/MPS.BR_Guia_de_Implementacao_Parte_3_v1.1.pdf, 2007b.
zação, que dão sustentação aos processos Brietzke, Josiane; López, Pablo A. do Prado; Albertuni, Isabel; Richter, Luís A. A Conquista do MPS.BR Nível F na Qualità Informática:
principais de negócio e a si mesmos como, Um Caso de Sucesso. VI Simpósio Brasileiro de Qualidade de Software, Pernambuco, 2007.
por exemplo, processos administrativos, de FUNDAÇÃO NACIONAL DA QUALIDADE (FNQ). Critérios Compromisso com a Excelência e Rumo a Excelência. São Paulo: Fundação
infra-estrutura, comerciais, entre outros. Nacional da Qualidade, 2008.
Organizações que atuam ou atuaram PROGRAMA GAÚCHO DE QUALIDADE E PRODUTIVIDADE (PGQP). O PGQP, http://www.mbc.org.br/mbc/pgqp/index.
php?option=com_content&task=view&id=50&Itemid=151, 2008a.
em iniciativas de melhoria de processos
PROGRAMA GAÚCHO DE QUALIDADE E PRODUTIVIDADE (PGQP). Sistema de Avaliação – Informações Gerais, http://www.mbc.org.br/
possuem uma maior facilidade para im- mbc/pgqp/hot_sites/sa2008/index.php?pagina=info, 2008b.
plementar este processo uma vez que já Radice, Ronald A.; Phillips, Richard W. Software Engineering, An Industrial Approach. Englewood Cliffs, New Jersey: Prentice Hall, 1988.
possuem uma forma mesmo que informal Salviano, Clênio Figueiredo. Melhoria e Avaliação de Processo de Software com o Modelo ISO/IEC 15504-5:2006. Curso de Pós-
de executar o processo de AMP, sendo ne- Graduação “Lato-Sensu”(Especialização) a Distância: Melhoria de Processo de Software.UFLA, 2006.
cessária apenas uma análise para identi- SEI. SOFTWARE ENGINEERING INSTITUTE.CMMI for Development (CMMI-DEV), Version 1.2, Technical report CMU/SEI-2006-TR-008.
Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University, 2006.
ficação de lacunas em relação às práticas
Skora, Claúdio Marlus. PDCA: o ciclo mágico, http://www.administradores.com.br/artigos/995/, 2006.
requeridas pelo modelo e/ou norma ado-
tado como referência pela organização
(MPS.BR, PGQP, etc.), que são simples de
Links Dê seu feedback sobre esta edição! Feedback
serem resolvidas, normalmente. eu
s
Dê
Além disso, o mapeamento e o conhe- MPS.BR: Site Oficial A Engenharia de Software Magazine
sobre e
ta
permitem a compreensão e a melhoria PGQP: Site Oficial d i çã o e
D
André Luiz de Castro Leal iante de um mercado competi- BPMN e linguagens BPEL e XPDL.
andrecastr@gmail.com tivo e vulnerável à entrada de
É mestrando e especialista em Ciência da Computa- Para que serve:
produtos internacionais, onde a
ção pela Universidade Federal de Viçosa – UFV, es- Com o advento da reestruturação
pecialista em Gestão das Tecnologias da Informação
qualidade desses produtos e o preço final
das empresas com foco nos processos
pela Faculdade Machado Sobrinho, atua a mais de estão sendo impostos por uma demanda
de negócio, se faz premente a utiliza-
14 anos no mercado de informática com projetos de de mercado e de uma concorrência acir-
software e atualmente coordena a equipe de desen- ção e evolução de métodos e ferra-
rada, cada empresa necessita entender
volvimento de sistemas computacionais do Grupo mentas que dêem suporte a modela-
Mult unidade de Juiz de Fora. É também professor
claramente cada etapa dos processos
gem dos processos empresariais, sua
de disciplinas de Gerência de Projetos e Banco de administrativos e produtivos, a fim de
simulação e execução.
Dados da Faculdade Estácio de Sá - JF. Áreas de In- atender a uma demanda cada vez mais
teresse: Engenharia de Software, Qualidade de Sof- exigente de consumo. Em que situação o tema é útil:
tware, Processos de Desenvolvimento de Software. Para suportar a modelagem dos pro-
Além do exposto, à medida que au-
José Luis Braga menta o número de fornecedores e so- cessos empresariais tem sido ampla-
zeluis@dpi ufv.br luções de TI no mercado corporativo, mente utilizado no mercado a notação
Pós-doutoramento em Tecnologias da Informação na surge a necessidade de interoperabili- BPMN e a tradução para linguagens
University of Florida (1998-1999). Doutor em Informá- executáveis como o BPEL e XPDL.
tica - Departamento de Informática da PUC-Rio (1990).
dade e comunicação entre diferentes
Mestre em Ciências da Computação - Departamento de softwares envolvidos nos processos
Ciência da Computação da UFMG (1980). Atualmente empresariais. A partir dessa necessi- empreender de forma a reduzir o tem-
é Professor Titular do Departamento de Informática do dade, o mercado busca descrever um po dos processos entre a gestão e o
Centro de Ciências Exatas e Tecnológicas da Universi-
dade Federal de Viçosa-MG. Atua na área de Ciência da
processo de negócio em um formato consumidor, aumentar a transparência
Computação, com ênfase em Engenharia de Software padronizado e inteligível tanto por nos relacionamentos entre organiza-
e Sistemas de Informação. Áreas de Interesse: Qualida- analistas quanto por sistemas. ções e clientes através de tecnologias
de de Software com Foco em Processos, Engenharia Nesse contexto, a administração em- adequadas, reduzir a burocracia e in-
de Software Experimental, Engenharia de Software
Apoiada por Ontologias, Engenharia de Software
presarial está frente a novos e grandes troduzir na gestão do negócio princí-
Baseada em Agentes, Sistemas de Apoio à Decisão. desafios. Os empresários necessitam pios que agilizem as decisões.
Para competir nesse novo mercado é • indivíduos, especialmente suas qua- O BPEL surgiu da união de outros pa-
fundamental que os executivos obtenham lificações, habilidades, regras, papéis e drões, mais especificamente o Web Servi-
uma visão mais completa da empresa. disponibilidades; ces for Business Process Design (XLANG)
Entender o funcionamento de suas ativi- • responsabilidade e distribuição de da Microso e o Web Services Flow Lan-
dades, da interação de seus profissionais, autoridade sobre cada um dos elementos guage (WSFL) da IBM. Após a conclu-
da relação com outras organizações, da aqui descritos, ou seja, sobre as pessoas, são do meta-modelo e da especificação
utilização e funcionamento dos recursos materiais e funções; inicial, o padrão passou para o controle
físicos e sistemas computacionais através • os tempos envolvidos em cada pro- da organização internacional OASIS.
de uma abordagem de toda a empresa. cesso, uma vez que a empresa é um siste- A Organization for the Advancement of
Assim, é possível criar uma imagem con- ma dinâmico. Structured Information Standards (h p://
gelada e organizada da interação de cada VERNADAT [VERN, 1996] cita a lista www.oasis-open.org) é um consórcio
um dos elementos envolvidos nos elos de abaixo como sendo os principais bene- internacional, sem fi ns lucrativos, que
funcionamento empresarial. Uma forma fícios da implantação de uma gestão está responsável pelo desenvolvimento
de se produzir essa imagem é criar mo- por processos: e difusão da adoção de padrões abertos
delos de empresa [VERN, 1996]. Segundo • construção de uma cultura, visão e para a sociedade global da informação.
VERNADAT [VERN, 1996]: linguagem compartilhadas; Fundado em 1993, a OASIS tem 5.000
• modelo: pode ser definido como uma • formalização do know-how e memória participantes representando mais de
Uma abordagem baseada em Business Process Management
representação, com maior ou menor grau
de formalidade, da abstração de uma re-
dos conhecimentos e práticas da empresa;
• suporte a decisões para melhoria e
600 organizações em 100 países.
gorizar atividades. Por exemplo, podem-se indicar os representantes de seia na técnica de fluxograma. Com isso,
name
uma determinada área ou o processo da empresa nas raias, identificando disponibiliza uma série de figuras gráfi-
cada participante no cabeçalho da Lane e o departamento ou o processo cas que representam os elementos envol-
name
principal, no cabeçalho geral e único. A área seria a de suprimentos e, nas vidos no processo modelado. Um mode-
raias, seriam representadas as atividades do gerente e de um determinado lo de processo de negócio é, então, uma
fornecedor em um processo de compra. rede de objetos gráficos que representam
Tabela 3. Swimlanes. Fonte: [BPMN, 2006] controle de fluxo que definem a ordem de
execução de cada atividade do modelo.
Os principais elementos compõem um
BPD são descritos como [BMPN, 2006]:
• Swimlanes: são utilizadas para organi- de pagamento a ser efetuado, tais como: cartão de crédito, cartão de
zar os participantes do processo ou orga- débito ou depósito em conta.
nizar e agrupar as categorias de objetos do Tabela 4. Artefatos. Fonte: [BPMN, 2006]
fluxo. O participante é chamado de pool e
a raia onde serão classificados os objetos é
chamada de lane. Assim, ficam represen-
tadas nos Swimlanes diferentes funciona-
lidades e responsabilidades, agrupadas
por categorias de atividades de acordo
com cada participante. A Tabela 3 contém
a discriminação desses elementos;
• Artefatos: São utilizados para repre-
sentar as informações complementares
do processo. Podem ser dados, anotações
ou grupos de atividades. Os artefatos es-
tão representados na Tabela 4.
A Figura 1 apresenta um exemplo
de processo de registro de reserva de
viagem contendo as atividades de re-
serva de vôo, hotel, carro, a verificação
de crédito até a confirmação final das Figura 1. Processo de registro de reserva de viagem com BPMN (adaptado de [WHIT, 2005]).
solicitações das reservas. O processo
detalhado da reserva de viagem segue tomadas e uma maior proximidade com
os seguintes pontos: o problema real. Como representado na
• inicia com a recepção do pedido de Figura 2, existe um trecho de um pro-
reserva de viagem; cesso com a configuração de tempo que
• efetua uma verificação do cartão este deverá ser executado, assim pode-se
de crédito; enriquecer as decisões do modelo apre-
a falha do cartão, representada pela sentado anteriormente.
figura na atividade “Verificação cartão Na Figura 2 é apresentada uma peque-
de crédito”, deverá emitir uma resposta na parte da riqueza de detalhes que pode
Figura 2 2. Configuração do tempo de resposta a um evento
para a falha de manuseio do cartão; ser incorporada ao BPMN. Dessa forma, no processo.
• as reservas são feitas para o vôo, o ho- com a caracterização de cada elemento
tel e o carro; do modelo deve ser feita criteriosamente
• a reserva do carro pode ter que ser para que todos os detalhes dos requisitos
feita com mais de uma tentativa; dos processos sejam configurados e pos-
• após das três reservas serem efetuadas, sam servir como base para uma exporta-
é enviada uma resposta de confirmação. ção para uma linguagem de execução.
Vários detalhes podem ser incorpora- Além da diagramação do modelo do
dos ao modelo podendo assim enriquecê- processo representado no BPD, as ferra-
lo a fim de auxiliar as decisões a serem mentas computacionais para modelagem
Listagem 1. Inicialização e configuração do Link ServicoReservaHotel, parte do PapelProcessoViagem (adaptado de [WHIT, 2005])
<partnerLinks>
<partnerLink myRole=”PapelProcessoViagem” name=”InicioProcesso”
partnerLinkType=”wsdl5:ProcessoViagem”/>
<partnerLink name=”ServicoReservaHotel” partnerLinkType=”wsdl5:ReservaHotelPartnerPLT”
partnerRole=”PapelReservaHotel”/>
<!-- Another 3 partnerLinks are defined -->
</partnerLinks>
Listagem 2. Definição das mensagens referentes às transações de reserva aérea (adaptado de [WHIT, 2005])
<message name=”input”>
<part name=”linhaAerea” type=”xsd:string”/>
<part name=”chegada” type=”xsd:string”/>
<part name=”partida” type=”xsd:string”/>
<!-- Another 10 parts are defined -->
</message>
<message name=”facaSolicitacaoReservaVoo”>
<part name=”linhaAerea” type=”xsd:string”/>
<part name=”chegada” type=”xsd:string”/>
<part name=”partida” type=”xsd:string”/>
<!-- Another four parts are defined -->
</message>
Listagem 3. Definição das variáveis correspondentes às transações com cartão de crédito (adaptado de [WHIT, 2005])
<variables>
<variable messageType=”wsdl0:input” name=”input”/>
<variable messageType=”wsdl4:facaVerificacaoSolicitacaoCartaoCredito” name=”VerificaSolicitacaoCartaoCredito”/>
<variable messageType=”wsdl4:facaVerificacaoRespostaCartaoCredito” name=”VerificaResposaCartaoCredito”/>
<variable messageType=”wsdl4:Exception” name=”FalhaCartaoCredito”/>
<variable messageType=”wsdl1:facaSolicitacaoReservaCarro” name=”RespostaReservaCarro”/>
<!-- Another 6 variables are defined -->
</variables>
• enviar mensagens XML para servi- Dessa forma, através de códigos XML, antigo problema da utilização de solu-
ços remotos; o BPEL consegue descrever um processo ções proprietárias, dificultando a porta-
• manipular estrutura de dados XML; de negócio para interagir com Web Ser- bilidade entre ferramentas.
• receber mensagens XML assíncronas vices, sejam eles internos ou externos. Assim, talvez a maior questão envol-
de serviços remotos; Isso significa definir e criar uma série de vendo o BPEL, hoje, esteja relacionada
• gerenciar eventos e exceções; regras de fluxogramas, como seqüências, a Web Services. O BPEL trabalha so-
• definir seqüências paralelas de execu- paralelismos, condicionais, loops, dentre mente com Web Services. Há, portanto,
ção e retornar partes do processo quan- outros, para a execução de diversos Web uma incompatibilidade com arquivos
do as exceções ocorrem. Services em seqüência [BOLI, 2006]. texto, tabelas de banco de dados, File
Os trechos de código das Listagens 1, Ferramentas para implementação de Transfer Protocol (FTP), a não ser via
2 e 3 representam a semântica do BPEL, soluções BPM, como o framework da Web Services programados. Nessa situ-
a partir do exemplo do modelo de pro- JBoss, o BPELPM da Oracle, assim como ação, voltamos às soluções proprietá-
cessos de registro de reserva de viagem a solução BPM Suíte da nova versão do rias de fornecedores que implementam
apresentado anteriormente. NetBeans, são capazes de criar o mode- serviços para a interoperabilidade com
Na Listagem 1 é representada a defini- lo do fluxograma em BPEL e também de esses tipos de interfaces.
ção do processo a partir da configuração executá-lo, isso é, ler as regras definidas,
do PartnerLink. Em PartnerLinkType é defi- executar as regras de negócio e invocar XPDL - Process Definition Language
nido o tipo de implementação para o pro- os Web Services. Alguns fornecedores A linguagem XPDL foi proposta pela
cesso, no caso um Web Service que terá a como a Microso , por exemplo, utilizam Workflow Management Coalition (WfMC),
definição wsdl5:ReservaHotelPartnerPLT. o BPEL somente para importação e ex- entidade que define padrões para a co-
Na Listagem 2 é apresentado o có- portação de regras de fluxos para seus munidade que trabalha com workflow.
digo de configuração das mensagens sistemas, similar ao XPDL. Essa linguagem constitui em um modelo
que serão inseridas no código BPEL A principal crítica ao BPEL é a falta da para intercâmbio de processos de negó-
para a representação do modelo do comunicação entre agentes participan- cio entre ferramentas de modelagem di-
registro de reserva de viagens. Cada tes do processo, ou seja, as pessoas. Por ferentes [WfMC, 2005].
mensagem terá seus componentes exemplo, o tratamento de workflow para Esta especificação utiliza XML como
como no caso da mensagem Input com comunicação entre os participantes do o mecanismo para definir o processo
os elementos de linha aérea, destino processo é inexistente no modelo básico, de intercâmbio ou comunicação entre
da viagem e origem da viagem, todas não existe, por exemplo, um elemento ou produtos. XPDL forma uma normati-
do tipo string. regra que descreva uma tarefa que neces- zação para intercâmbio comum, que
Na Listagem 3 é apresentada a utiliza- sita a aprovação do diretor autorizando o permite que os produtos troquem suas
ção da mensagem Input definida no pa- fechamento do pacote de viagens para o informações internas a partir das re-
drão XML acima. No caso, a mensagem interessado. Essa solução é resolvida pela presentações e definições de um pro-
fará parte das variáveis definidas para maioria dos fornecedores com a criação cesso padrão [WfMC, 2005].
representar as transações com cartão de de serviços (Web Services) de “notificação Uma variedade de diferentes me-
crédito utilizadas no modelo do registro de pessoas”, que podem ser acoplados ao canismos pode ser utilizada para o
de reserva de viagens. BPM. Nesse ponto, o modelo cai em um processo de transferência de dados
Figura 10. Gráfico de evolução de tecnologias, ferramentas, aplicativos entre outros. Fonte: Gartner Group, novembro, 2006 [NATI, 2006].
ta
d i çã o e
leitor, acha da revista!
Dê seu voto sobre este artigo, através do link:
www.devmedia.com.br/esmag/feedback
Figura 11. Ilustração contendo fornecedores de soluções BPM. Fonte: Gartner Group, novembro, 2006 [NATI, 2006].
Referências
[AKIY, 2004] AKIYAMA. E. (2004) Gestão de Processos: BPM (Business Process Management). SAP. Basf Case.
[BOLI, 2006] BOLIE. J. et al. (2006) BPEL Cookbook: Best Practices for SOA-based integration and composite applications development. 188p. Packt Publishing Ltd.
[BPMN, 2005] BPMN Fundamentals (2005). OMG Beidtf Meeting. Atlanta. September.
[BPMN, 2006] Business Process Modeling Notation Specification (2006). OMG Final Adopted Specification. February.
[BPMN, 2007] BPMN: o Modelo E-R dos Processos. <Disponível em: http://www.iprocess.com.br/artigos/4.htm> <Consultado em: 22/07/2008>
[JURI, 2006] JURIC, M. B. (2006) Business Process Execution Language for Web Services BPEL and BPEL4WS. 2nd Edition. 372p. Packt Publishing Ltd.
[NATI, 2006] NATIS, Y. (2006). Predicts 2007: SOA Advances. EUA: Gartner, id: G00144445, Novembro.
[VERN, 1996] VERNADAT, F. B. (1996) Enterprise modelling and integration: principles and applications. London: Chapman & Hall.
[WfMC, 2005] Process Definition Interface - XML Process Definition Language (2005). Workflow Management Coalition Workflow Standard. October.
[WHIT, 2005] WHITE. A. S. (2005) Using BPMN to Model a BPEL Process. BPTrends. 2005. <Disponível em www.bptrends.com.br. > <Consultado em: 22/07/2008>
A
escolha da metodologia mais tos de interesse, identificando a presença
sergio.tanaka@audare.com.br
Especialista em Gestão Empresarial pelo Instituto adequada para o desenvolvimen- das metodologias ágeis no mercado, o es-
Superior de Ensino (ISE), em convênio com o IESE to de so ware em uma organi- tado atual do movimento ágil e a pouca
de Barcelona; Mestre em Ciência da Computação zação não é uma tarefa trivial. As meto- disponibilidade de estudos de caso que
pela Universidade Federal do Rio Grande do Sul; Pós- dologias ágeis têm despertado o interesse possam ser usados como fonte sistemáti-
graduado pela Universidade Estadual de Londrina
nas áreas de Redes de Computadores e Banco de do mercado, apresentando evidências de ca de resultados para comparação.
Dados e em Análise de Sistemas pela UniFil. É Diretor melhoria na produtividade, mas, para que
e consultor certificado pela IBM Rational e Webs- possam ser efetivamente usadas em larga Introdução
phere na AUDARE Engenharia de Software. Na área escala, precisam provar alguns de seus A maior parte dos projetos de desen-
acadêmica, atua como Professor e Coordenador de
Pós-Graduação da Universidade Filadélfia (UNIFIL) e pontos de vista. Neste artigo, procura-se volvimento de software pode ser des-
da área de Engenharia de Software do SENAI/SC. verificar quantitativamente alguns pon- crita simplesmente como “programar
e corrigir”, sendo desenvolvidos sem senvolvedores trabalhando juntos, em mais facilmente adotam as inovações
planejamento ou uma fase organizada constante comunicação), direta (o mé- e, para a direita do gráfico, cada grupo
de design do sistema. Disso usualmen- todo em si é simples de aprender e mo- apresenta uma resistência maior, ter-
te decorre uma grande quantidade de dificar) e adaptativa (capaz de respon- minando com os “tardios”, menos afei-
erros, os quais precisam ser resolvi- der às mudanças até o último instante). tos à adoção de qualquer inovação.
dos, em uma longa etapa que sempre Nesse conceito, inclui como metod- Segundo Ambler (2006), existe uma
estende o prazo inicialmente proposto. ologias ágeis: Extreme Programming grande mudança na percepção do mer-
O movimento original de melhoria no (XP), Scrum, Crystal, Feature Driven cado, dos dois lados do “abismo” apon-
setor foi o que introduziu a noção de Development (FDD), Dynamic Sys- tado nessa curva. As empresas à direi-
metodologia, ou seja, uma abordagem tems Development Method (DSDM), ta do abismo possuem uma expectativa
disciplinada para o desenvolvimento Open Source Software Development e, significativamente diferente daquelas
de software com o objetivo de tornar com certa ressalva, o Rational Unified à esquerda na curva. Segundo esse au-
o processo mais previsível e eficiente Process (RUP). tor, as empresas no lado esquerdo do
(FOWLER, 2005). abismo estão mais interessadas em no-
Em 2001, movidos pela observação Importância dos estudos para o vas idéias e mais propensas a aceitar
de que equipes de desenvolvimento mercado riscos, enquanto que as empresas no
de software nas mais diversas organi- As idéias relativas ao movimento ágil lado direito são mais conservadoras e
zações estavam presas por processos têm sido rapidamente disseminadas preferem aguardar por uma prova de
cada vez mais burocráticos, um grupo pela comunidade de desenvolvimento. que a idéia realmente funciona.
de profissionais reuniu-se para deline- Todavia, mesmo que os desenvolvedo- Grinyer (2007) afirma que as meto-
ar os valores e princípios que permi- res avaliem, de forma favorável, técni- dologias ágeis como o XP e o Scrum
tiriam às equipes de desenvolvimento cas como o desenvolvimento incremen- são consideradas inovações, pois ain-
produzir rapidamente e responder às tal e a programação orientada a testes, da são relativamente recentes no mer-
mudanças. Eles chamaram a si mes- sugerindo a adoção de uma metodolo- cado. Todavia, nem todas as técnicas
mos de Aliança Ágil. Trabalharam por gia ágil, essa decisão ainda tem que ser ágeis são inovadoras. Por exemplo, o
dois dias para criar um conjunto de tomada pela organização na qual estão desenvolvimento iterativo já se en-
valores. O resultado foi o Manifesto da inseridos. Para isso, se faz necessária contra bem estabelecido no mercado.
Aliança Ágil (MARTIN, 2002). Embora uma argumentação quantitativa. Ambler (2006) complementa, afirman-
as metodologias que compõem o mo- Na Curva de Adoção de Tecnologia, do que, como um conceito, o movi-
vimento ágil já estivessem no mercado apresentada na Figura 1, Rogers (2003, mento ágil já cruzou o abismo, visto
há alguns anos, com a denominação de apud GRINYER, 2007) introduz o con- que a maior parte das empresas que
“metodologias leves”, o Manifesto Ágil ceito de “decisão sobre a inovação”, o se enquadram na categoria de primei-
é considerado oficialmente como o iní- qual indica que um grupo (ou indiví- ra ou segunda maioria está ao menos
cio do movimento ágil. duo) procura determinar as vantagens demonstrando interesse nas técnicas
Segundo Abrahamsson (2002), uma e desvantagens de uma inovação, com ágeis. A metodologia Scrum e técni-
metodologia pode ser dita ágil quando o objetivo de reduzir a incerteza antes cas como a refatoração e o desenvol-
efetua o desenvolvimento de software de sua adoção. A partir disso, descreve vimento orientado a testes certamente
de forma incremental (liberação de pe- cinco categorias sociais, determinadas cruzaram o abismo, mas o XP como
quenas versões, em iterações de curta com base no seu grau de adoção das um todo ainda encontra resistência
duração), colaborativa (cliente e de- inovações. Os “inovadores” são os que nesse sentido.
Segundo uma pesquisa realizada pela indicando que 69% delas já utilizavam relação à metodologia de desenvolvi-
empresa DigitalFocus (www.digitalfocus. alguma metodologia ágil e mais 7% pre- mento que estão adotando. Partindo
com) e apresentada em um dos eventos tendiam fazê-lo no mesmo ano. de um universo de 1016 empresas, os
mais importantes da comunidade ágil, a Outro dado importante, apresentado na autores estipularam uma amostra rele-
Agile 2006, o interesse nas metodologias Figura 3, é o de que o desenvolvimento vante de 100 empresas e, destas, che-
de desenvolvimento ágil está crescendo, ágil já passou a fase do “projeto piloto”, garam a 57 relevantes. Na Figura 4, é
com 81% das empresas adotando uma com a maior parte das companhias ten- indicado o número de empresas que
metodologia ágil ou procurando por uma do reportado a execução bem-sucedida adotam cada metodologia, descartados
oportunidade para fazê-lo (PROJECTS@ de um número relevante de projetos com os valores menos representativos.
WORK, 2006). Essa pesquisa, a qual co- o uso de metodologias ágeis. Pode-se observar que mais da metade
letou informações de 136 profissionais, Esse tipo de pesquisa possui como im- dessas empresas reportou a utilização
provindos de 128 empresas de diferentes portante limitação o fato de que sua amos- de um método próprio, ou nenhum mé-
portes, teve como objetivo identificar os tragem não se baseia em nenhum método todo defi nido, para o desenvolvimento
fatores chave envolvidos na adoção das científico, ficando limitada ao perfil de de so ware. No restante, esse levanta-
metodologias ágeis, sob o ponto de vista “profissionais que se interessam em res- mento imparcial aponta uma expressi-
técnico e gerencial. As principais coloca- ponder questionários on-line”. É razoável va presença do RUP e o destaque para
ções estão resumidas na Tabela 1. supor que os profissionais que estão des- o XP, o Scrum e o Microso Solutions
Outra pesquisa, bastante recente, foi contentes com uma dada metodologia não Framework (MSF). É importante comen-
conduzida por Ambler (2007), através freqüentem, da mesma forma como os de- tar que esse trabalho classifica o MSF
de uma consulta on-line, executada em mais, o tipo de comunidade on-line consul- como uma metodologia “neutra”, con-
maio de 2007, a qual alcançou 781 profis- tada. Apesar disso, são importantes para sistindo tanto de técnicas ágeis como
sionais distribuídos nos mais diversos apontar as tendências do mercado. tradicionais, das quais o desenvolvedor
papéis e em organizações de porte diver- Um estudo mais dirigido foi feito na pode adotar as que desejar, e posiciona
so. Nessa pesquisa, o autor afirma que o Suécia, por Fransson e Klercker (2005), o RUP no lado das metodologias tradi-
desenvolvimento ágil certamente já cru- com o objetivo de mapear as pequenas cionais. A Figura 5 apresenta o Eixo de
zou o “abismo” citado anteriormente. A e médias empresas de desenvolvimen- Agilidade usado pelos autores, no qual
Figura 2 apresenta o grau de adoção das to de software do país e levantar o grau se observam diversas metodologias en-
técnicas ágeis nas empresas consultadas, de satisfação de cada uma delas, com contradas na bibliografia.
Fi
Figura 4. Metodol
d logiia ddee ddesenvolvimento
4. Metodologia esenvolvi
l imento adotad
d da (S
adotada (Sué
éciia)) Fonte:
(Suécia). Fonte: adaptado
addaptaddo dde
Figura 3. Pesquisa: número de projetos ágeis já executados. Fonte: adaptado de Ambler (2007) Fransson e Klercker (2005, p.51)
5. Eixo de Agilidade
Figura 5 Agilidade. Fonte: adaptado de Fransson e Klercker (2005
(2005, pp.35)
35)
Figura 9. Valores obtidos pela adoção de uma metodologia ágil. Fonte: adaptado de Barnett (2006)
um número crescente de empresas. Com so não possa garantir o sucesso de um quantitativamente, a presença das diver-
isso, um número maior de equipes pode projeto, certamente a adoção de um pro- sas metodologias ágeis no mercado de
passar a quantificar seus resultados. Es- cesso inadequado pode comprometê-lo. desenvolvimento de so ware, bem como
pera-se, para um futuro próximo, que in- Neste trabalho, foi mostrada a impor- as adaptações que se fazem necessárias
formações mais consistentes, relativas à tância da publicação de estudos de caso, e o grau de satisfação de seus usuários.
adoção das metodologias estudadas nes- como ferramenta indispensável para a Essa ausência é ainda mais sentida quan-
te trabalho, sejam levantadas e apresenta- adoção de metodologias inovadores nas do se procuram por dados referentes ao
das à comunidade de desenvolvimento. empresas. O movimento ágil ainda deve mercado nacional.
ser classificado como uma inovação, em-
Conclusões bora alguns dados já apontem para um
Dê seu feedback sobre esta edição! Feedback
A escolha da metodologia mais adequa- eu
novo cenário, no qual o desenvolvimen-
s
Dê
da para o desenvolvimento de so ware to ágil está em um momento de inflexão, A Engenharia de Software Magazine
sobre e
ta
e
deração os inúmeros fatores envolvidos,
d i çã o
fera gerencial das organizações. leitor, acha da revista!
não é uma tarefa trivial. Por outro lado, Uma deficiência importante, apontada
Dê seu voto sobre este artigo, através do link:
é um fator preponderante para o sucesso por este trabalho, foi a ausência de da-
da organização. Embora um bom proces- www.devmedia.com.br/esmag/feedback
dos que possam ser usados para avaliar,
Referências
ABRAHAMSSON, Pekka et al. Agile software development methods: Review and analysis. VTT Publications 478. Oulu, Finland: VTT Publications, 2002.
AMBLER, Scott W Imperfectly Agile: You Too Can Be Agile. Dr. Dobb´s Portal. Setembro, 2006. Disponível em <www.ddj.com/architect/192700252>. Acesso em 17/01/2008.
_____. Survey Says…Agile Has Crossed The Chasm. Dr. Dobb´s Portal. Julho, 2007. Disponível em <www.ddj.com/architect/200001986>. Acesso em 12/02/2008.
BARNETT, Liz. Agile Survey Results: Solid Experience And Real Results. Agile Journal. Setembro, 2006. Disponível em <www.agilejournal.com/articles/from-the-editor/agile-survey-results%3a-solid-
experience-and-real-results.html>. Acesso em 16/02/2008.
BONA, Cristina. Avaliação de Processos de Software: Um Estudo de Caso em XP e ICONIX. Dissertação de Mestrado em Ciências da Computação. Universidade Federal de Santa Catarina, 2002.
FOWLER, Martin. The New Methodology. 2005. Disponível em: <www.martinfowler.com/articles/newMethodology.html>. Acesso em 18/08/2007.
FRANSSON, Oskar; af KLERCKER, Patrick. Agile Software Development in Sweden – A quantitative study of developers´ satisfaction and their attitude towards agile thinking . Dissertação de mestrado em
Informática. Jönköping University: Sweden, 2005.
KRUCHTEN, Philippe. Agility with the RUP. Cutter IT Journal. v. 14, n. 12, Dezembro de 2001. Disponível em: <www.emory.edu/BUSINESS/readings/MethodologyDebate.pdf>. Acesso em 22/05/2007.
GRINYER, Antony R. Investigating the Adoption of Agile Software Development Methodologies in Organizations. Technical Report nº 2007/11. Faculty of Mathematica and Computing. The Open University,
United Kingdom: Julho, 2007.
HARRISON, Warner. Skinner Wasn’t a Software Engineer. IEEE Software. Maio / Junho 2005. Disponível em <www.computer.org/portal/cms_docs_software/software/content/skinner.pdf>. Acesso em
05/06/2007.
KOHRELL, David; WONCH, Bill. Using RUP to manage small projects and teams. The Rational Edge. Julho, 2005. Disponível em <www.ibm.com/developerworks/rational/library/jul05/kohrell/index.
html>. Acesso em 18/01/2008.
MARCHESI, Michele et al. eXtreme Adoption eXperiences of a B2B Start Up. In: Extreme Programming Perspectives. Pearson Education, 2002.
MARTIN, Robert C. Agile Processes. 2002. Disponível em <www.objectmentor.com/resources/articles/agileProcess.pdf>. Acesso em 15/08/2007.
NONEMACHER, Marcos L. Comparação e Avaliação entre o Processo RUP de Desenvolvimento de Software e a Metodologia Extreme Programming. Dissertação de Mestrado em Ciências da Computação.
Universidade Federal de Santa Catarina, 2003.
POLLICE, Gary. Using the IBM Rational Unified Process for Small Projects: Expanding Upon eXtreme Programming. Rational Software White Paper, 2001. Disponível em <http://www3.software.ibm.com/
ibmdl/pub/software/rational/web/whitepapers/2003/tp183.pdf>. Acesso em 22/05/2007.
PROJECTS@WORK. Agile 2006 Roundup. Agosto, 2006. Disponível em <www.projectsatwork.com/article.cfm?ID=232426>. Acesso em 16/02/2008.
SABRE AIRLINE SOLUTIONS. Sabre takes extreme measures. Computerworld Inc. Março, 2004. Disponível em <www.computerworld.com/developmenttopics/development/story/0,10801,91646,00.
html>. Acesso em 16/02/2008.
A
indústria de desenvolvimen- ineficientes são utilizados contribuindo
to de software evoluiu para para a falta de compreensão e colabora-
se tornar uma das mais im- ção por parte dos envolvidos.
portantes instituições de nosso tem- A Figura 1 promove uma comparação
po criando produtos essenciais para entre a efetividade de comunicação e a
o nosso dia a dia. Inúmeros exemplos “riqueza” do canal de comunicação. Dois
podem ser citados. Neste ambiente in- mecanismos são evidenciados: os que
Isabella Fonseca tensamente competitivo, diferenciais não possuem perguntas e respostas e os
isabella@powerlogic.com.br devem ser criados para a sobrevivên- que possuem. Este primeiro tipo propõe
Atua desde 1999 como consultora em e-Business cia. A capacidade de criar e de entregar pouca interação e não permite a colabo-
para grandes empresas utilizando Java EE. É Certified
ScrumMaster e gerente da equipe de desenvolvi-
mais rapidamente produtos de softwa- ração e troca necessária para o alcance do
mento e de projetos do eCompany Portal - primeira re que melhor satisfaçam as necessida- objetivo proposto. A utilização de papel
solução de EIP (Enterprise Information Portal) do des reais do cliente é um deles. para descrever e comunicar o problema
país, e do eCompany Process - solução de defini- Segundo PMI Brasil 2006, os problemas tem importante cunho “documentacio-
ção e controle de Processos Corporativos integrada
ao Gerenciamento de Projetos (EPM e APM), de
mais freqüentes em gerenciamento de nal”, além de poder ser compartilhado
Requisitos e de Produtos (Aplication Lifecycle Ma- projetos levantados são: entre diversas pessoas.
nagement). Ambos são gerenciados com SCRUM e - Não cumprimento de prazos (72%) Por outro lado, mecanismos que pro-
certificados MPS.Br nível F. - Problemas de comunicação (71%) movem e facilitam a comunicação, os
Alberto Campos - Mudança de escopo (69%) mecanismos interativos, são compostos
alberto.campos@localiza.com.br - Estimativa errada de prazo (66%) por perguntas e respostas - como duas
Está na área de TI desde 1984 atuando com geren- Analisando os problemas levantados, pessoas falando ao telefone ou discutin-
ciamento de projetos ágeis desde 2002 para pro- pode-se constatar que o cerne da ques- do via email, são notoriamente mais efi-
jetos de grande porte multidisciplinares incluindo tão reside principalmente na comuni- cientes. E ainda torna-se mais eficiente se
Engenharia, Automação Industrial e Desenvolvi-
mento de Software. Fora do Brasil, já implantou cação – refletindo nos demais. Quando tivermos a presença física na mesma sala
sistemas nos Estados Unidos, Europa e Japão. presentes, mecanismos de comunicação dos diversos envolvidos. Para completar,
um quadro branco auxiliando na dinâ- necessárias para se iniciar o mesmo. Este todos os envolvidos e levam ao feedback
mica das discussões, pode expandir em objetivo serve como um guia para todos real e imediato dado pelo cliente. Como
muito as possibilidades de entender e se os envolvidos e é a meta a ser persegui- resultado, auxiliam nos possíveis ajustes
fazer entendido. da. Normalmente é um parágrafo que - que não acontecem mais tardiamen-
Comunicação “face-to-face” é uma resume, em três ou quatro frases, o foco te - e ajudam na entrega de so ware de
das formas de se resolver grande parte maior que o projeto deve ter. Seu estabe- valor. Cada uma das iterações é compos-
dos problemas citados e, metodologias lecimento visa delegar à equipe do pro- ta de todas as tarefas necessárias a esta
ágeis, como o SCRUM, pregam inces- jeto um espaço de agilidade que a per- entrega: levantamento de dados, análise,
santemente esta prática. O Manifesto mita tomar decisões rápidas ao longo do projeto, implementação, testes e integra-
Ágil, criado em 2001, instituiu valores projeto, norteando-o quanto a alterações ção a versão anterior.
e princípios da escola que corroboram de prioridades, de requisitos, práticas ou Outro ponto interessante é a maneira
com o descrito acima. Abaixo os qua- outras quaisquer. pela qual o monitoramento e a medi-
tro valores principais: Se todo o planejamento fosse feito no ção do projeto são executados em me-
“Nós estamos descobrindo melhores início do projeto, após as primeiras se- todologias ágeis. Cada tarefa definida
formas de se desenvolver soĞ ware, manas, o longo planejamento feito po- é verificada quanto ao seu percentual
fazendo soĞ ware e ajudando os outros deria estar defasado, pois as mudanças de andamento (o mais usual) e também
a fazê-lo. ocorreriam e o forçariam a esta situação. quanto à sua qualidade através de tes-
Através deste trabalho nós viemos Requisitos não devem ser intensamente tes e entregas que são feitas com maior
valorizar: esgotados no início do projeto, eles sim, freqüência. O progresso do projeto não
Indivíduos e Interações primeiro são incrementados a cada iteração, expe- é medido levando-se em consideração o
que Processos e Ferramentas. rimentados pelos envolvidos, colocados plano inicial feito, como em metodolo-
SoĞ ware funcionando primeiro que a prova, avaliados e refinados. gias tradicionais, ou seja, não é traçado
Documentação Compreensiva. É importante construir o todo aos pou- um quadro comparativo entre o que foi
Colaboração do Cliente primeiro que cos, refinando os requisitos, equalizando planejado no início e o que foi executado
Negociação Contratual. o entendimento sobre eles e corrigindo o até o momento. Mudanças são aceitas e
Resposta a Mudanças primeiro que rumo sempre que uma mudança provo- algumas “linhas de bases” farão parte do
Conformidade com Planejamento. que alterações significativas. projeto. Dessa forma, o atendimento ao
Isto é, embora reconheçamos que há Planejar detalhadamente é ir contra a goal definido deve ser a principal medi-
valor nos itens à direita, nós valoriza- natureza do processo de desenvolvimen- da de progresso sendo verificado, cons-
mos primeiramente os itens to de so ware. As tarefas que consti- tantemente, para garantir o máximo de
à esquerda.” tuem este tipo de abordagem fazem par- retorno para o negócio.
É importante destacar que não há te de um processo criativo, não linear e A identificação e o gerenciamento dos
ruptura entre os itens da esquerda e os não palpável, fazendo com que modelos riscos em metodologias ágeis são feitos
da direita e sim de ênfase. A comuni- ágeis se apresentem como uma alterna- em taxas diárias (através de reuniões
cação irá auxiliar em cada um dos itens tiva interessante. Por isso, planos menos curtas e diárias) e durante toda a iteração,
da esquerda e será o grande facilitador detalhados e feitos em freqüência maior o controle da qualidade dos trabalhos é
desse processo. se mostram mais adequados. avaliado. Esta tarefa pode ser executada
O interessante deste tipo de aborda- A forte presença de iterações curtas através de testes, revisão por pares, ins-
gem é que não se tem a procura por um também contribui para o planejamento peção contínua e acompanhamento pelo
culpado. Todos estão imbuídos na busca contínuo citado. Elas garantem ritmo a cliente, que seguem o mesmo processo.
da melhor solução para a organização,
seja o analista, desenvolvedor, gerente
de projeto ou o cliente. E cada um tem o
seu papel claramente determinado fren-
te ao processo de desenvolvimento. Em
metodologias ágeis, uma das premissas
básicas é ter o cliente sempre por perto
e fazê-lo um participante ativo. É impor-
tante que ele entenda suas responsabili-
dades e sua grande parcela de contribui-
ção para o sucesso do projeto.
Algumas questões diferenciam meto-
dologias ágeis no planejamento do pro-
jeto. Nas metodologias ágeis, o plane-
jamento é feito continuamente, durante
todo o projeto, e baseado em um goal
(objetivo), onde são definidas as tarefas Figura 1. Temperatura da comunicação segundo Alistair Cockburn.
Vale destacar que a granularidade de ser representado. O Burndown possui vre de documentações ou burocracias.
cada Sprint Backlog deve ser pequena. duas retas: uma que exibe o planejado e É necessária muita disciplina para se-
Sua estimativa não deve ultrapassar 8 outra que reflete o realizado. Ele está re- guir esta abordagem. Seus princípios
horas de trabalho e isso se contitui em gistrado no topo à esquerda. Ele contém e valores são baseados em dedicação
uma boa prática no gerenciamento do o total de trabalho restante e só de “ba- e bom senso de todos os envolvidos.
andamento das atividades. Através des- termos o olho” no gráfico conseguimos Suas práticas pregam inspeções cons-
ta reunião, o time consegue avaliar se é verificar a evolução do trabalho. Todo o tantes - para o feedback rápido – e
necessário mudar o plano para acertar Agile Radiator tem esta característica. Se aceitação das mudanças e adaptações
o rumo, se deve priorizar alguma outra estivermos vendo muitos impedimen- que o processo deva passar. O com-
atividade, se muitos impedimentos es- tos, temos que verificar o que está sendo prometimento entre todos os envol-
tão ocorrendo e como minimizá-los, se feito para previnir novos e se estes estão vidos também se constitui como um
há algum recurso que está necessitando sendo corretamente removidos. Se ati- grande diferencial do framework. O
de ajuda, etc. É real! Isso tudo sempre vidades de maior prioridade estão sen- processo de gestão está permeado en-
à luz do goal defi nido. Além de todas do deixadas para trás, a própria equipe tre os diversos papéis existentes como
estas vantagens, ainda proporciona vi- pode verificar o que está havendo. O que falado anteriormente.
sibilidade a todos os envolvidos. foi bom (WWW) e o que pode ser melho- Estas são somente práticas de um fra-
Durante cada reunião de Daily Scrum, rado (WCBI) também ficam afixados no mework de processo que nos guia em
post-its são “movimentados”pelo Scrum quadro branco. como fazer. Ele está baseado no Mani-
Team contemplando cada uma das per- A cada novo Sprint, o Agile Radiator festo da Agilidade, que em 2001 reuniu
guntas associadas a esta reunião. Ativi- deve ser modificado para retratar a situ- vários gurus para a discussão sobre pro-
dades executadas (o que foi feito hoje) são ação atual novamente. E este ciclo se ini- cessos de desenvolvimento de so ware.
movidas para a seção “Concluídos”. Ati- cia: planejamento, execução, controle e Não é uma anarquia! É um convite a
vidades planejadas (o que será feito ama- avaliação do que foi feito para cada nova pensar diferente. Cabe a cada um de nós
nhã) são colocadas na seção “Em Anda- Release necessária. descobrir o melhor processo dentro da
mento” e impedimentos são registrados organização que trabalhamos. Nossa ex-
(que impedimentos surgiram? Repare a Considerações Finais periência nos leva a combinar algumas
seção em vermelho no rodapé a direita). Uma confusão ou uma análise su- abordagens. E elas têm se demonstrado
Além destes artefatos, o Burndown perficial que não podemos deixar de bastante efetivas. Mas, conforme dis-
Chart deve ser atualizado ao final da citar é o entendimento de que meto- semos, isso se dará de forma diferente
reunião contabilizando o tamanho to- logias ágeis são pouco formais ou que para cada um. O importante é encontrar
tal entregue pelo Scrum Team no dia a indo por este caminho, você estará li- o seu caminho.
Bibliografia
ta
d i çã o e
leitor, acha da revista!
Dê seu voto sobre este artigo, através do link:
www.devmedia.com.br/esmag/feedback
4. Agile
Figura 4
Fi Agilile Radiator
Radi
diator
A
gerência de risco não deve,
em absoluto, ser entendida e Para que serve:
utilizada sob uma conotação Fornece uma visão horizontal sobre o
negativa, pela qual se visaria tão só gerenciamento de riscos através de va-
avaliar e resolver os eventos adversos. riados temas gerenciais e estratégicos.
Ao contrário, deve visualizar opor- Também facilita a aplicação de concei-
tunidades: vantagens estratégicas e tos de maturidade organizacional nos
diferenciais competitivos através da ambientes de desenvolvimento.
execução de atividades preventivas. Em que situação o tema é útil:
As organizações e empresas devem Além de ser atual, a preocupação
ser proativas, monitorando os riscos e conscientização dos ambientes
de seus projetos com a finalidade de organizacionais no gerenciamento
agregar valor e de alçar novas opor- dos riscos é um primeiro passo para
tunidades não só de negócios, mas de a minimização das falhas ainda exis-
conhecimento adquirido. tentes no gerenciamento de proje-
Cristine Gusmão Muitas organizações podem alegar tos em ambientes de desenvolvi-
cristine@dsc.upe.br que não necessitam executar nenhum mento de software.
Professora Assistente do Departamento de Sis- estudo ou qualquer outro procedimen-
temas Computacionais da Escola Politécnica da to desta natureza, pois empregam pes-
Universidade de Pernambuco (POLI – UPE), onde
soas suficientemente competentes e Estas, pois, são as mais indicadas a
leciona várias disciplinas na graduação e pós-
graduação (especialização e mestrado) e das processos absolutamente seguros; con- serem surpreendidas por situações ad-
Faculdades Integradas Barros Melo. Doutora e fiança nos conhecimentos e na experi- versas e não previstas que resultam,
Mestre em Ciência da Computação pela Univer- ência de seus funcionários, o que eli- muitas vezes, em graves problemas
sidade Federal de Pernambuco. Graduada em
mina a possibilidade de ocorrência de causando grandes perdas, tanto mer-
Engenharia Elétrica – Eletrotécnica pela Univer-
sidade Federal de Pernambuco. falhas em seus domínios industriais. cadológicas como materiais.
De acordo com Cooper [Cooper et al. fi nal, este conjunto de projetos sugeri- consideração as características dos mo-
2001], a Gerência de Portfólio de Proje- do é submetido ao nível estratégico da delos de Archer e Ghasemzadeh e de
tos é um processo dinâmico de decisão organização para validação e possíveis Cooper, como também algumas das con-
com base no tempo, conforme a Figura 2, ajustes [Moura et al. 2004]. siderações levantadas por André Pereira
onde uma lista de projetos ativos é cons- Outros modelos foram desenvolvi- [Pereira 2002]. Uma das características
tantemente avaliada e revisada. Neste dos, através de estudos acadêmicos, importantes do modelo Portfolius é sua
processo, novos projetos são avaliados, como exemplo o modelo adaptado de modularização e divisão em níveis orga-
selecionados e priorizados; projetos exis- André Pereira [Pereira 2002] que pro- nizacionais [Correia 2005].
tentes podem ser acelerados, finalizados põe um modelo que integra várias ca- Para melhor visualizar as similarida-
ou ter sua prioridade diminuída; recur- racterísticas importantes dos modelos des existentes entre as atividades do
sos podem ser alocados e realocados en- de Archer e Ghasemzadeh e de Cooper, processo de Gerência de Portfólio e as
tre os projetos ativos. mas também incorpora outras caracte- do processo de Gerência de Riscos, a
Outro modelo disponível na literatura rísticas, que não foram consideradas e Tabela 1 apresenta um estudo baseado
é apresentado por Archer e Ghasemza- que são importantes para a Gestão de no balanceamento do portfólio [Mou-
deh [Archer e Ghasemzadeh 1998]. Este Inovação de Produtos. ra et al. 2004], com as abordagens de
modelo aborda a Gerência de Portfólio O segundo modelo disponível na li- Cooper e Archer, através de suas ativi-
de Projetos como um processo passo-a- teratura, apresenta uma abordagem da dades de seleção de projetos em com-
passo, conforme mostra a Figura 3. Gerência de Portfólio de Projetos voltada paração com as atividades propostas
A abordagem apresentada por Archer para a indústria de so ware. O modelo pelo processo de Gerência de Riscos
e Ghasemzadeh toma como base a Ge- apresentado por Breno Correia leva em do Guia PMBOK [PMI 2004].
rência de Portfólio de Projetos como um
fluxo contínuo de ações, que são influen-
ciadas principalmente pelos resultados
do desenvolvimento estratégico da orga-
nização e pela metodologia de seleção de
projetos escolhida [Correia 2005].
Inicialmente as propostas de projetos
são avaliadas. Cada projeto é analisa-
do individualmente. O próximo passo
é escolher o portfólio com base nos
projetos analisados, dentro do conjun-
to avaliado. Os projetos selecionados
compõem um portfólio ótimo, podendo
sofrer ajustes de prioridade e recursos
para, então, se obter o comprometimen-
to das principais pessoas responsáveis
pela decisão sobre a necessidade de
quais projetos serão desenvolvidos. Ao
Figura 3. Gerência de Portfólio de Projetos – Elementos do Modelo de Archer
GERÊNCIA DE PORTFÓLIO
Gerência de Riscos PMBOK
COOPER ARCHER
Planejar a Gerência de Risco Faz menção a importância de definição da estratégia organizacional Menciona uma definição clara da estratégia organizacional
para os gestores
Identificar Riscos Métodos de pontuação; Métodos de pontuação – Visão de Benefícios
Sessões de Revisão de Projetos
Analisar Riscos Quantitativamente Processo Estágio/Passagem Pré-seleção e Análise individual de Projetos (repositório de
projetos) e Priorização;
Ajustes do Portfólio
Analisar Riscos Qualitativamente Processo Estágio/Passagem Pré-seleção e Análise individual dos projetos / Interdepen-
dência de recursos e limitações
Controlar Respostas aos Riscos Não existe atividade relacionada, mas acredita-se que pode ser realizada Não existe atividade relacionada, mas podem ser controla-
através dos Métodos de pontuação e das Sessões de Revisão de Projetos das através das Avaliações de Fases / Ajustes do Portfólio
Controlar e Monitorar Riscos Sessões de Revisão de Projetos Avaliação de Fases / Ajustes do Portfólio
Tabela 1. Estudo analítico – Modelos de Portfólio de Projetos
Muitas vezes a equipe e o cliente de tativo de conhecimento e experiência da a identificação de riscos através do uso
um projeto têm um envolvimento gran- pessoa em questão. Os estudos de ava- de um vocabulário comum que pode ser
de na identificação e avaliação dos ris- liação subjetiva dos riscos vêm crescen- utilizado para representar conhecimento
cos do projeto mas, mesmo o envolvi- do e ganhando adeptos rapidamente. A útil dentro de um ambiente de desenvol-
mento das partes não garante que os razão para esta mudança é a rapidez com vimento de so ware [Gusmão 2007].
interesses estejam presentes na fase que se podem avaliar os riscos através de Ontologias são úteis para apoiar a espe-
de análise de riscos. É fundamental a uma análise qualitativa baseada em uma cificação e implementação de qualquer sis-
promoção de discussões e comunicação visão quantitativa, provavelmente um tema de computação. Uma ontologia pode
aberta entre os membros do projeto. dos mecanismos mais realistas de esti- ser desenvolvida por motivos diversos
Além de mecanismos que possam tra- mar a probabilidade de eventos futuros. mas, de uma forma geral, traz os seguintes
tar as informações geradas. benefícios (de certa área de conhecimento):
3. Muitas organizações adotam como A Busca pelo Conhecimento através Melhor compreensão: no desenvolvi-
atividade de identificação de riscos os da Experiência mento de uma ontologia, as pessoas en-
checklists ou taxonomia de risco. Na busca constante pela melhoria de volvidas no processo se vêem diante de
O uso de listas de verificação (checklists) processos, a Engenharia de So ware, um desafio: explicar seu entendimento
e de taxonomias pode ser bastante útil na apoiada pela Inteligência Artificial, de- sobre o domínio em questão, o que as faz
identificação de riscos, previamente rela- senvolve diversas aplicações atualmente refletir e melhorar sua compreensão so-
cionados. Mas podem aumentar a tendên- que suportam a aquisição, organização, bre esse domínio;
cia dos participantes e equipe do projeto a reuso e compartilhamento de conhe- Entendimento e consenso: geralmente,
limitarem-se a lista de riscos definida, to- cimento sobre processo de so ware. O para uma determinada área de conheci-
lhendo a habilidade de ficar atento a novos emprego de ontologias, por exemplo, fa- mento, especialistas têm entendimento
riscos. Outro fator importante que deve vorece o compartilhamento e o reuso de distinto sobre os conceitos envolvidos,
ser levado em consideração é que, princi- bases de conhecimento, o seu uso como podendo levar a problemas de comuni-
palmente as taxonomias, têm seus riscos guia para o processo de aquisição de co- cação. Na construção de uma ontologia,
identificados dependentemente do am- nhecimento e uma mais fácil compreen- essas possíveis diferenças são explicita-
biente, além de ser extremamente fatigan- são e interação entre pessoas. das e busca-se um consenso sobre seu
te manter um nível de detalhamento dos De uma forma geral, gerentes de pro- significado e importância;
riscos listados. Em 1997, Tony Moynihan jetos têm que alocar, ratear recursos Aprendizagem: na existência de uma
[Moynihan 1997] em seu relatório intitu- entre projetos, gerenciá-los dentro do ontologia sobre uma determinada área
lado How experienced Project Managers As- orçamento e tempo disponíveis e, por de conhecimento desenvolvida, uma
sess Risk, fez uma série de estudos com um fim, garantir que estes recursos limi- pessoa que deseje aprender mais sobre
grupo de 14 gerentes de projetos, baseado tados sejam implementados de acordo essa área não precisa se reportar sempre
na taxonomia do SEI, onde foi apresenta- com o planejado. a um especialista. Ela pode estudar a on-
do, de acordo com os resultados obtidos, Para o alcance desse objetivo uma tologia e aprender sobre o domínio em
que as principais preocupações no uso de grande quantidade de variáveis pode questão, absorvendo um conhecimento
taxonomias devem ser a evolução das ne- ser considerada tanto ameaças quanto geral e de consenso.
cessidades específicas de cada projeto e o oportunidades. Para uma melhor identi- Alguns trabalhos podem ser encontra-
escopo da lista de riscos, criada com base ficação desses fatores críticos de sucesso dos na área de Engenharia de So ware
nos tipos e categorias de riscos utilizados. dos projetos é importante a definição de ratificando a importância da utilização
4. A quantificação e a priorização dos uma terminologia única para a captura, de ontologias como instrumento para a
riscos é um grande desafio para a Ge- avaliação e controle dos riscos. modelagem de domínios [Duarte e Falbo
rência de Riscos. A mPRIME Ontology, projeto desen- 2000, Siebra et al 2004, Medeiros 2004]. A
Normalmente é baseada em estimati- volvido no Centro de Informática (CIn utilização de ontologias, no entanto, re-
vas, probabilidades e perdas. As estima- – UFPE), é uma ontologia que permite quer a criação de uma cultura de uso e
tivas podem ser baseadas em três tipos
de abordagens: dados históricos, estima-
tivas subjetivas e tabelas. Estes tipos de
abordagens também apresentam algu-
mas limitações.
A utilização de dados históricos rara-
mente é utilizada na estimativa da proba-
bilidade de riscos, presumivelmente por-
que as organizações não coletam os dados
dos projetos com a freqüência necessária.
A subjetividade está associada ao tipo
de experiência e crenças. Logo, as estima-
tivas subjetivas refletem muito o quanti-
s
Dê
A Engenharia de Software Magazine
mento tecnológico, a partir da redução
sobre e
Risk Method (na Web: pma.dsc.upe.br). tem que ser feita ao seu gosto.
O CBR Risk é um método que objetiva dos riscos apresentados pelas atividades Para isso, precisamos saber o que você,
s
ta
d i çã o e
auxiliar gerentes de projetos nas suas ati- surgidas na sociedade moderna. leitor, acha da revista!
vidades de Gerência de Riscos, através de A relação custo-benefício para a imple- Dê seu voto sobre este artigo, através do link:
suporte à identificação de riscos para no- mentação de um plano de gerenciamen-
www.devmedia.com.br/esmag/feedback
vos projetos baseado em analogia. Esse to de riscos em uma organização poderá
Referências
[Archer e Ghasemzadeh 1998] Archer, N., Ghasemzadeh, F. A Decision Support System for Project Portfolio Selection. International Journal of Technology Management, Vol. 16, No. 1-3, pp.105-114, 1998.
[Coelho 2004] Coelho, P. Identificação das Estratégias de Aprendizado utilizadas pelos PMP´s e Aspirantes a Certificação PMP. Projeto PMK – Environment Learning. CIn /UFPE – Centro de Informática –
Universidade Federal de Pernambuco. 2004.
[Cooper et al 2001] Cooper, R. G.; Edgett, S.; Kleinschmidt, E. J. (2001) Portfolio Management for New Products. 2ª ed. Perseus Publishing, New York.
[Correia 2005] Correia, B. C. S. (2005) Portfolius: Um Modelo de Gestão de Portfólio de Projetos de Software. Dissertação (Mestrado) – Programa de Pós-Graduação em Ciência da Computação, Centro de
Informática, Universidade Federal de Pernambuco, Recife.
[Danilovic e Borjesson 2001] Danilovic, M. e Borjesson, H. (2001) Managing the MultiProject Environment. In: The Third Dependence Struture Matrix (DSM) International Workshop, Proceedings, Massachu-
setts Institute of Tecnology (MIT), Massachusetts, Boston, Cambridge, USA.
[Duarte e Falbo 2000] Duarte, K. C. e Falbo, R. A. Uma Ontologia de Qualidade de Software. Anais do VII Workshop de Qualidade de Software, XIV Simpósio Brasileiro de Engenharia de Software, João
Pessoa, Paraíba, Brasil, Outubro 2000.
[Dye e Pennypacker 2000] Dye, L.; Pennypacker, J. (2000) Project Portfolio Management and Managing Multiple Projects: Two Sides of the Same Coin?. In: Proceedings of the Project Management Institute
Annual Seminars & Symposium, Houston, Texas, USA.
[Freitas 2005] Freitas, B. C. C. (2005) Um Modelo para o Gerenciamento de Múltiplos Projetos de Software aderente ao CMMI. Monografia (Trabalho de Graduação) – Curso de Ciência da Computação,
Centro de Informática, Universidade Federal de Pernambuco, Recife.
[Gusmão 2007] Gusmão, C. M. G. (2007) Um Modelo de Processo de Gestão de Riscos para Ambientes de Múltiplos Projetos de Desenvolvimento de Software. Tese de Doutorado. Universidade Federal de
Pernambuco – Recife/PE – Brasil.
[Hall 1998] Hall, E. M. (1998) Managing Risk – Methods for Software Systems Development. Addison-Wesley. pp 88-103.
[Leopoldino 2004] Leopoldino, C. B. Avaliação de Riscos em Desenvolvimento de Software. Dissertação de Mestrado. Universidade Federal do Rio Grande do Sul – Escola de Administração. Porto Alegre. 2004.
[Moura et al 2004] Moura, H. P.; Gusmão, C. M. G.; Correia, B. C. S. (2004) Portfolio Management: A Critical View of Risk Factors Balancing. Anais do NORDNET – International PM Conference. Helsinki – Finlândia.
[Moynihan 1997] Moynihan, T. (1997) How experienced Project Managers Access Risk. IEEE Software. Volume 14. Nº 3. 35-41.
[Pereira 2002] Pereira, A. R. (2002) Modelo de Gestão de Portfólio para Alinhar os Projetos de Novos Produtos às Estratégias Corporativas. Dissertação (Mestrado) – Programa de Pós-Graduação em Engen-
haria de Produção, Universidade Federal de Santa Catarina, Florianópolis.
[PMI 2004] PMI - Project Management Institute. (2004) A Guide to the Project Management Body of Knowledge – ANSI/PMI 99-01-2004. Project Management Institute. Four Campus Boulevard.
Newtown Square. USA.
[Siebra et al. 2004] Siebra, S. A. et al. SmartChat - An Intelligent Environment for Collaborative Discussions. ITS - Intelligent Tutoring Systems 2004: pp 883-885. 2004.
N
os artigos anteriores apresen- artigo serão mostrados detalhes sobre
tamos como trabalhamos com o modelo de caso de uso de negócio e
os casos de uso e seu papel sua especificação.
no desenvolvimento de so ware. Fo- Para que serve:
ram apresentados os erros cometidos Fornecer um meio de mapear o pro-
na criação e na especificação de casos cesso de negócio do cliente de forma
de uso e também como evitá-los, assim mais clara e, com isso, termos um me-
como os conceitos, as características e lhor entendimento do negócio para as-
sua importância no desenvolvimento sim podermos dar uma solução sistêmi-
de so ware de uma forma geral. Mos- ca mais efetiva.
tramos também como especificar um Em que situação o tema é útil:
caso de uso utilizando boas práticas. Muito útil para o levantamento e enten-
Foi mostrado que juntamente com o dimento do processo de negócio do clien-
Vinicius Lourenço de Sousa caso de uso existe um documento cha-
vinicius.lourenco.sousa@gmail.com te, tanto para validação do cliente quanto
mado de Especificação Suplementar, que é para a equipe de desenvolvimento.
Atua no ramo de desenvolvimento de software há
mais de 10 anos, é autor de diversos artigos publi- um complemento para os casos de uso
cados pelas revistas ClubeDelphi e SQL Magazine. sendo preenchido com as regras não
É Graduado em Tecnologia da Informação pela funcionais, pois casos de uso possuem sos de uso dos artigos anteriores são
ABEU Faculdades Integradas e Pós-Graduado em
apenas regras funcionais. Foi possível chamados de casos de uso sistêmicos,
Análise, Projeto e Gerência de Sistemas pela PUC-
RJ, IBM Certified: Especialista Rational Unified entender que com o caso de uso é pos- pois eles têm por objetivo mapear a so-
Process e instrutor de UML, Análise OO e Java. Atu- sível fazer uma análise dos requisitos lução do so ware (ou a solução sistêmi-
almente trabalha na CPM Braxis como Especialista e um projeto físico de forma mais efi- ca) em termos de regras, passos entre
nas áreas de arquitetura, especificação de requisi-
caz e termos um projeto centrado em os atores (usuários) e o sistema (GUI),
tos, levantamento e modelagem de processo de
negócio e projetista de software em soluções com arquitetura que formará a base de todo mensagens do sistema para os atores e
componentes de negócio, SOA e BPM. o desenvolvimento do so ware. Os ca- exceções das regras.
Neste artigo veremos a parte final do é muito extenso e é necessário um ou ção de check-in e o ator de negócio repre-
desenvolvimento de so ware dirigido vários artigos para uma explicação mais senta os passageiros que irão utilizar desse
por caso de uso, mostrando outro tipo de abrangente. Abaixo veremos algumas “serviço de negócio”. O processo de check-
caso de uso, chamado de caso de uso de regras para entendermos como funciona in possui várias etapas ou passos para sua
negócio. A diferença entre o caso de uso um caso de uso de negócio. realização como a identificação do passa-
sistêmico e o caso de uso de negócio está Um caso de uso de negócio é uma se- geiro, a confirmação do vôo (data, horário,
no objetivo de sua utilização, ou seja, qüência de interações entre o ator de ne- portão, etc.), despacho de bagagem e etc.
na visão que cada um representa. En- gócio (alguém ou algo que interage com No final do processo o passageiro receberá
quanto o primeiro serve para mapear a o processo de negócio) e o processo de a confirmação da realização de seu check-
solução sistêmica, o segundo serve para negócio, que acontece de forma atômi- in sem ter o conhecimento do processo
mapear o processo de negócio do cliente, ca, na perspectiva do ator de negócio. como um todo. É por isso que o ator de ne-
independente de ser automatizado (en- Perceba que esta regra é bem parecida gócio não participa do processo de negócio,
volvendo sistemas legados) ou manual. com a regra do caso de uso sistêmico, pois serão outras pessoas (funcionários da
Na próxima seção vamos entender mais mas ao invés de termos a interação entre empresa) que irão trabalhar em conjunto
detalhadamente sobre o caso de uso de o ator e o sistema, temos a interação entre para o processo ser executado. O ator de
negócio e seu modelo. o ator de negócio e o processo de negó- negócio depois de ter iniciado o processo,
cio. O ator de negócio é aquele que não apenas aguardará o resultado final. Repa-
Entendendo o que é um Modelo de participa do processo de negócio, sendo re que essas etapas do processo de negócio
Caso de Uso de Negócio o estímulo para o processo ser iniciado, estando automatizadas se tornam as fun-
O modelo de caso de uso de negócio des- ou seja, ele é o cliente do negócio. Como cionalidades do sistema ou passos de uma
creve a direção e a intenção do negócio. Di- exemplo veja a Figura 1. funcionalidade, ou seja, seriam mapeadas
reção é provida na forma dos objetivos do Na Figura 1 vemos um diagrama de caso por um ou mais casos de uso sistêmicos.
negócio que são chamados de goals. de uso de negócio para a realização de che- Então podemos dizer que um caso de uso
O modelo de caso de uso de negócio é ck-in no aeroporto. Como podemos perce- de negócio pode ser “realizado” por um ou
usado pelos usuários chaves do negócio, ber de início, já existe uma diferença visual vários casos de uso sistêmicos.
analistas do processo de negócio e os entre o diagrama de caso de uso sistêmico e Ao ser executado, um caso de uso de ne-
projetistas do negócio para entender e o diagrama de caso de uso de negócio. Essa gócio deve fornecer um resultado observá-
melhorar o caminho que o negócio inte- diferença visual é porque os elementos vi- vel e significativo para o ator de negócio.
rage com seu ambiente, e pelos analistas suais da UML que são o ator e o caso de uso
de sistema e arquitetos de so ware para utilizam estereótipos diferentes. Os estere-
prover o contexto para o desenvolvi- ótipos são utilizados para classificar os ele-
mento de so ware. O gerente de projeto mentos da UML, além de introduzir novos
também usa o modelo de caso de uso de elementos visuais e conceitos à linguagem
negócio para planejar o conteúdo das ite- de modelagem. Um estereótipo permite a
rações durante a modelagem de negócio criação de novos tipos de blocos de cons- Figura 1. Realização de Check-In no aeroporto
pela equipe de desenvolvimento e o ras- trução que são derivados dos já existentes,
treio do progresso pela equipe. estendendo a semântica dos elementos e
Como explicado antes, o caso de uso não a estrutura das classes pré-existentes
de negócio serve para mapear o pro- no metamodelo da UML. Um estereótipo
cesso de negócio da empresa do cliente. é considerado como um metamodelo, pois
Entende-se por processo de negócio, de cada um cria o equivalente a uma nova
uma forma resumida, toda atividade que classe no metamodelo da UML.
deve ser feita, como deve ser feita, quan- No caso da Figura 1 foi indicado que os
do deve ser feita, por quem deve ser fei- elementos teriam o estereótipo de caso de
ta e o que deve ser gerado ao final das uso de negócio e de ator de negócio. O caso
atividades. Neste artigo não entrarei em de uso de negócio Efetuar Check-In mapeia
detalhes sobre processo de negócio, pois todo o processo de negócio para a realiza- Figura 2. Realização de Check-In individual e de grupo
Características Importantes de um
Diagrama de Caso de Uso de Negócio
Ao criarmos um diagrama de caso de
uso de negócio, devemos nos atentar
para certas características para que o
diagrama não fique errado ou confuso
Figura 3. Diagrama de caso de uso de negócio de uma loja de produtos virtual
no momento da especificação. Vou me
ater somente às características diferen-
tes das do diagrama de caso de uso sis-
têmico, pois tanto o sistêmico quanto o
de negócio possuem características se-
melhantes. Veja as características de um
diagrama de caso de uso de negócio:
• Ator de Negócio: Alguém ou algo
que interage com o processo de negócio.
Um ator de negócio pode ser um sistema,
um cliente, um fornecedor, um parceiro
de negócio ou potenciais clientes.
O nome do ator de negócio deve refletir
seu papel para o negócio. Para atores que
representam pessoas, não podemos no-
meá-los com os nomes das pessoas. Essa
regra é a mesma que é utilizada para os
atores sistêmicos. Por exemplo: na Figura
2, temos os atores de negócio Passageiro
e Guia Turístico. O primeiro pode efetuar
um check-in individual ou um check-in
de grupo e o segundo somente poderá
efetuar check-in de grupo. O nome Pas-
sageiro e Guia Turístico refletem o papel
nesse contexto do negócio;
• Caso de Uso de Negócio: Como já
explicado, um caso de uso de negócio
mapeia a interação entre o ator de negó-
Figura 4. Diagrama de link entre os casos de uso de negócio e os goals cio e o processo de negócio. Nesta seção
apenas incrementarei as características
de caso de uso de negócio dentro do dia-
grama de caso de uso de negócio.
Assim como os casos de uso sistêmicos,
um dos grandes problemas em diagramas
de caso de uso de negócio é a sua nomea-
ção. Um caso de uso de negócio deve ter
um nome que esteja dentro do contexto
do negócio do cliente. A forma do nome sos de uso de negócio são iniciados in- le objetivo do negócio. Vemos que para
deve ser ativa, normalmente descrito ternamente, ou seja, quem inicia esses cada goal existe um caso de uso de negó-
pelo gerúndio do verbo ou um verbo e processos faz parte do próprio processo cio, mas poderiam existir vários casos de
um substantivo conjunto. Os nomes po- de negócio e como explicado antes os uso de negócio dando suporte a um goal
dem descrever as tarefas no caso de uso atores de negócio interagem com o pro- e vice-versa, como o caso de uso Identifi-
de negócio a partir de um ponto de vis- cesso sendo seus clientes, não fazendo car Necessidades do Cliente, que dá suporte
ta externo ou interno. Embora o caso de parte dele. Esses casos de uso de negó- aos goals Baixo Preço, Qualidade Razoável
uso de negócio descreva o que acontece cio são geralmente chamados de casos e Conveniência do Cliente.
dentro do negócio, muitas vezes é mais de uso de negócio administrativos.
natural nomear o caso de uso de negócio Já na Figura 4, vemos um diagrama de Especificação de Caso de Uso
a partir do ponto de vista do ator de ne- caso de uso utilizado para fazer o link de Negócio
gócio principal. Como exemplo, podemos entre os casos de uso de negócio da Figu- Na edição anterior apresentei três for-
ver a Figura 2 que os nomes dos casos de ra 3 e os goals do negócio. Veja que o link mas de especificação de caso de uso e
uso de negócio estão voltados para o pon- entre o caso de uso de negócio e o goal expliquei que a forma mais usada para
to de vista dos atores de negócio. é feito através de dependência usando o casos de uso de negócio é a Descrição
• Goals: Os goals (objetivos do negócio) estereótipo <<suporta>>, para indicar que Contínua. Existe outra forma de criar-
são fatores determinantes e de extrema o caso de uso em questão suporta aque- mos uma especificação para o caso de
importância na identificação dos casos
de uso de negócio. Durante o levanta-
mento do negócio é muito importante
que os analistas do processo de negócio
entendam e mapeiem todos os goals rela-
cionados ao negócio. Os goals dos casos
de uso de negócio devem ser especifica-
dos a partir de duas perspectivas:
– Para os atores de negócio o processo
de negócio interage com eles e especifica
o valor que o ator de negócio espera ob-
ter a partir do negócio (goals externo).
– Do ponto de vista do desempenho
do processo de negócio da organização,
definir quais os objetivos dos processos
de negócio e aquilo que se es pera atingir
através de sua realização (goals interno).
É muito importante que os casos de
uso de negócio sejam “linkados” aos
seus respectivos goals em um diagra-
ma a parte, pois assim poderemos ter
o mapeamento de quais casos de uso
de negócio dão suporte a um ou vários
goals. Veja na Figura 3 e Figura 4 um
exemplo desse link.
Na Figura 3 vemos um diagrama de
caso de uso de negócio de uma loja de
produtos na internet. Neste diagrama
existem dois atores de negócio, onde o
primeiro que é o Cliente pode selecionar
produtos, pagar pelos produtos e devol-
ver os produtos defeituosos. O segundo
ator de negócio é o Fornecedor, que rece-
be os produtos defeituosos para efetuar
sua manutenção. Perceba que os casos
de uso de negócio Identificar Necessi-
dades do Cliente e Monitorar Vendas não
têm nenhum ator de negócio iniciando
seu processo e sim apenas notificando
o cliente. Isso é porque esses dois ca- Figura
Fig 5. Di
ra 5 Diagrama dde atividade
ti id d dde negócio
ó i ddo processo dde check-in
h ki
sobre e
tem que ser feita ao seu gosto.
Para isso, precisamos saber o que você, d i çã o
ta
e
s
Links
Bibliografia
E
xistem vários fatores que ditam se Onde o EPF pode ajudar? com pessoas experientes, precisam defi-
um processo de desenvolvimento Quando uma organização possui mais nir um processo que fornece, no mínimo,
será mais formal ou mais ágil, de um projeto de desenvolvimento de alguma orientação sobre como o desen-
tais como tamanho e cultura da equipe, so ware, na grande maioria das vezes, volvimento terá o escopo definido em
localização geográfica dos membros, existirá um processo de governança e todo o ciclo de vida, quando marcos se-
complexidade da arquitetura, tecno- um processo de desenvolvimento de sof- rão atingidos e verificados, etc.
logias envolvidas, padrões utilizados, tware. Este processo pode não ser explí- O EPF tem como principal objetivo
entre outros. Projetos têm necessidades cito, muitas vezes instável com alterações fornecer meios para manter uma base
únicas, que podem ser suportadas em descontroladas, mas ele existe. de conhecimento de capital intelectu-
processos e métodos de desenvolvimen- Definir e explicitar processos de go- al que você possa procurar, gerenciar
to distintos. Há ainda as boas práticas vernança, principalmente em empresas e criar. Este conteúdo pode ser externo
do desenvolvimento de so ware, que com vários projetos simultâneos, facilita e, o mais importante, você pode incluir
beneficiam toda a equipe de projeto, o planejamento, a divulgação e a adoção seu próprio conteúdo como, white pa-
tornando-a mais eficaz. Essas aborda- de praticas mais ágeis. Processos de go- pers, diretrizes, modelos, boas práticas,
gens podem ser adaptadas ou estendi- vernança e de desenvolvimento devem procedimentos e regulamentações inter-
das para as necessidades específicas de ser simples, fácil de evoluir e manter, nas, material de treinamento e qualquer
cada projeto/equipe. para promover agilidade. outra descrição geral de seus métodos.
Conseqüentemente, tal singularidade Segundo a documentação do EPF, ele Essa base de conhecimento pode ser uti-
dos projetos atuais provoca novos de- pode ajudar em dois aspectos principais: lizada para referência e disseminação de
safios. Muitas equipes de desenvolvi- • Primeiramente, as equipes de desen- conhecimento. Vejamos abaixo os princi-
mento têm enfrentado questões como volvimento precisam ser instruídas so- pais recursos do EFP:
a falta de uma terminologia comum bre os métodos aplicáveis aos papéis que • Fornece ferramentas para autoria,
para documentar processos e métodos; desempenham. Os desenvolvedores de configuração, visualização e publicação
a dificuldade de adaptar e estender o so ware precisam aprender quais práti- de métodos e processos;
conhecimento para projetos diferen- cas devem usar; os testadores precisam • Fornece editores de texto avançados
tes; a inexistência de um ambiente aprender como testar as aplicações base- e intuitivos para criar descrições de con-
central de publicação, para facilitar a ando-se nas práticas definidas; os geren- teúdo ilustrativas. Os editores permitem
disseminação da base de conhecimen- tes precisam aprender como gerenciar o uso de estilos, imagens, tabelas, hyper-
to, entre outras. o escopo do projeto, e assim por diante. links e edição direta no HTML;
Mesmo em corporações que têm ado- Funciona como uma ajuda online. • Permite criar processos e diagramas
tado abordagens mais ágeis de desen- • Em segundo lugar, as equipes de de fluxo de trabalho. Suporta diferentes
volvimento, encontramos desafios em desenvolvimento precisam compreen- visualizações de processo: visualização
coordenar e gerenciar várias equipes der como aplicar esses métodos durante de divisão de trabalho, visualização de
simultâneas, que estão freqüentemen- todo o ciclo de vida do desenvolvimento. produto de trabalho e visualização de
te desenvolvendo partes diferentes do Isto é, elas precisam definir ou selecio- alocação de perfis;
mesmo sistema. Isto resulta na necessi- nar um processo de desenvolvimento. • Possui recursos de reutilização e ca-
dade de uma abordagem fácil de plane- As equipes também precisam entender pacidade de extensão. Suporta padrões
jar, divulgar e reaproveitar processos claramente como as diferentes tarefas de processo reutilizáveis e vinculados
de governança e práticas ágeis. Essas dos métodos estão relacionadas entre dinamicamente para rápida montagem
práticas e processos de governança si; por exemplo, como o método de ge- do processo através de arrastar e soltar;
podem ser publicados, reutilizados e renciamento de mudanças influencia no • Fornece uma terminologia comum
compostos com ajuda do Eclipse Pro- método de gerenciamento de requisitos. para documentar processos e métodos, o
cess Framework (EPF). Até mesmo as equipes auto-organizadas, UMA (Unified Method Architecture);
Muitas organizações supõem que as
pessoas sabem como realizar suas ta-
refas e não documentam seus métodos.
Porém, cabe salientar que, para que as
empresas tornem os seus sucessos repe-
tíveis, não dependendo exclusivamente
de talentos individuais, elas devem esta-
belecer práticas comuns.
EPF é um ambiente que permite que
engenheiros de processo, engenheiros de
so ware e desenvolvedores implemen-
tem, desenvolvam e façam a manutenção
de processos para organizações ou para
projetos individuais. Figura 1. Arquitetura do EPF
• Gabarito - Especifica a estrutura de pacotes de métodos que contêm o Conte- Na Autoria do Conteúdo do Método
um Produto de Trabalho com um forma- údo de Método. Os plug-ins de método e criamos o núcleo reutilizável que são:
to padronizado, fornecendo descrições pacotes de métodos organizam o conteú- os papéis (funções), tarefas, produtos
do conteúdo; do para possibilitar a reutilização. de trabalho e seus relacionamentos,
• Definição de Termo - Define con- Um recurso importante fornecido pelo conforme mostrado na Figura 3. Na
ceitos que são utilizados para construir EPF são os plug-ins extensíveis. Esse autoria de Processo estabelecemos
o Glossário; mecanismo permite a customização do uma seqüência lógica de execução pa-
• Mentor de Ferramentas - Apresenta conteúdo gerado, sem alterar direta- ras as tarefas criadas anteriormente.
como utilizar uma ferramenta específica mente o conteúdo base. O conteúdo do Em uma configuração de método você
para criar parte de um Produto de Traba- método base incluído no EPF é prote- pode selecionar e cancelar seleção dos
lho no contexto; gido contra a modificação direta. Os pacotes de conteúdo disponíveis. As
• White Paper - Tipo de orientação plug-ins de leitura são esmaecidos na seleções feitas ajudam a determinar
para documentos publicados externa- visualização de biblioteca, indicando o conteúdo de sua publicação. Publi-
mente, que podem ser lidos e entendi- que estão bloqueados. cação é um Web site com o método e
dos isoladamente de outros Elementos Quando for adaptar algum processo processos que podem ser utilizados
do Conteúdo. para suas necessidades, sempre deve por uma equipe de projeto.
O Processo estabelece as defi nições de ser criado um novo plug-in estendendo
trabalho estruturadas que delineiam o o original, isso separa seu conteúdo do Visão geral de autoria do Conteúdo
trabalho a ser desempenhado no ciclo conteúdo original. Permite também que do Método
de vida. Um processo adquire elemen- você atualize sua biblioteca com novos A Figura 4 ilustra o Conteúdo do Mé-
tos de métodos do núcleo reutilizável releases, sem afetar o conteúdo criado todo representado no EPF. Muitos mé-
como, por exemplo, as Tarefas e Produ- em seus próprios plug-ins. todos de desenvolvimento são descritos
tos de Trabalho, e os relaciona em seqü- em publicações, como manuais, artigos,
ências ordenadas. Visão geral material de treinamento, padrões, re-
A documentação do EPF foca em qua- gulamentações e outras formas de do-
Organização da Biblioteca de Méto- tro conceitos principais: autoria do Con- cumentação. Essas origens geralmente
dos do EPF teúdo do Método; autoria de Processo; documentam métodos, fornecendo ex-
Uma Biblioteca de Métodos é um contê- configurações de métodos e publicação. plicações etapa por etapa para uma ma-
iner físico para plug-ins de método. Um Com eles podemos obter uma visão geral neira específica de atingir uma meta no
plug-in de método é um contêiner para do funcionamento do EPF. desenvolvimento. Alguns exemplos são:
transformar um documento de requi- Visão geral da autoria de Processo processo. Como autor do processo,
sitos em um modelo de análise; defi nir Um processo define seqüências de ta- você geralmente começa criando uma
um mecanismo arquitetural baseado em refas desempenhadas por Funções e os divisão de trabalho, dividindo o pro-
requisitos funcionais e não funcionais; Produtos de Trabalho produzidos ao lon- cesso em fases, iterações e atividades
criar um plano de projeto para uma ite- go do tempo. de alto nível. Em vez de criar suas ati-
ração de desenvolvimento; defi nir um vidades no editor de estrutura de divi-
A Figura 5 mostra que os processos
plano de garantia de qualidade para re- são, você pode, como alternativa, tra-
são geralmente representados como flu-
quisitos funcionais; projetar novamente balhar em um editor de diagrama de
xos de trabalho. Portanto, para definir
uma organização de negócios com base atividades gráfico, que permite criar
um processo, um indivíduo pode pegar
em uma nova orientação estratégica, e graficamente um fluxo de trabalho
o Conteúdo do Método e combiná-lo
assim por diante. para as atividades.
em estruturas que especificam como o
O EPF permite a distribuição do con-
trabalho deve ser organizado ao longo
teúdo e a sua estruturação em um es-
do tempo. Isto ocorre para atender às
Visão geral das configurações de
quema específico de Funções (Papeis),
necessidades de um tipo específico de
métodos
Produtos de Trabalho, Tarefas e Orien- Todos os conteúdos e processos no EPF
projeto de desenvolvimento. O EPF su-
tações. Tal esquema suporta a organi- são organizados em plug-ins de métodos,
porta processos com base em diferentes
zação de grandes quantidades de des- os quais são estruturados em pacotes de
abordagens de desenvolvimento em vá-
crições para métodos e processos de métodos. Uma configuração de método
desenvolvimento. Esse Conteúdo do rios modelos de ciclo de vida, incluindo
é, simplesmente, uma seleção dos plug-
Método e Processos não precisa ser li- ciclos de vida em cascata, incrementais
ins e pacotes de métodos.
mitado à engenharia de software, mas e iterativos. Você também pode definir Você cria e especifica uma configura-
também pode abranger outras discipli- processos no EPF que utilizam um con- ção utilizando o editor de configura-
nas de engenharia, como engenharia junto mínimo de Conteúdo do Método ções, como pode ser visto na Figura 6.
mecânica, transformação de negócios, para definir processos para equipes ágeis Você pode começar criando sua própria
ciclos de venda, etc. e auto-organizadas. configuração de método ou copian-
Ele também permite que você catego- Na Figura 5 temos um exemplo de pro- do uma das configurações existentes
rize seu conteúdo com base em um con- cesso apresentado como uma estrutura no EPF e modificá-la para que esta
junto de categorias pré-definidas (por de divisão de atividades aninhadas, bem se adapte às suas necessidades. Você
exemplo, categorizar suas tarefas em como um fluxo de trabalho ou diagrama pode incluir ou remover os plug-ins de
disciplinas de desenvolvimento ou seus de atividades. método por completo, bem como fazer
produtos de trabalho em domínios) ou O EPF fornece um editor de processo a seleção com cada plug-in, marcando
crie seus próprios esquemas de catego- que suporta diferentes visualizações ou desmarcando pacotes. As configu-
rização para o conteúdo, indexando da de estrutura de divisão de trabalho, rações de métodos são utilizadas para
maneira desejada. bem como apresentações gráficas do a publicação.
Visão geral de publicação apenas o conteúdo que faz parte da do como o nome de arquivo para o item. É
Uma configuração publicada é um configuração do método. Ela também recomendável utilizar nomes de arquivos
Web site HTML que apresenta todos adotará, automaticamente o conteúdo com todas as letras em minúsculo, sem es-
os conteúdos do método e processos para a configuração, removendo re- paços e caracteres especiais (para manter
da configuração de método em forma ferências de elementos do Conteúdo compatibilidade com outras plataformas).
passível de procura e de navegação. do Método não selecionados na con- O Nome da Apresentação é o nome mos-
Ela utiliza os relacionamentos estabe- figuração, ou removendo atividades trado nas páginas publicadas. Diferente-
lecidos durante a autoria dos Processos dos processos que contêm Tarefas que mente do campo Nome, o campo Nome
e do Conteúdo do Método para gerar estão fora da configuração da publi- da Apresentação pode conter caracteres
hyperlinks entre elementos, bem como cação. Portanto, a publicação incluirá maiúsculos, espaços e símbolos especiais,
fornece navegadores de árvore com apenas o conteúdo que for realmente como o caractere de marca registrada.
base na visualização de configuração necessário. Você pode visualizar uma Primeiramente, criaremos um novo
e nas categorizações do conteúdo defi- configuração publicada utilizando a plug-in de método; em seguida, criare-
nidas pelo usuário. A Figura 7 mostra perspectiva de procura do EPF. mos um novo pacote de conteúdo dentro
um exemplo da configuração do méto- dele. Para isso:
do publicada. No endereço http://epf. Como criar um conteúdo de método • Certifique-se de que esteja na pers-
eclipse.org/wikis/openuppt/ é possível Vamos agora mostrar passo a passo pectiva Autoria ;
ver um exemplo de publicação. como criar o conteúdo de método se- • Utilize o menu Arquivo e selecione
Para publicar, basta criar e selecionar guindo a documentação do EPF. Com o Novo, em seguida, Plug-in de Método,
uma configuração. Por exemplo, você conteúdo de método criado você poderá como na Figura 8. Dessa forma o assistente
pode criar uma publicação com pro- criar seus processos e publicações. Ou- Novo Plug-in de Método é apresentado;
cessos importantes para uma equipe tros tópicos como estender um conteúdo • No assistente Novo Plug-in de Méto-
de requisitos utilizando o Conteúdo de método existente, como criar/adaptar do (Figura 9), forneça um nome para o
do Método corporativo. Para isso, bas- processos e configurar publicações serão novo plug-in. Neste exemplo chamamos
ta criar uma configuração com apenas apresentados nos próximos artigos. de “my_plug-in”;
os plug-ins e pacotes de métodos re- Os elementos do método e do processo • Selecione base_concepts (Figura 9)
ferentes a requisitos. O assistente de utilizam dois nomes: Nome e Nome da no painel Plug-ins referenciados: e cli-
publicação fará o restante, e publicará Apresentação. O campo Nome é utiliza- que em Concluir. Isso significa que seu
6. Configurações de Método
Figura 6
• Repita o processo para todo conteú- percorrer toda a hierarquia do conteúdo Links
do necessário; criado. Selecionando a função (Papel)
• Depois de criados os artefatos do de arquiteto na arvore de navegação, o Eclipse Process Framework Project (EPF)
http://www.eclipse.org/epf/
seu método, crie os Relacionamentos EPF mostra graficamente os relaciona-
desses artefatos selecionando uma das mentos desta Função com suas Tarefas Getting Started
http://www.eclipse.org/epf/general/getting_started.php
guias de associação (conforme mostra- e seus Produtos de trabalho.
do da Figura 16). Cada guia destacada EPF Wiki
http://epf.eclipse.org/
na Figura 16 representa um tipo de ar- Conclusão
tefato que podemos associar à tarefa O EPF fornece ferramentas, um meta- Who will benefit from EPF
http://www.eclipse.org/proposals/beacon/Who%20
que esta sendo editada, por exemplo, modelo unificado e conteúdos que po- will%20benefit%20from%20Eclipse%20Process%20
se selecionarmos a guia Funções (Pa- dem ser usados como a base para man- Framework.pdf
peis) poderemos escolher qual papel ter ou criar uma grande variedade de
do seu método será responsável por processos de TI, como processos de go-
essa tarefa. vernança SOA e processos de desenvol- Dê seu feedback sobre esta edição! Feedback
eu
• Finalmente, podemos gerar uma pu- vimento de So ware. Essas ferramentas
s
Dê
A Engenharia de Software Magazine
sobre e
blicação com o conteúdo criado, onde é fornecem recursos para seleção, perso- tem que ser feita ao seu gosto.
possível navegar com os links gerados nalização e rápida montagem de proces- Para isso, precisamos saber o que você,
s
ta
d i çã o e
automaticamente. Observe um exemplo sos, onde é possível utilizar processos leitor, acha da revista!
de publicação, na Figura 17, onde pode- pré-defi nidos, como o XP e o OpenUP, e Dê seu voto sobre este artigo, através do link:
mos navegar no método criado usando adaptá-los às necessidades de um proje- www.devmedia.com.br/esmag/feedback
a arvore de navegação, que possibilita to específico ou da organização.
S
egundo Cem Kaner, autor do livro mento, gasta-se mais tempo executando
“Lessons Learned in So ware Tes- testes regressivos do que testando as
ting”, o propósito da automação de novas funcionalidades.
testes pode ser resumidamente descrito Uma abordagem de testes baseada pu-
como a aplicação de estratégias e ferra- ramente em testes manuais, normalmen-
mentas tendo em vista a redução do en- te não consegue acompanhar as deman-
volvimento humano em atividades ma- das e o volume de testes ao longo do ciclo
nuais repetitivas. de vida de desenvolvimento de so ware.
A automação possibilita a execução de Freqüentemente o produto é liberado
testes regressivos com maior amplitude sem que tenha sido completamente tes-
e profundidade. Teste regressivo ou teste tado em virtude de restrições de tempo.
de regressão é o termo utilizado para o A automação de testes quando utili-
Cristiano Caetano ciclo de re-teste de uma ou mais funcio- zada corretamente permite a execução
c_caetano@hotmail.com nalidades, a fim de identificar defeitos ininterrupta de testes regressivos a qual-
É certificado CBTS pela ALATS. Consultor de teste
de software sênior com mais de 10 anos de ex- introduzidos por novas funcionalidades quer hora do dia ou da noite. A execução
periência, já trabalhou na área de qualidade e ou correção de defeitos. de testes automatizados é sempre mais
teste de software para grandes empresas como A cada novo ciclo de teste, o time de rápida do que os testes manuais e menos
Zero G, DELL e HP Invent. É colunista na área de testes normalmente executa os testes suscetível a erros.
Teste e Qualidade de software do site linhadeco-
digo.com.br e autor dos livros “CVS: Controle de das novas funcionalidades e os testes A decisão de usar uma abordagem de
Versões e Desenvolvimento Colaborativo de Sof- regressivos das demais funcionalida- testes baseada em testes automatizados
tware” e “Automação e Gerenciamento de Testes: des. Dessa forma, é possível encontrar está em franca expansão na atualidade.
Aumentando a Produtividade com as Principais algum efeito colateral ou instabilidade Uma pesquisa realizada em 2006 pelo
Soluções Open Source e Gratuitas”. Criador e
mantenedor do portal TestExpert: A sua comuni- introduzida pela nova funcionalidade. Forrester Research Inc, revela que 9% das
dade gratuita de teste e qualidade de software O grande problema ocorre quando em empresas entrevistadas (empresas do Es-
(www.testexpert.com.br). um estágio avançado do desenvolvi- tados Unidos e Europa) utilizam testes
Dessa forma, apenas um único script de- conjunto com analistas e testadores. A abrir o endereço da página e a digitação
verá ser capturado. Durante a captura (Cap- principal função dos testes de aceitação dos valores nos campos (valor do imóvel,
ture) ou posteriormente, todos os dados é definir os passos e critérios para aceitar valor do financiamento, etc).
constantes, poderão ser trocados por refe- um requisito (ou uma user story). As palavras-chaves também poderão
rências aos dados contidos no Test Datapool, Nesta abordagem, os testes automati- representar cliques nos botões para rea-
como pode ser visto na Listagem 2. zados são realizados por meio da inter- lizar o cálculo da simulação e a valida-
Como você deve ter notado no trecho face gráfica da aplicação. No entanto, os ção do resultado esperado do teste, ou
de código da Listagem 2, os dados cons- testes são baseados em palavras-chaves seja, o critério de aceitação do teste. Não
tantes foram trocados por comandos em (keywords). Normalmente a ferramenta existem limites para as ações que uma
Java que representam o mecanismo utili- de automação oferece um conjunto pré- palavra-chave possa realizar, exceto, as
zado pelo Rational Functional Tester para definido de palavras-chaves para permi- limitações impostas pela ferramenta de
referenciar os dados contidos no Test Da- tir a criação dos testes. testes automatizados.
tapool. Assim, em vez do dado constante Cada palavra-chave é um comando em A título de exemplo, vamos demonstrar
“Marcos”, você encontrará o comando in alto nível (praticamente em linguagem essa abordagem utilizando a ferramenta
putChars(dpString(“AbertoPor”)). nativa) que representa uma ação do usu- Open Source Selenium IDE. O Selenium
O Rational Functional Tester, por sua ário. Dessa forma, os testes são facilmente IDE suporta a criação de testes automa-
vez, durante a execução do teste automa- entendidos (e até escritos) pelos usuários fi- tizados para aplicações WEB dirigidos
tizado trocará todas as referências pelos nais em virtude do alto nível de abstração. à palavra-chave (Keyword-Driven), como
dados contidos no Test Datapool. Dessa Para ilustrar, consideremos um exem- pode ser observado na Figura 5.
forma, a execução do teste se repetirá en- plo prático. Suponha que seja necessário Como você pode perceber na Figura 5,
quanto existirem dados no Test Datapool. criar um teste para validar o mecanismo a coluna “Command” representa a pala-
Uma das principais vantagens dessa de simulação de crédito imobiliário de vra-chave e as colunas “Target” e “Value”
abordagem é a reutilização dos scripts, o um website de uma instituição financei- representam os argumentos. Apesar do
que conseqüentemente diminui a com- ra. Neste cenário, o usuário final poderá fato que as palavras-chaves estão escri-
plexidade e o tempo de manutenção. escrever um teste de aceitação por meio tas em inglês, podemos notar claramente
Por outro lado, nesta abordagem tam- de palavras-chaves (keywords). As pala- as ações para abrir o endereço da página
bém existe uma forte dependência da es- vras-chaves representam os passos para (Open), digitação dos valores nos campos
tabilidade da interface gráfica. Se a inter-
face gráfica mudar, os testes falham. Além
disso, os mecanismos oferecidos pelas fer-
ramentas de automação que permitem a
criação de testes automatizados dirigidos
a dados não são muito robustos. Muitas
vezes não é possível criar testes dirigidos
a dados aninhados com outros testes di-
rigidos a dados ou definir critérios para
usar apenas um subconjunto dos dados
existentes com base em alguma condição
durante a execução do teste.
Por fim, é importante destacar que o
conceito de testes automatizados dirigi-
dos a dados é muito mais amplo do que
possa parecer. Apesar de classificarmos 4. Test Datapool contendo os dados variáveis de um teste data
Figura 4 data-driven.
driven
essa abordagem como uma abordagem
de teste automatizado independente e Listagem 2. Os dados constantes são convertidos em referências ao Test Datapool
baseada na interface gráfica, ela pode ser import resources.CadastroHelper;
aplicada em qualquer outro tipo de teste import com.rational.test.ft.*;
import com.rational.test.ft.object.interfaces.*;
automatizado descrito neste artigo. import com.rational.test.ft.script.*;
import com.rational.test.ft.value.*;
import com.rational.test.ft.vp.*;
Testes automatizados dirigidos à public class Cadastro extends CadastroHelper
palavra-chave (Keyword-Driven) {
public void testMain(Object[] args)
Esta abordagem foi criada para dar su- {
Descricao().click(atPoint(147,8));
porte aos testes de aceitação (Acceptance Formulario().inputChars(dpString(“Titulo”));
AbertoPor().click(atPoint(147,8));
Tests) preconizados por metodologias Formulario().inputChars(dpString(“AbertoPor”));
ágeis, tais como o XP (Extreme Program- Responsavel().click(atPoint(115,13));
Formulario().inputChars(dpString(“Responsavel”));
ming). Os testes de aceitação são normal- BotaoGravar().click(atPoint(42,8));
}
mente definidos pelo usuário final em }
a criação de testes complexos e robustos arquivos com os dados dos boletos de co- Uma vez que esta infra-estrutura estiver
por meio de uma linguagem de progra- brança. Os bancos usam o padrão FEBRA- pronta, será possível executar os testes ba-
mação de alto nível (Java, C++, C#, etc). BAN CNAB 400 ou 240 para intercambiar seados num Test Harness. Basicamente, o
Por esta razão, os testes automatiza- informações digitalmente entre o sistema Test Harness deverá ler um arquivo de en-
dos baseados em API viabilizam a cria- de informática do banco e o do cliente (ou trada contendo todos os dados das vendas.
ção de testes automatizados com maior seja, a aplicação que será testada). Com base nesses dados, o Test Harness
profundidade e amplitude, sem que seja A realização dos testes desse cenário hi- exercitará as funcionalidades da aplicação
necessário interagir com a interface grá- potético por meio de uma abordagem de por meio de uma API ,ou outro mecanis-
fica da aplicação. testes manuais seria enfadonha (repetitiva), mo, sem interagir com a interface gráfica.
Os testes automatizados baseados em demorada e suscetível a erros. A realização A aplicação, por sua vez, irá gerar os
API representam a evolução natural dos dos testes deste cenário por meio da auto- arquivos com os dados dos boletos de
testes automatizados baseados na linha mação baseada na interface gráfica também cobrança com base nas informações e
de comando. No entanto, a robustez e a seria muito demorada. Tanto para gravar e ações realizadas pelo Test Harness. Por
flexibilidade oferecidas por esta abor- criar os testes quanto para reproduzi-los. fim, o Test Harness deverá comparar os
dagem exigem grandes modificações no Além disso, as ferramentas de automação arquivos gerados pela aplicação contra
código da aplicação para criar e expor as de testes baseadas na interface gráfica nem arquivos pré-definidos (gerados previa-
APIs ao mundo exterior. sempre oferecem recursos para o desenvol- mente para serem usados como base de
Test Harness vimento de um mecanismo robusto para comparação) e apresentar os resultados
O Test Harness é um tipo de automação realizar validações complexas, tal qual as indicando os testes que foram executa-
de testes baseado na Lógica de Negócio validações que deverão ser realizadas nos dos com sucesso ou falharam (Figura 6).
que prega o uso racional e inteligente arquivos bancários do nosso exemplo. Dessa forma, conforme mencionamos
da automação. O Test Harness pode ser Por outro lado, um Test Harness é a anteriormente, este tipo de automação de
implementado por meio de um pequeno combinação da criação de um pequeno testes prega o uso racional e inteligente
programa construído para testar uma programa utilizando uma linguagem de da automação. Em termos práticos, isto
API, uma interface de linha de comando, programação robusta (Java, C++, C#, etc) significa que os esforços e as modificações
ou até mesmo ganchos “Hooks” projeta- e a decisão inteligente de criar somente requeridas para utilizar o Test Harness são
dos na aplicação para este fim. a API ou interface de linha de comando muito menores se compararmos com os
Um ganho, ou Hook, é uma funciona- necessária para a realização do teste. testes automatizados baseados em API.
lidade ou comportamento da aplicação Assim, para executar os testes do ce- Além disso, normalmente a velocida-
que não tem valor do ponto do vista do nário exposto anteriormente por meio de da execução de um Test Harness é
usuário final. Normalmente não é do- d e um Test Harness, será necessário substancialmente maior do que outras
cumentado nem acessível pela interface primeiro criar uma API, Hook, ou inter- abordagens, em virt ude de que o Test
gráfica. Mas, no entanto, é um recurso face de linha de comando para expor Harness é um pequeno programa espe-
que tem a finalidade de tornar a aplica- ao mundo exterior a funcionalidade cializado apenas em uma única função.
ção mais fácil de testar (testabilidade), que cadastra as vendas e a funcionali- Isto torna o Test Harness a melhor opção
tanto do ponto de vista do teste manual, dade que gera os arquivos com os da- para a realização de testes que exigem
quanto do teste automatizado. dos dos boletos de cobrança. centenas de milhares de repetições, tes-
Nesta abordagem, não importa o meio Também será necessário criar o Test Har- tes de funcionalidades que realizam cál-
no qual o teste será realizado (contanto ness propriamente dito, ou seja, um peque- culos complexos e assim por diante.
que não ocorra interação com a interface no programa desenvolvido em uma lingua-
gráfica). O objetivo é exercitar as funciona- gem de programação (Java, C++, C#, etc) cujo Conclusão
lidades críticas da aplicação que exigem de- único objetivo é realizar o teste em questão Neste artigo notamos a diversidade das
zenas e milhares de cálculos ou repetições (por meio da API, Hook, ou interface de li- abordagens para a automação de testes.
virtualmente impossíveis (ou demoradas) nha de comando criada para este fim). Em resumo, não existe uma solução que
de serem testadas por meios normais.
Para ilustrar, consideremos um exemplo Listagem 3. Teste automatizado baseado numa API utilizando uma linguagem de script
prático e simples. Suponha que seja neces-
Set appWord = Wscript.CreateObject(“Word.Application”)
sário simular 10 mil tipos de vendas dife- appWord.Visible = TRUE
appWord.Documents.Open(“C:\Teste.doc”)
rentes numa aplicação hipotética. As vari- appWord.Selection.TypeText Text:=”teste de software”
áveis destas vendas incluem centenas de appWord.Selection.HomeKey Unit:= wdLine
appWord.Selection.Range.HighlightColorIndex = wdYellow
tipos de produtos diferentes, diversas for- appWord.Selection.Font.Color = wdColorRed
appWord.Selection.Font.Bold = wdToggle
mas de pagamentos, alíquotas diferentes e appWord.Selection.Find.ClearFormatting
With appWord.Selection.Find
combinações entre todas essas variáveis. .Text = “teste”
Entretanto, o objetivo do teste não é a rea- .Forward = True
End With
lização das vendas, mas exercitar e validar appWord.Selection.Find.Execute
appWord.Quit
o mecanismo (funcionalidade) que gera os Set appWord = Nothing
Links
Site do Selenium
http://www.openqa.org/selenium/
FEBRABAN
http://www.febraban.org.br/
s
Dê
A Engenharia de Software Magazine
sobre e
tem que ser feita ao seu gosto.
Para isso, precisamos saber o que você,
s
ta
d i çã o e
leitor, acha da revista!
Dê seu voto sobre este artigo, através do link:
www.devmedia.com.br/esmag/feedback
Figura 6. Exemplo das etapas de execução de um Test Harness.