Você está na página 1de 68

ISSN 1983127-7

9 771983 127008 00004


EDITORIAL
“As metodologias ágeis como a Extreme Programming (XP)
e o Scrum, entre outras, têm despertado atenção crescente
do mercado. Esse movimento, baseado no ciclo de desenvol-
vimento incremental e iterativo, está focado na colaboração
Ano 1 - 4ª Edição 2008 - Impresso no Brasil do cliente, no valor dos indivíduos e na adaptação às mu-
Corpo Editorial danças, tendo mostrado ganhos de produtividade nos mais
Colaboradores diversos tipos de projetos de desenvolvimento de software.”
Rodrigo Oliveira Spínola
rodrigo@sqlmagazine.com.br “A escolha da metodologia mais adequada para o desenvol-
Marco Antônio Pereira Araújo
vimento de software em uma organização não é uma tarefa
Eduardo Oliveira Spínola trivial. As metodologias ágeis têm despertado o interesse do
Editor de Arte mercado, apresentando evidências de melhoria na produtivi-
Vinicius O. Andrade dade, mas, para que possam ser efetivamente usadas em lar-
viniciusoandrade@gmail.com
ga escala, precisam provar alguns de seus pontos de vista.”
Diagramação
Compublix – Cia. de Publicações Especiais Neste contexto, a Engenharia de Software Magazine desta-
Revisão ca nesta edição uma matéria cujo propósito é verificar quan-
Gregory Monteiro titativamente alguns pontos de interesse, identificando a
gregory@clubedelphi.net
presença das metodologias ágeis no mercado, o estado atual
Na Web
www.devmedia.com.br/esmag do movimento ágil e a pouca disponibilidade de estudos de
Apoio
caso que possam ser usados como fonte sistemática de resul-
tados para comparação. Uma leitura muito interessante!
Em complemento a esta discussão sobre abordagens ágeis
para apoiar o desenvolvimento de software, gostaríamos de
destacar também uma matéria introdutória sobre o Scrum. O
PARCEIROS: Scrum é um framework de processo ágil utilizado para geren-
ciar e controlar o desenvolvimento de um produto de software
através de práticas iterativas e incrementais. Nesta edição você
conhecerá em detalhes os principais conceitos que o norteiam.
Além destas duas matérias, esta quarta edição traz mais
seis artigos:
Rodrigo Oliveira Spínola
rodrigo@sqlmagazine.com.br • Modelagem de Processos de Negócio;
Doutorando em Engenharia de Sistemas e Computação (COPPE/UFRJ). Mestre em • Tendências na área de Gestão de Riscos em Ambientes
Engenharia de Software (COPPE/UFRJ, 2004). Bacharel em Ciências da Computação
de Desenvolvimento de Software;
(UNIFACS, 2001). Colaborador da Kali Software (www.kalisoftware.com), tendo mi-
nistrado cursos na área de Qualidade de Produtos e Processos de Software, Requisi- • Desenvolvimento de Software Dirigido por Caso de Uso
tos e Desenvolvimento Orientado a Objetos. Consultor para implementação do MPS. Parte III: Caso de Uso de Negócio;
BR. Atua como Gerente de Projeto e Analista de Requisitos em projetos de consultoria
na COPPE/UFRJ. É Colaborador da Engenharia de Software Magazine. • Avaliação e Melhoria do Processo Organizacional (AMP)
Alinhada ao MPS.BR e PGQP;
Marco Antônio Pereira Araújo • Introdução à Automação de Testes;
(maraujo@devmedia.com.br)
É Doutorando e Mestre em Engenharia de Sistemas e Computação pela COPPE/ • Eclipse Process Framework: Um ambiente de Engenharia de
UFRJ – Linha de Pesquisa em Engenharia de Software, Especialista em Métodos Software livre para publicar e manter métodos e processos.
Estatísticos Computacionais e Bacharel em Matemática com Habilitação em
Desejamos uma ótima leitura!
Informática pela UFJF, Professor dos Cursos de Bacharelado em Sistemas de
Informação do Centro de Ensino Superior de Juiz de Fora e da Faculdade Meto- Equipe Editorial Engenharia de Software Magazine
dista Granbery, Analista de Sistemas da Prefeitura de Juiz de Fora. É editor da
Engenharia de Software Magazine.

Eduardo Oliveira Spínola Dê seu feedback sobre esta edição!


(eduspinola@gmail.com)
É Colaborador das revistas Engenharia de Software Magazine, Java Magazine e A Engenharia de Software Magazine tem que ser feita ao seu gosto. eu
Feedback
Para isso, precisamos saber o que você, leitor, acha da revista!
s

SQL Magazine. É bacharel em Ciências da Computação pela Universidade Salva-


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:

01 – Engenharia de Requisitos 05 – Projeto


Título: Introdução à Engenharia de Requisitos - Parte 10 Título: Implementando Padrões de Projeto na Prática – Parte 1
Autor: Rodrigo Oliveira Spínola Autor: Marco Antônio Pereira Araújo
Mini-Resumo: Esta vídeo aula é parte de um curso de introdução à engenharia de requisitos. Mini-Resumo: Esta vídeo aula apresenta a implementação prática dos padrões
Nesta décima parte. São apresentados conceitos relacionados aos requisitos de domínio. de projeto Singleton e DAO (Data Access Object) numa aplicação para a Web.

02 – Engenharia de Requisitos 06 – Projeto


Título: Introdução à Engenharia de Requisitos - Parte 11 Título: Implementando Padrões de Projeto na Prática – Parte 2
Autor: Rodrigo Oliveira Spínola Autor: Marco Antônio Pereira Araújo
Mini-Resumo: Esta vídeo aula é parte de um curso de introdução à engenharia Mini-Resumo: Esta vídeo aula apresenta a implementação prática do padrão
de requisitos. Nesta décima primeira parte iremos entender os principais conceitos de projeto MVC (Model – View – Controller) numa aplicação para a Web.
relacionados a diagramas de casos de uso.
07 – Projeto
03 – Engenharia de Requisitos Título: Implementando Padrões de Projeto na Prática – Parte 3
Título: Introdução à Engenharia de Requisitos - Parte 12 Autor: Marco Antônio Pereira Araújo
Autor: Rodrigo Oliveira Spínola Mini-Resumo: Esta vídeo aula apresenta a implementação prática dos padrões
Mini-Resumo: Esta vídeo aula é parte de um curso de introdução à engenharia de de projeto Facade e Command numa aplicação para a Web.
requisitos. Nesta décima segunda parte daremos continuidade à discussão sobre os
principais conceitos relacionados a diagramas de casos de uso. 08 – Projeto
Título: Implementando Padrões de Projeto na Prática – Parte 4
04 – Planejamento e Gerência de Projetos Autor: Marco Antônio Pereira Araújo
Título: Introdução ao MS Project - Parte 03 Mini-Resumo: Esta vídeo aula apresenta a implementação prática do padrão
Autor: Rodrigo Oliveira Spínola de projeto Factory Method numa aplicação para a Web.
Mini-Resumo: Esta vídeo aula apresenta as funcionalidades básicas do MS Project. Nesta
terceira parte veremos como trabalhar com o conceito de baseline e caminho crítico.

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

30 - Por que SCRUM?


Publicidade Isabella Fonseca e Alberto Campos
Para informações sobre veiculação de anúncio na revista ou no site entre
em contato com: 36 - Tendências na área de Gestão de Riscos em Ambientes de Desenvolvimento
Kaline Dolabella de Software
publicidade@devmedia.com.br
Cristine Gusmão
Fale com o Editor!
44 - Desenvolvimento de Software Dirigido por Caso de Uso
É muito importante para a equipe saber o que você está achando da revista: que
tipo de artigo você gostaria de ler, que artigo você mais gostou e qual artigo Vinicius Lourenço de Sousa
você menos gostou. Fique a vontade para entrar em contato com os editores e
dar a sua sugestão! 50 - Eclipse Process Framework
Se você estiver interessado em publicar um artigo na revista ou no site SQL Ma-
gazine, entre em contato com os editores, informando o título e mini-resumo Gustavo Serafim
do tema que você gostaria de publicar:
Rodrigo Oliveira Spínola - Colaborador 60 - Introdução à Automação de Testes
editor@sqlmagazine.com.br Cristiano Caetano
Avaliação e Melhoria do Processo
Organizacional (AMP)
Alinhada ao MPS.BR e PGQP

De que se trata o artigo:


Processo de Avaliação e Melhoria do
Processo Organizacional (AMP) alinha-
do ao MPS.BR e PGQP.

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

6 Engenharia de Software Magazine – Avaliação e Melhoria do Processo Organizacional (AMP)


PROCESSOS

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)

Edição 04 – Engenharia de Software Magazine 7


1. Compreender as características do proces-
so para poder avaliar os fatores que influen-
ciam a obtenção da capacidade esperada;
2. Planejar as ações para atender as me-
lhorias do processo;
3. Avaliar os impactos, bem como os be-
nefícios obtidos com relação à mudança
implementada no processo.
Dentro deste contexto, o processo de
AMP possui 10 resultados esperados ali-
nhados com os objetivos de melhoria de
processo, que estão listados no Quadro 1.
É importante salientar que alguns destes
resultados estão ligados a outras áreas de
processo do MPS.BR, como por exemplo,
a Gerência de Recursos Humanos, pois
ao avaliar um processo, o fator de influ-
ência que está impedindo que o processo
Figura 2. Evolução e estágios de maturidade da gestão da FNQ
atinja sua capacidade esperada pode estar
AMP 1 - A descrição das necessidades e os objetivos dos processos da organização são estabelecidos e mantidos; relacionado a falta de treinamento e não
oportunidades de melhoria ao processo.
AMP 2 - As informações e os dados relacionados ao uso dos processos padrão para projetos específicos existem e são mantidos;
Nestes casos, o tratamento deve ser enca-
AMP 3 - Avaliações dos processos padrão da organização são realizadas para identificar seus pontos fortes, pontos minhado de acordo com esta gerência.
fracos e oportunidades de melhoria; Para identificar melhorias em processos,
AMP 4 - Registros das avaliações realizadas são mantidos acessíveis; práticas como auditorias, realização de ava-
AMP 5 - Os objetivos de melhoria dos processos são identificados e priorizados; liações formais ou informais baseadas em
MPS.BR ou CMMI colaboram para o atingi-
AMP 6 - Um plano de implementação de melhorias nos processos é definido e executado, e os efeitos desta implemen-
mento deste resultado esperado de AMP.
tação são monitorados e confirmados com base nos objetivos de melhoria;
Com o apoio da aplicação de avalia-
AMP 7 - Ativos de processo organizacional são implantados na organização; ções, oportunidades de melhoria, pontos
AMP 8 - Os processos padrão da organização são utilizados em projetos a serem iniciados e, se pertinente, em projetos fracos e pontos fortes também podem ser
em andamento; identificados, sendo possível observar
AMP 9 - A implementação dos processos padrão da organização e o uso dos ativos de processo organizacional nos em que etapas do processo há necessi-
projetos são monitorados; dade de alterações, bem como a avalia-
ção da exclusão do processo quando não
AMP 10 - Experiências relacionadas aos processos são incorporadas aos ativos de processo organizacional.
agrega valor aos resultados de negócio.
Quadro 1. Resultados Esperados de AMP
Outra forma de identificar melhorias é a
negócio, todos conseguem compreender Este artigo apresenta o alinhamento do partir de reuniões de post mortem, realiza-
melhor seu papel e a direção para qual a processo de Avaliação e Melhoria do Pro- das ao finalizar o projeto, na qual não fica
organização caminha. Já no nível Rumo a cesso Organizacional do MPS.BR Nível E restrita somente a avaliação das atividades
Excelência, as organizações estão em está- com o nível de maturidade Compromisso e do andamento do projeto encerrado, mas
gio intermediário e possuem os processos com a Excelência. também dá oportunidade da equipe apon-
delineados, postura proativa e começam a tar melhorias (pontos fracos e pontos for-
atender de forma consistente aos requisi- Avaliação e Melhoria do Processo tes) no processo aplicado no projeto.
tos das partes interessadas, podendo atin- Organizacional O parecer da equipe pode e deve ser
gir níveis de desempenho em algumas Avaliação e Melhoria do Processo Orga- apontado não somente após concluir o
áreas superiores aos seus concorrentes. nizacional (AMP) é o processo do MPS.BR projeto. Sempre que identificadas melho-
Por fim, as organizações no nível Exce- Nível E que tem por objetivo a avaliação rias nos processos a equipe pode apontá-
lência estão em estágios avançados no ca- periódica dos processos organizacionais, las quando sua resolução tenha influên-
minho da excelência. Possuem um siste- apoiando a melhoria contínua com base nos cia para o bom andamento do projeto.
ma de gestão delineado e implementado, seus pontos fortes e pontos fracos. Além dis- Mas nada vale a identificação da me-
avaliam e melhoram de forma rotineira os so, assegura que apenas serão executados os lhoria sem sua implementação. Após a
seus resultados e as suas práticas de ges- processos que realmente são necessários identificação, planos de ação e prioridades
tão, além de apresentar resultados acima para a obtenção dos objetivos de negócio da devem ser estabelecidos para que as altera-
dos concorrentes em várias áreas, mas por organização. Para isso é muito importante ções sejam atendidas e aplicadas.
outro lado têm dificuldade em alcançar os entender os principais objetivos de melhoria Aqui está outro relacionamento da AMP
referenciais de excelência. de processos, conforme (SOFTEX, 2007b): com o processo Organizational Process Focus

8 Engenharia de Software Magazine – Avaliação e Melhoria do Processo Organizacional (AMP)


PROCESSOS

(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

Edição 04 – Engenharia de Software Magazine 9


do critério 7 Processos e os cruzamentos
com os respectivos resultados esperados
desta primeira coluna. Os cruzamentos são
assinalados com “X” onde o mapeamento é
objetivo e com “O”, quando subjetivo, isto
é, pode haver alguma discordância.
Cabe salientar que estes cruzamentos
foram definidos com base na experiência,
conhecimento e interpretação das autoras
e não possuem a pretensão de verdade
absoluta, podendo haver alguma discor-
dância e/ou interpretação diferente do
que está apresentado no Quadro 2.
A partir do Quadro 2 e das informações
apresentadas na seção anterior conclui-se
que ambas as referências técnicas reco-
mendam a melhoria contínua dos proces-
sos de forma alinhada com as necessida-
des de negócio da organização. Para tanto
exigem das organizações mecanismos
de controle constantes para assegurar a
agregação de valor de seus processos e a
criação de uma cultura de excelência.
Figura 4. Fases de PDCA, IDEAL, 15504 e PRO2PI-CYCLE (SALVIANO, 2006)
A seguir, um exemplo de processo de
para determinado processo com base na AMP alinhado ao MPS.BR e PGQP é
Implementando o Processo de
prevenção de não-conformidade, deve-se apresentado na Figura 5. Todavia, este
Avaliação e Melhoria do Processo
avaliar se não irá afetar outro processo exemplo visa fornecer orientações de
Organizacional
que tenha algum tipo de integração. como este processo pode ser implemen-
O propósito do processo AMP do MPS.BR
Uso de auditorias e indicadores são tado numa organização e recomenda-se
é determinar o quanto os processos padrão
exemplos de formas de identificar e con- a sua adaptação ao contexto, característi-
da organização contribuem para alcançar
trolar se a aplicação do processo está cas e realidade de cada organização. Este
os objetivos de negócio da organização e
sendo feita de maneira correta, podendo processo está representado na notação
para apoiar a organização a planejar, rea-
visualizar os desvios. ETVX (Entry criteria, Task, Verification, and
lizar e implantar melhorias contínuas nos
Além de ter mecanismos para o projeto eXit criteria), conforme (Radice, 1988).
processos com base no entendimento de
de um novo processo, o acompanhamen- Um ponto importante a ser considerado
seus pontos fortes e fracos (SOFTEX, 2007a).
to e melhorias não são atividades somente em avaliação e melhoria de processos é a
Já o propósito do critério 7 Processos do alocação de recursos humanos na equipe
para os novos processos, é necessário esta-
PGQP, no que diz respeito aos processos responsável pela elaboração de um novo
belecer formas de identificação e implan-
gerenciais, examina como a organização processo ou melhoria de um processo
tação de melhorias em processos existen-
identifica, gerencia, analisa e melhora os existente. Recomenda-se que esta alocação
tes. Este é o objetivo do marcador c.
processos principais do negócio e os pro- deva ser previamente negociada entre o su-
A execução de processos na organização
deve agregar valor aos resultados esperados cessos de apoio (FNQ, 2008). perior imediato do integrante da equipe e
destes processos. Processo é a transforma- Sendo assim, percebe-se um alinha- o patrocinador da iniciativa de qualidade
ção de entradas em resultados, decorrentes mento nos objetivos deste processo do para assegurar a sua efetiva participação.
na saída. Se a entrada tem mais valor que a MPS.BR e deste critério do PGQP, além Conforme relatado em Brietzke (2007),
saída, o processo não é necessário para or- de possuírem práticas complementares, para a seleção dos participantes desta
ganização. Deve-se avaliar a retirada deste quando seus resultados esperados e mar- equipe recomenda-se que sejam selecio-
processo ou então sua alteração. cadores, respectivamente, são analisados nados de acordo com o conhecimento e
Quais são as maneiras de identificar me- com maior detalhe. experiência no processo que será desen-
lhorias? Assim como já vimos no AMP, o O Quadro 2 pretende demonstrar esta volvido ou melhorado (especialistas do
mesmo pode ser aplicado neste marcador, relação através de um mapeamento e processo). Além disso, sugere-se a parti-
definir mecanismos para monitoramento também apoiar uma organização na im- cipação de pelo menos um representan-
como auditorias, avaliação informal (no plementação de seu processo de AMP de te do Grupo de Melhoria de Processos
caso do PGQP, auto-avaliação), retorno da forma alinhada ao MPS.BR e ao PGQP. A e um integrante da alta direção para
equipe em relação a dificuldades na apli- primeira coluna mostra os resultados espe- manter o alinhamento com os objetivos
cação do processo, uso de indicadores são rados do processo AMP do MPS.BR Nível E estratégicos da empresa e o acompanha-
formas de identificar melhorias. e nas próximas três colunas, os marcadores mento das atividades.

10 Engenharia de Software Magazine – Avaliação e Melhoria do Processo Organizacional (AMP)


PROCESSOS

AMP – Resultados Processos - Marcadores


Esperados a b c
AMP 1 X X
AMP 2 O O
AMP 3 O X
AMP 4 X
AMP 5 X X
AMP 6 X O X
AMP 7 X X
AMP 8 O O
AMP 9 X
AMP 10 X
Quadro 2. Mapeamento entre resultados esperados e marcadores

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

Além disso, o mapeamento e o conhe- MPS.BR: Site Oficial A Engenharia de Software Magazine
sobre e

www.softex.br/mpsbr/_home/default.asp tem que ser feita ao seu gosto.


cimento dos processos da organização
Para isso, precisamos saber o que você,
s

ta
permitem a compreensão e a melhoria PGQP: Site Oficial d i çã o e

www.mbc.org.br/mbc/pgqp leitor, acha da revista!


contínua, gerando um ambiente de coo-
peração, compartilhamento de informa- FNQ: Site Oficial Dê seu voto sobre este artigo, através do link:
www.fpnq.org.br/site/292/default.aspx www.devmedia.com.br/esmag/feedback
ções e trabalho em equipe.

Edição 04 – Engenharia de Software Magazine 11


U
Modelagem de Processos de Negócio N
Uma abordagem baseada em Business Process Management Notation
(BPMN), Business Process Execution Language (BPEL) e XML Process XM
Definition Language (XPDL)

De que se trata o artigo:


O artigo é uma revisão bibliográfica
a respeito de modelagem de proces-
sos de negócios baseada na notação

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.

12 Engenharia de Software Magazine – Modelagem de Processos de Negócio


PROCESSOS

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.

alidade expressa em algum tipo específi- BPMN - Business Process Modeling


controle das operações da empresa, onde
Notation (BPMN), Business Process Execution Language (BPEL) Notation
co de formalismo; e
inclui-se a introdução dos recursos da tec-
• modelo de empresa: é um tipo especí- O BPMN é uma notação gráfica sim-
nologia de informática como um dos prin-
XML Process Definition Language (XPDL)
fico de modelo formado por um conjunto
de modelos que procuram representar as
ples e poderosa para especificação visu-
cipais habilitadores para esta melhoria.
al de processos de negócio. A aborda-
Para atender a essa demanda de cons-
diferentes visões da empresa. É formado trução de um modelo da empresa, a Ob- gem foi desenvolvida para ser utilizada
por um conjunto consistente e comple- ject Management Group (OMG) criou em para a comunicação entre analistas de
mentar de modelos que descrevem os as- novembro de 2002 o primeiro rascunho negócios e analistas de sistemas para o
pectos de uma organização e que tem por de uma notação para modelagem de entendimento dos requisitos de negócio
objetivo auxiliar um ou mais usuários de processo de negócios e o denominaram a serem implementados em sistemas
uma empresa em algum propósito. de Business Process Modeling Notation computacionais. Na prática, o mode-
Nesse modelo de empresa é possível re- (BPMN 0.9 Dra ). lo se tornou tão simples que pode ser
presentar alguns elementos que irão con- Para o melhor entendimento das abor- utilizado por usuários fi nais na mode-
tribuir fortemente para o entendimento dagens técnicas que serão expostas, cabe lagem de suas atividades e, conseqüen-
empresarial, tais como: o esclarecimento sobre o que vem a ser temente, a explicação formal do que se
• a funcionalidade e comportamento da modelagem de processos de negócio. Mo- deve ser implementado.
empresa em termos de processos, atividades, delagem de Processos de Negócios signi- A especificação BPMN foi desenvol-
operações básicas e eventos envolvidos; fica desenvolver diagramas (Diagramas vida pela Business Modeling Integration
• os sistemas computacionais e os recursos de Processos) que mostram as atividades (BMI – www.bpmi.org), integrada à
físicos necessários para seu funcionamento; de uma área de negócios ou da empresa OMG no ano de 2005. A principal mis-
• os produtos, seus ciclos produtivos como um todo, e a sua seqüência de exe- são do grupo é o desenvolvimento de es-
até os processos de distribuição; cução, permitindo assim o entendimento pecificações de modelos integrados para
• os componentes físicos ou recursos, de seu funcionamento. A partir do fun- dar suporte a processos empresariais.
como máquinas, ferramentas, disposi- cionamento dos processos empresariais Essas especificações devem promover
tivos de armazenagem e movimenta- apresentados nos diagramas é possível a integração de processos internos da
ção, podendo apresentar seus layouts, verificar onde há ineficiência / ineficácia, empresa, bem como processos externos
capacidades para armazenamento ou complexidade, redundâncias e não confor- que devem se acoplar às atividades da
alocação de pessoas; midades nas atividades e remodelar o seu corporação. Assim, deve objetivar a in-
• processo, fluxo e pontos das decisões funcionamento a fim de se propor uma oti- tegração e colaboração de pessoas, sis-
que têm que ser tomadas; mização no processo atual, fazendo assim temas, processos e informações da em-
• os dados e informações, seus fluxos um desenho completamente novo. presa, incluindo parceiros de negócios e
na forma de ordens, documentos, dados Para auxiliar as discussões sobre a mode- clientes [BPMN, 2006].
discretos, arquivos de dados ou bases de lagem de processos e propor uma alterna- Algumas razões importantes têm feito
dados complexas; tiva para execução do modelo, as empresas o BPMN se sobrepor a outros padrões
• conhecimento e know-how da empre- Microso , IBM, Siebel, BEA e SAP resolve- para modelar processos e que, na es-
sa, regras específicas de decisão, políticas ram se unir e desenvolver uma linguagem sência, não tinham de fato esse objetivo,
de gerenciamento interno, regulamenta- completa e universal denominada Business como é o caso dos diagramas de ativida-
ção, entre outros; Process Execution Language (BPEL). des da UML, redes petri, IDEF0 e outros.

Edição 04 – Engenharia de Software Magazine 13


A primeira razão é a facilidade do uso
Evento Representado por objetos de círculo e são utilizados para representar o que ocorre inicial
de uma linguagem visual clara e de fácil
no curso de um processo de negócio. Os eventos representados a partir desses ob-
entendimento. Outra razão que merece
jetos geralmente afetam o fluxo do processo e têm uma causa, também chamado
destaque é a disponibilidade de recur-
de gatilho, ou um impacto, resultado da ação do processo. Os três tipos de eventos intermediário sos gráficos que podem representar dos
são: Inicial, Intermediário e Final. O evento inicial é utilizado para dar início a um
mais simples aos mais complexos pro-
processo, assim todo fluxo deve apenas sair desse evento em direção a um outro
cessos de negócio. Dessa forma, permite
elemento do BPD. O evento intermediário está entre os eventos inicial e final, e
um mapeamento dos processos agregan-
afeta o fluxo do processo, mas não inicia ou termina o processo. O evento final final
do informações técnicas e a conseqüen-
é o evento que finaliza o fluxo do processo e, dessa forma, não deve haver fluxo
te migração para modelos de execução,
saindo desse evento.
como é o caso do BPEL.
Atividade Uma atividade de um processo pode ser uma tarefa ou um sub-processo do pro- Generalizando, a notação BPMN nos per-
cesso principal. É representada por um retângulo com as bordas arredondadas e é mite representar os seguintes conceitos:
tarefas
um objeto que irá representar uma ação executada dentro da empresa. As figuras • Processos, sub-processos e atividades;
ao lado sugerem os dois tipos de atividades que podem ser desenhadas no BPD. • Loops, instanciação múltipla de ativi-
Como exemplos das atividades que podem ser representadas por esses elementos processo ou
sub-processo dades e transações de compensação;
podem ser citados: a emissão de faturas, a solicitação de um pedido, o fechamento + • Eventos de início, de fim e interme-
de caixa, entre outros. diários no processo (por exemplo, um
Gateway Um gateway é representado por um losango e é usado para controlar a conver- processo pode iniciar a partir do evento
gência e divergência de um Fluxo de Seqüência. Assim, ele determinará as de- “Email vindo do cliente”);
cisões tradicionais, bem como a quebra e junção de caminhos. Os Gateways po- • Decisões, paralelismo e sincronização
dem representar tipos de comportamento como: desvio (branching), bifurcação de processos;
(forking), fusão (merging) e junção (joining). • Organizações, departamentos e pa-
Tabela 1. Objetos de Fluxo. Fonte: [BPMN, 2006] péis que participam do processo;
• Trocas de mensagens entre organiza-
Fluxo Seqüencial O Fluxo Seqüencial é representado por uma linha e uma seta sóli- ções participantes do processo (essencial
da e é usada para mostrar a ordem (seqüência) que as atividades para representar cenários Business to Bu-
serão executadas em um processo. siness (B2B) onde, por exemplo, é comum
Fluxo de Mensagem O Fluxo de Mensagem é representado por uma linha tracejada com a integração de diferentes plataformas
uma seta aberta e é usada para mostrar o fluxo de mensagens en- de sistemas legados;
tre dois participantes do processo (entidades de negócio ou regras • Objetos de dados que tramitam ao
de negócio) que as enviam e as recebem. Em BPMN, dois Pools longo do processo [BPMN, 2007].
separados no diagrama representarão os dois participantes. Por ser uma ferramenta simples e pode-
rosa, o BPMN tem se tornado um padrão
Associação Uma Associação é representada por uma linha pontilhada com
para a modelagem de processos. Para
uma seta aberta e é usada para associar dados, texto e outros ar-
contribuir com o cenário de consolidação
tefatos com objetos do fluxo. Associações são usadas para mostrar
dessa ferramenta no mercado, a fusão
as entradas e saídas das atividades.
entre a criadora do BPMN, a BPMI, com
Tabela 2. Objetos de Conexão. Fonte: [BPMN, 2006]
a OMG (mantenedora de padrões como
CORBA e UML) vem com uma proposta
Pool Um Pool representa o agrupamento de atividades de um participante em
de incorporação do BPMN à UML. As-
um determinado processo. Um exemplo seria o agrupamento das ativida-
sim, pretende-se preencher uma defici-
name

des de um diretor da empresa envolvido no processo que está sendo mode-


ência do modelo UML que é modelagem
lado. Na representação gráfica o nome do diretor ou sua função na empresa
de processos de negócio.
entrariam como identificador do Pool onde se encontra a descrição Name.
Para representar o processo de negócio
Lane Um Lane é uma sub-partição dentro de um Pool, dividindo o Pool intei- que está sendo modelado, BPMN define o
ramente, horizontal ou verticalmente. São usados para organizar e cate- Business Process Diagram (BPD), que se ba-
name

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]:

14 Engenharia de Software Magazine – Modelagem de Processos de Negócio


PROCESSOS

• Objetos de fluxo: são utilizados para


Objeto de Dados Objetos de Dados são mecanismos que mostram como os dados são
representar o comportamento dos pro-
requeridos ou produzidos pelas atividades. Eles são conectados às ati-
cessos de negócio, formando a estrutura
vidades através das associações. Nessa representação podem ser repre-
central do BPD. Os objetos de fluxos são
sentados valores totais do custo da viagem, como: o valor da reserva do
representados por: Eventos, Atividades e
hotel, o valor do aluguel do carro, taxas, parcelas, entre outros.
Gateways (ver Tabela 1);
Grupo Um Grupo é representado por um retângulo com bordas arredondadas,
• Objetos de conexão: são utilizados
desenhado com linhas tracejadas. Agrupamento pode ser usado com
para determinar a ordem dos fluxos de
fins de documentação ou para facilitar a análise de determinado con-
mensagens, a conexão entre artefatos
junto de atividades, não afetando o Fluxo Seqüencial. As atividades de
aos objetos do fluxo ou entre atividades,
registro de reserva podem ser agrupadas para facilitar a visualização
ou podem ser utilizados também para
dentro do modelo.
representar a troca de mensagens entre
elementos do modelo. Têm três represen- Anotação Anotações são mecanismos que fornecem informação textual adicional
tações: Fluxos de Seqüência, de Mensa- para o leitor de um diagrama BPMN. Por exemplo, para o pagamento
gens e de Associação. A Tabela 2 contém das reservas do registro de reserva de viagem, podem ser incluídas no Informações
a explicação detalhada desses objetos; modelo anotações com informações complementares dos fluxos de tipo Complementares

• 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

Edição 04 – Engenharia de Software Magazine 15


permitem que sejam configurados tex- cional. As linguagens utilizadas para a Atualmente, o BPEL tem sido conside-
tualmente as propriedades de cada ele- execução do modelo do processo são co- rado como a base para os projetos base-
mento do diagrama. Pode-se configurar, nhecidas como Business Process Execution ados na arquitetura Service-Oriented Ar-
por exemplo, a linguagem de programa- Language (BPEL) ou XML PROCESS DE- chitecture (SOA). Isso tem sido um fator
ção a qual o modelo poderá ser gerado FINITION LANGUAGE (XPDL) que se- de motivação para as empresas adota-
ou a sua compatibilidade com uma lin- rão apresentadas nas sessões seguintes. rem e utilizarem Web Services em suas
guagem, o nome do processo principal, aplicações computacionais.
o nome para cada regra dos participan- BPEL - Business Process Execution O desenvolvimento do BPEL aconte-
tes do processo, bem como o tipo de Language ceu a partir de um consórcio formado
implementação a que estará vinculado O BPEL é uma linguagem baseada em entre a BEA Systems, IBM e Microsoft,
aquele processo. eXtensible Markup Language (XML) que que inicialmente objetivou a substi-
A Figura 3 apresenta a configuração busca um padrão de desenvolvimen- tuição de padrões como IBM’s WSFL
textual codificada do modelo de pro- to para que os processos de diferentes e Microsoft’s XLANG [JURI, 2006]. A
cesso da reserva de viagem apresenta- sistemas interajam e se comuniquem, partir do momento que seu meta mo-
do anteriormente. tornando essas atividades mais flexí- delo e sua especificação inicial foram
Com as configurações implementadas, veis, distribuídas e independentes de definidos, o modelo foi passado para o
é possível transformar o modelo do pro- plataforma. Além desses objetivos, o controle da organização internacional
cesso em uma linguagem. Assim, é pos- BPEL é uma ferramenta para promo- OASIS, que atualmente é responsável
sível simular a execução do processo dia- ver o seqüenciamento, a coordenação e por sua evolução.
gramado, ou mesmo gerar código XML, o gerenciamento de conversações entre Apesar das definições encontradas na
que poderá servir para integração ou Web Services dentro de uma aplicação de literatura a respeito da linguagem, ain-
comunicação com um sistema computa- negócio [BOLI, 2006]. da há divergência por parte de alguns
players com relação ao seu conceito. A
Oracle e IBM consideram o BPEL como
sendo uma linguagem de programação
para execução de processos, já a Micro-
so a considera como sendo uma interfa-
ce de comunicação e importação/expor-
tação de regras de processos. A Microso
utiliza esse fundamento em seu aplicati-
vo Biz Talk Server, onde o seu objetivo é
a integração de sistemas e processos que
podem exportar suas regras de negócios
para o modelo BPEL.
O funcionamento do BPEL está basica-
mente atrelado às atividades de comuni-
cação. Com bases técnicas, pode-se des-
crever que essas comunicações se dão a
Figura 3 3. Configurações textuais do processo de registro de
reserva de viagem (adaptado de [WHIT, 2005]). partir de atividades como [JURI, 2006]:

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>

<!-- Another nine messages are defined -->

16 Engenharia de Software Magazine – Modelagem de Processos de Negócio


PROCESSOS

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

Edição 04 – Engenharia de Software Magazine 17


entre sistemas, de acordo com as
características dos diferentes cená-
rios empresariais. Em todos os ca-
sos, o processo de intercâmbio deve ser
expresso de forma consistente a fim de
se obter um conjunto comum de objetos,
relacionamentos e atributos expressando
seus conceitos subjacentes.
Dessa forma, é possível que diferentes
sistemas computacionais com diferentes
modelos de processos de negócio intera-
jam com base em uma linguagem padrão
baseada em XML.
A Figura 4 apresenta um contexto
da interação de modelos de negócio e
sua transformação na linguagem co-
mum baseada na normatização XPDL.
O meta-modelo representado descreve
as entidades do nível mais alto que es-
tão na definição do processo, seus re-
lacionamentos e atributos e, apesar de
serem utilizadas várias notações para
modelagem dos diversos processos,
é utilizada apenas definição padrão
para a interface de dados, no caso é uti-
lizada o XPDL. Portanto, a execução, a
4. O conceito do processo de definição de intercâmbio da linguagem (adaptado de [WfMC,
Figura 4 [WfMC 2005]).
2005]) simulação e o monitoramento dos pro-
cessos são concebidos sob uma única
interface padrão de dados.
As entidades do BPMN – Swimlanes,
process activit, transition information,
participant declaration, artifact, message
flow, association entre outros [WfMC,
2005] – podem ser encontradas nas sin-
taxes do XPDL e, para cada uma nota-
ção, existe um código apropriado. Por
exemplo, a seguir pode ser observado
o código XML para a notação Swimlane
e a definição de Data Object, gerados
com base no padrão XPDL.
Outras representações podem ser
verificadas como, por exemplo, na Fi-
gura 5 onde é descrito o código de ge-
ração para o elemento DataObject da
5. Código de implementação de DataObject.
Figura 5 DataObject Fonte: [WfMC
[WfMC, 2005] notação BMPN.

6 Mapeamento dos atributos básicos do processo de negócio


Figura 6. negócio. Fonte: [WfMC
[WfMC, 2005]
2005].

18 Engenharia de Software Magazine – Modelagem de Processos de Negócio


PROCESSOS

Transformação do processo de reser-


va de viagem
Essa sessão apresenta nas Figuras 6, 7 e
8 a transformação de alguns elementos do
modelo de processo de reserva de viagem
apresentado para o respectivo código
BPEL. De um lado estão os elementos do
modelo BPM com a representação da con- 7. Mapeamento das propriedades WebServices
Figura 7 WebServices. Fonte: [WfMC
[WfMC, 2005]
2005].
figuração de cada um dos seus elementos.
Do outro, estão os respectivos códigos em
BPEL após a transformação do modelo
em uma linguagem executável.
A Figura 6 apresenta a configuração
básica do BPM com o nome principal do
processo, o tipo de linguagem de imple-
mentação, entre outras configurações.
Do lado BPEL é encontrado o código em
linguagem executável relativo à configu-
ração do modelo do processo.
Os WebServices gerados a partir de par-
te do modelo são demonstrados na Fi-
gura 7. A inicialização do processo bem
i ura 8. Mapeamento das propriedades e atributos dos objetos
Fig
Figura objetos. Fonte: [WfMC
[WfMC, 2005]
2005].
como a atividade de Serviço de Reserva
do Hotel são mapeados de forma a gera-
rem serviços para o PartnerLink que serão
transformados em WebServices em tem-
po de execução do modelo do processo
de reserva de viagens.
A Figura 8 apresenta os tipos de obje-
tos de inputs gerados a partir do BPMN
e seu respectivo código executável em
BPEL. São demonstrados na figura as
mensagens e tipos de objetos de entrada
de dados como companhia aérea e a che-
gada dos vôos mapeados.
A Figura 9 apresenta uma ilustração
do ambiente da transformação do mo-
delo em BMPN e sua forte aderência
aos processos de negócio da empresa,
em que analistas, projetistas e consul- 9. Contextualização de transformação de modelo BPMN em linguagem de execução BPEL e XPDL.
Figura 9 XPDL Fonte: [BPMN,
[BPMN 2005].
2005]
tores de estratégia de negócio estão
com seu esforço voltado a elaborar e
construir um modelo diagramático
dos processos empresarias. Enquan-
to que, ao longo da transformação do
modelo de negócios em produto execu-
tável, temos engenheiros de software,
arquitetos de sistemas e projetistas
preocupados em transformar o modelo
desenhado para uma linguagem que
possa ser executada, onde se verifica a
presença de implementação tecnológi-
ca baseada em BPEL ou XPDL.
É importante destacar que quanto
mais alto o nível, ou seja, voltado ao
desenvolvimento do negócio, mais

Edição 04 – Engenharia de Software Magazine 19


aderentes são os domínios relacio- impulsiona a utilização de abordagens do ou afastando da visibilidade de in-
nados às estratégias do negócio e os de modelagens de processos. Para Na- vestimentos ao longo do tempo.
propósitos de modelagem, nesse con- tis [NATI, 2006]: Outro indicador pesquisado pelo Gar-
texto estão fortemente envolvidos os tner Group sobre o avanço em soluções
“SOA será utilizada parcialmente em
profissionais que mais conhecem de para BPM é o investimento dos grandes
mais de 50% das novas aplicações de
todos os processos da empresa. De players do mercado. A Figura 11 apresen-
missão crítica e processos de negócio
outro lado, quanto mais voltado à im- ta uma relação desses players e os seus
criados em 2007, e mais de 80% até 2010
plementação tecnológica, mais estão principais focos de investimento para
(70% de probabilidade)”.
envolvidos os profissionais voltados à soluções de BPM.
tecnologia das linguagens trabalhan- “Organizações que comecem sua trans-
do para que os modelos de negócios formação para BPM durante 2006 e Conclusões
possam ser executados. 2007 serão recompensadas pelo domínio As considerações feitas sobre a mo-
de suas indústrias por volta de 2010. Ter delagem de processos de negócio e
O estado da arte uma arquitetura de processos (parte de a geração de código XML a partir de
Basicamente, as técnicas de modela- uma arquitetura de negócios) e alinhar as um modelo diagramático, muda sen-
gem de processos de negócio são supor- iniciativas de BPM com as iniciativas de sivelmente a visão de como modelar
tadas por representações diagramáticas SOA são atividades chaves a serem rea- os requisitos de negócio da empresa.
de fluxo de dados ou controle das ati- lizadas em 2007”. A visão do analista de sistemas, o en-
vidades de um determinado processo. O relatório do Gartner Group de no- volvimento de analistas de negócios e
Isso facilita a documentação, o entendi- vembro de 2006 aponta o crescimen- outros setores estratégicos fazem com
mento e a manutenção dos modelos. Al- to dos investimentos e pesquisas nas que haja uma aproximação entre os
guns elementos são fundamentais nesse chamadas BMP Suítes. Os métodos ba- setores tecnológicos da empresa e os
contexto, como: seados nessa suíte estarão no topo dos setores de negócio.
• atividades; investimentos nos próximos 2 a 5 anos Aparentemente estamos em um novo
• ligações entre atividades que podem e ficará entre as mais altas no gráfico limiar de visão da TI na empresa. E os
representar pontos de decisão; de evolução de ferramentas, técnicas modelos de negócio sendo executados
• padrões de coordenação, tais como o e tecnologias do grupo. A Figura 10 pela equipe técnica fazem com que uma
fluxo seqüencial e a execução paralela. apresenta os resultados do relatório visão empresarial seja mais difundida.
A facilidade do uso da notação, o onde pode ser visualizada a curva de Dessa forma, entende-se que produtos
crescimento do paradigma SOA e a crescimento das tecnologias e ferra- possam ser mais bem elaborados e mais
crescente implantação nas empresas, mentas computacionais se aproximan- próximos da realidade do usuário.

Figura 10. Gráfico de evolução de tecnologias, ferramentas, aplicativos entre outros. Fonte: Gartner Group, novembro, 2006 [NATI, 2006].

20 Engenharia de Software Magazine – Modelagem de Processos de Negócio


PROCESSOS

Além dessa melhoria, a modelagem de


processos faz com que os profissionais
saiam do campo operacional e entrem
em visões mais estratégicas da empre-
sa. Dessa forma, os investimentos pas-
sam a focar em um outro âmbito, não
só o de treinamento em ferramentas
ou linguagens de programação, mas
em formação multidisciplinar de pro-
fissionais de TI, que passam agora a
ter como demanda uma formação mais
generalista e sistêmica.

Dê seu feedback sobre esta edição! eu


Feedback
s

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 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>

Edição 04 – Engenharia de Software Magazine 21


Metodologias Ágeis
Uma Visão Prática

De que se trata o artigo: ção crítica das informações disponíveis


Avaliação da presença das metodo- sobre os resultados da aplicação das
logias ágeis no mercado de desen- metodologias ágeis em projetos reais
volvimento de software. Neste artigo, de desenvolvimento.
o autor procura verificar quantitati- Em que situação o tema é útil:
vamente alguns pontos de interesse, As metodologias ágeis, como a Extre-
identificando o estado atual do movi- me Programming (XP) e o Scrum, entre
mento ágil e a pouca disponibilidade outras, têm despertado atenção cres-
André Luiz Banki
banki@altoqi.com.br de estudos de caso que possam ser cente do mercado. Esse movimento,
Engenheiro Civil pela Universidade Federal de Santa usados como fonte sistemática de re- baseado no ciclo de desenvolvimento
Catarina (UFSC), Mestre em Engenharia Civil (na sultados para comparação. incremental e iterativo, está focado na
área de Estruturas), também pela UFSC, e Espe- Para que serve: colaboração do cliente, no valor dos in-
cialista em Engenharia de Software pelo SENAI/
Florianópolis, trabalha como Gerente de Desenvol-
Fornecer subsídios para o processo de divíduos e na adaptação às mudanças,
vimento na empresa AltoQi Tecnologia em Informá- escolha de uma metodologia de desen- tendo mostrado ganhos de produtivi-
tica Ltda., tendo sido responsável pela concepção volvimento a ser adotada por uma em- dade nos mais diversos tipos de proje-
e coordenação do desenvolvimento de diversos presa de software através de uma avalia- tos de desenvolvimento de software.
sistemas de renome nacional na área de Engenharia.

Sérgio Akio Tanaka

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

22 Engenharia de Software Magazine – Metodologias Ágeis


M E TO D O LO G I A S ÁG E I S

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.

Figura 1. Curva de Adoção de Tecnologia. Fonte: adaptado de Ambler (2006)

Edição 04 – Engenharia de Software Magazine 23


performance, aplicada a alteração de me-
todologia e efetuada nova medição. Nor-
malmente, os estudos de caso encaixam-se
nesta última categoria, com a diferença de
que não são feitos de forma controlada, es-
tabelecendo suas hipóteses apenas depois
da implantação da metodologia e não como
objetivo inicial do estudo.
Segundo Grinyer (2007), apesar do vo-
lume crescente de informação formada
pelas diversas pesquisas empíricas já
publicadas, há um consenso de que as
organizações ainda tomam pouco co-
nhecimento delas.
Nossa maior descoberta é a de que
Figura 2. Pesquisa: prazo para adoção do desenvolvimento ágil. Fonte: adaptado de Ambler (2007) há uma aparente contradição, entre a
afirmação dos desenvolvedores de que
Item da pesquisa Resultado estes precisam de evidências de melho-
rias no processo de desenvolvimento
Percentual de empresas que adotam metodologias 46%, nas empresas de porte médio, e 12%, nas empresas de
de so ware e o que os mesmos efeti-
ágeis em todos os projetos grande porte
vamente aceitam como evidências. Isto
Percentual de empresas que adotam metodologias 44% apresenta um problema de pesquisa
ágeis em algum projeto bastante sério: mesmo que os pesqui-
Principal barreira para a adoção do desenvolvi- Falta de conhecimento (51% entre os desenvolvedores, 56% en- sadores possam demonstrar uma forte
mento ágil tre os executivos) e confiável correlação entre a melhoria
Principal motivação para a adoção do desenvolvi- Melhorar a produtividade e previsibilidade no desenvolvimento no processo de desenvolvimento e a
mento ágil (para os executivos) de software (51%) melhoria para a organização como um
todo, ainda resta o problema de conven-
Principal motivação para a adoção do desenvolvi- Auxiliar no gerenciamento do escopo dos projetos (47%)
cer os desenvolvedores de que as evi-
mento ágil (para os desenvolvedores)
dências encontradas aplicam-se à sua
Tabela 1. Pesquisa sobre a aceitação das metodologias ágeis. Fonte: Projects@Work (2006)
situação em particular (RAINER et al,
Para que o desenvolvimento ágil possa paração da performance alcançada em 2003, apud GRINYER, 2007, p.45).
ser efetivamente aceito em todos os seg- dois grupos de interesse, sendo que um Com respeito às metodologias ágeis,
mentos do mercado, é necessário satis- usa uma dada metodologia e outro não. Jeffries (2005, apud GRINYER, 2007) afir-
fazer às necessidades dos diversos gru- A cada grupo, é atribuída uma tarefa; ao ma que os profissionais formam a maior
pos, os quais são muito diferentes dos final, avaliam-se itens como produtivi- parte das suas idéias pelo contato direto
“inovadores”. Ao apresentar uma nova dade e taxa de erros. São exemplos des- com outros profissionais, pelo que pos-
metodologia a uma comunidade bastan- se tipo de estudo os trabalhos de Bona sam ler rapidamente e, principalmente,
te técnica como a dos desenvolvedores (2002) e Nonemacher (2003). Harrison pela prática. Nesse sentido, os estudos
de so ware, pode-se conseguir atenção (2005) critica essa abordagem, afirmando desenvolvidos na indústria do so ware,
apontando as suas qualidades e idéias que esses estudos seriam realmente vá- em cenários similares aos da situação da
inovadoras. Por outro lado, para cruzar o lidos se envolvessem dúzias de progra- empresa na qual se trabalha, mostram-se
“abismo” e ganhar efetivamente a aten- madores, ao invés de três ou quatro, pois, valiosos na formação de opiniões.
ção das organizações situadas no seu em grupos pequenos, existe uma grande
lado direito, é necessário reunir informa- influência de fatores aleatórios. Presença dos métodos ágeis
ções e apresentá-las de forma a atingir a Uma alternativa aos estudos em laborató- no mercado
esfera gerencial, responsável pela efetiva rio é a pesquisa de campo, na qual os dados Uma questão muito importante, a qual
tomada de decisões. No decorrer deste são obtidos através de medições no desen- será sempre levantada por qualquer orga-
artigo, são fornecidos alguns dados re- volvimento de projetos reais. Todavia, para nização que estude a adoção de uma nova
centes, com respeito ao efetivo posicio- que seja obtido um número suficiente de metodologia, é a quantidade de empresas
namento das metodologias na Curva de dados, isso é feito agrupando projetos de- que já a adotam com sucesso. Infelizmen-
Adoção de Tecnologia. senvolvidos por equipes muito diferentes te, na comunidade de desenvolvimen-
em áreas também distintas, dificultando to de so ware, não existe praticamente
Dificuldades envolvidas qualquer comparação. Outra alternativa é nada determinado estatisticamente. É
Um tipo de estudo que pode ser utiliza- a da observação individual, efetuada sobre necessário valer-se de alguns poucos es-
do para a avaliação de uma metodologia um único profissional, equipe ou projeto. tudos, conduzidos informalmente, para
de desenvolvimento envolve uma com- Nesse caso, é feita uma medição inicial de verificar as tendências do mercado.

24 Engenharia de Software Magazine – Metodologias Ágeis


M E TO D O LO G I A S ÁG E I S

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)

Edição 04 – Engenharia de Software Magazine 25


alliance.org), a qual atingiu mais de 700
Categoria Nº. de fatores
profissionais, com a mesma intenção de
1 – Melhoria no processo de desenvolvimento, como resposta a repetidos fracassos em projetos 15
determinar como os processos ágeis têm
2 – Influências internas na organização (gerente, desenvolvedor sênior ou arquiteto) 11 sido implementados nas diversas orga-
3 – Fator competitivo (prazo para colocação do produto no mercado) 10 nizações. Dos 722 profissionais pesqui-
4 – Influências externas à organização (treinamento ou consultoria externa) 8 sados, mais de 25% vinham de empresas
com mais de 250 pessoas, mas apenas
5 – Resposta a requisitos em constante variação 5
18% deles trabalhavam em equipes de
6 – Acompanhamento de tendências tecnológicas e do mercado 2 mais de 10 pessoas. Esses números com-
7 – Downsizing da equipe e processo de desenvolvimento 2 provam que, embora o desenvolvimento
Total 53 ágil possa ser adaptado para empresas
Tabela 2. Fatores de adoção de uma metodologia ágil. Fonte: adaptado de Grinyer (2007) de maior porte, a grande maioria dos
projetos é desenvolvida por pequenas
equipes (BARNETT, 2006).
Essa pesquisa aponta que o desenvolvi-
mento ágil tem garantido um significan-
te retorno sobre o investimento para as
organizações que o adotam. Analisando
os fatores que levaram à adoção de uma
metodologia ágil, identificou os fatores
presentes na Figura 6.
Comparando esses resultados com os
da Tabela 2, pode-se observar que o au-
mento da produtividade e da qualidade
do so ware, aliado à capacidade de ge-
renciar requisitos em constante variação,
é o grande motivador da adoção de uma
metodologia ágil de desenvolvimento,
seja essa qualquer uma das abordadas
no presente trabalho.
Com relação às barreiras para a adoção
Figura 6. Fatores de adoção de uma metodologia ágil. Fonte: adaptado de Barnett (2006)
do desenvolvimento ágil, Barne (2006)
comenta que, no início do Movimento
A partir disso, contam-se 11 empresas uma consulta feita a três listas de dis- Ágil, o principal motivo citado era a fal-
adotando uma abordagem tradicional, cussão populares na comunidade ágil, ta de apoio por parte das gerências e da
contra 6 adotando a abordagem ágil. Em- esse autor coletou 41 relatos, relacionan- organização como um todo. Agora, isso
bora diversos autores, como Kruchten do 53 fatores que levaram à adoção de não é mais tão importante. A falta de
(2001), Pollice (2001), Kohrell e Wonch uma metodologia ágil. Esses fatores fo- profissionais qualificados para o desen-
(2005), entre outros, defendam a idéia de ram organizados em 7 categorias, apre- volvimento ágil e a resistência dos pró-
que o RUP é um processo configurável, sentadas na Tabela 2. prios desenvolvedores à mudança são
contendo os mesmos valores das meto- Grinyer (2007) menciona outro fato re- agora apontados como os principais fato-
dologias ágeis, deve-se lembrar que, para levante observado nesse levantamento: res, conforme observado na Figura 7.
fins de pesquisa, deve-se levar em conta nenhum dos estudos de caso reportou Esse resultado, somando 42% nos fa-
a forma como este está sendo efetiva- a aplicação de uma metodologia exata- tores relativos à formação da própria
mente aplicado. Nesse estudo, o RUP foi mente como descrita, mas sempre com equipe de desenvolvimento, é consisten-
percebido por seus participantes como alguma personalização ao contexto no te com as conclusões apresentadas pela
uma metodologia mais tradicional. qual foi aplicada. Deve-se apontar, tam- Projects@Work (2006), na Tabela 1, e com
bém, que nenhum dos estudos indicou as colocações feitas por Ambler (2007),
Casos de implantação das metodologias os motivos pelos quais as empresas que segundo o qual o desenvolvimento ágil
Um ponto interessante a se avaliar, adotaram uma nova metodologia acre- já cruzou o “abismo” citado na Curva de
destacado por Grinyer (2007), é a forma ditaram que essa mudança efetivamen- Adoção de Tecnologia. Isso se confirma
pela qual as organizações têm se decidi- te levaria à solução dos problemas apon- pela observação de que já existe grande
do pela adoção dos métodos ágeis, visto tados na Tabela 2. apoio, por parte das gerências, na ado-
que, conforme já mencionado, não exis- Além desse levantamento documental, ção do movimento ágil. A iniciativa
tem indicações claras na literatura ou no deve-se destacar a pesquisa conduzida pela adoção de uma metodologia ágil
meio acadêmico. Em um estudo baseado pela VersionOne (www.versionone.net) e não está mais partindo unicamente dos
na análise da literatura disponível e em apoiada pela Agile Alliance (www.agile- “inovadores” (normalmente, apenas o

26 Engenharia de Software Magazine – Metodologias Ágeis


M E TO D O LO G I A S ÁG E I S

pessoal estritamente técnico), mas dos


líderes. Segundo Grinyer (2007), esse é o
segundo fator mais importante, com 27%
de participação. Barne (2006) apontou,
em sua pesquisa, que em 11% dos casos,
a iniciativa pela adoção do desenvolvi-
mento ágil veio diretamente da presi-
dência da empresa e, em outros 33% dos
casos, dos gerentes de desenvolvimento.

Medidas objetivas de sucesso


Conforme já comentado no início deste
artigo, um fator que é levado em conta pe-
los profissionais ao decidir pela adoção de
uma nova metodologia é a existência de
casos de sucesso documentados por ou-
tras empresas, principalmente do mesmo
porte e área de atuação. Podem-se obter
diversos estudos de caso em sites concei-
tuados, como o da Agile Alliance (www.
agilealliance.org) ou da Scrum Alliance Figura 7. Barreiras para a adoção do desenvolvimento ágil. Fonte: adaptado de Barnett (2006)
(www.scrumalliance.org). Todavia, esse
conjunto de informações está disperso e Antes do XP (2001) Depois do XP (2002)
carece de medidas objetivas. Com relação Programas 87 91
à avaliação dos resultados obtidos em es- Horas de trabalho 23,531 17,726
tudos de caso comparativos, a principal
Horas / Programa 270 190
conclusão estabelecida foi a de que não
Tabela 3. Aumento de produtividade na Sabre. Fonte: Sabre Airline Solutions (2004)
existem estudos que possam ser usados,
cientificamente, como referência. Todos O aumento de produtividade na Sabre pela Escrow.com, uma empresa de pe-
os casos referem-se aos resultados obti- foi medido em um projeto de conversão de queno porte. Uma delas, chamada “V2”,
dos na adoção de uma nova metodologia, uma aplicação C++ para Java, com a mu- foi desenvolvida com o uso de uma me-
mas comparados a uma situação anterior, dança da plataforma destino para a Web, todologia dita “tradicional” e a outra,
na qual não existia nenhum processo for- o qual obrigou o re-desenvolvimento de chamada “V3”, com o XP. Os resultados
mal ou era adotada uma metodologia es- mais de 100 programas, na camada de in- apresentados na Figura 8, embora tam-
tritamente tradicional, em cascata. Além terface com o usuário. O resultado da ado- bém se baseiem em critérios subjetivos,
disso, os resultados apresentados são ção do XP foi uma melhoria de 42%, con- apontam benefícios importantes obtidos
sempre bastante subjetivos, apontando forme os dados apresentados na Tabela 3. com a adoção dessa metodologia. Neste
dificuldades ou melhorias sem quantifi- Além disso, esse mesmo estudo repor- cenário, o XP foi adotado sem a necessi-
cá-las especificamente. ta uma redução no número de defeitos dade de adaptações.
Uma das poucas exceções nesse senti- encontrados com relação às suas versões Segundo Barne (2006), a comunidade
do é o caso publicado pela Sabre Airline anteriores. Em um projeto, ProfitMana- técnica precisa ser capaz de demonstrar
Solutions (2004), o qual relata a adoção ger, com cerca de 500.000 SLOCs, apenas quantitativamente os benefícios atin-
do XP por sua equipe de 300 desenvol- 10 erros foram reportados nos dois pri- gidos pela adoção do desenvolvimento
vedores, como resposta aos problemas meiros meses que sucederam o lança- ágil a fim de convencer as empresas mais
de atraso no cronograma e elevado nú- mento da sua versão desenvolvida com tradicionais a fazer a mesma mudança.
mero de defeitos enfrentados antes dis- a metodologia XP, contra mais de 500 em O estudo citado no item anterior tentou
so. Embora a empresa tenha precisado sua versão anterior. Possivelmente ou- fazer com que os profissionais pesqui-
acrescentar técnicas não previstas no tros fatores podem ter influenciado este sados apontassem os valores que foram
XP, para lidar com projetos de maior resultado como, maior conhecimento efetivamente obtidos pela adoção de
escala, as práticas do desenvolvimento do domínio e experiência da equipe de uma metodologia ágil. Os resultados,
iterativo, estórias de usuário, testes auto- desenvolvimento. Aliado a isto, este re- apresentados na Figura 9 mostram que
matizados e programação em pares, por sultado pode também indicar um ganho os desenvolvedores que adotam as meto-
exemplo, foram levadas a cabo com su- com o uso da metodologia XP. dologias ágeis estão bastante satisfeitos
cesso. Segundo esse relato, a adoção de Outro estudo relevante foi reportado com os resultados que têm encontrado.
outras metodologias ágeis, como o RUP, por Marchesi et al (2002), comparando o Finalmente, pode-se concluir que o de-
o Scrum e o FDD também foram avalia- desenvolvimento de duas versões de um senvolvimento ágil está em um momento
das, mas com a opção pelo XP. produto para comércio eletrônico, feito de inflexão, passando a ser adotado por

Edição 04 – Engenharia de Software Magazine 27


Figura 8. Comparação dos resultados obtidos com o XP na Escrow.com. Fonte: Marchesi et al (2002, p. 358)

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

da para o desenvolvimento de so ware to ágil está em um momento de inflexão, A Engenharia de Software Magazine
sobre e

tem que ser feita ao seu gosto.


em uma organização, levando em consi- passando a ser defendido também na es-
Para isso, precisamos saber o que você,
s

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,

28 Engenharia de Software Magazine – Metodologias Ágeis


M E TO D O LO G I A S ÁG E I S

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.

Edição 04 – Engenharia de Software Magazine 29


Por que SCRUM?

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,

30 Engenharia de Software Magazine – Por que SCRUM?


M E TO D O LO G I A S ÁG E I S

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.

Edição 04 – Engenharia de Software Magazine 31


Impedimentos são levantados e devem de valor ao cliente. Estes três pilares – Nossos filhos faziam planos para este
ser resolvidos no prazo máximo de 24 ho- prazo, custo e escopo - devem ter seus feriadão há muito tempo e não viam a
ras para garantir que ações de resolução pesos defi nidos. É claro que todos nós hora de chegar à praia. O carro já estava
rápidas são executadas e para que todos desejaríamos que nossos projetos termi- na revisão e as malas todas prontas.
conheçam os impedimentos que podem nassem dentro do prazo previsto, com Começaríamos a viagem no final da
se tornar potenciais riscos para o projeto. o custo dentro da margem determinada tarde de quinta-feira. Poderíamos chegar
Além disso, mudanças no projeto são e com todo o escopo entregue. Todos à noite, aproveitar os dias de sexta e sá-
bem aceitas, pois elas existem e irão nós já passamos por fases posteriores bado e retornar no domingo. A viagem
acontecer. É por isso que o compro- de manutenções e correções que conso- começou e as crianças estavam eufóricas,
metimento de todos os envolvidos é mem grande esforço de recursos e tam- muita gritaria, bagunça, fome, comida,
tão importante em um projeto. Caso o bém traz desgaste no relacionamento pedidos para parar, ir ao banheiro, colo
cliente queira mudar uma solicitação ou das pessoas envolvidas. de mãe. E perguntas do tipo: quando
adequar-se a uma mudança de merca- Neste artigo, faremos uma introdução vamos chegar? Já chegou? Como é lá?
do, pode-se alterar o rumo rapidamente ao Scrum. Mas antes disso, para auxi- Problemas com o carro. Será que conse-
sem afetar todo o projeto pois, o plane- liar no entendimento, utilizaremos um guiríamos chegar? Noite em hotel... de-
jamento é refeito a todo o momento. E exemplo buscando dar uma visão mais cepção. Carro ok, continuamos a viagem,
ainda, caso uma iteração não corra con- simplista da metodologia ágil Scrum. e enfim, chegamos...
forme o esperado pelo cliente pode-se Como diz o provérbio chinês: “O que Bom, tudo isto ocorreu conosco duran-
mudar a abordagem de levantamento ouço, esqueço. O que vejo, lembro. O que te nossa ida e para a volta, resolvemos
de dados, os recursos envolvidos, a for- faço, entendo”. Portanto, segue um rela- fazê-la a “La Scrum”.
ma de troca de informações e corrigir o to que muitas famílias já vivenciaram. Seguindo a metodologia, decidimos
rumo a tempo do fi nal do projeto. Algumas correlações serão feitas no de- dividir a viagem de volta (Release) em
Pode ser (e na maioria das vezes, é) que correr da estória – colocamos os termos etapas (Sprints), com duração prevista
o plano inicial não represente mais a ne- Scrum entre parênteses. Mais tarde, es- de duas horas ou 200 km. Cada uma
cessidade real de nosso cliente. Ele deixa tes conceitos serão desvendados. com um resultado esperado (Sprint
de pedir alterações, pois o contrato já foi Resolvemos planejar uma viagem em famí- Goal), que eram acompanhadas de per-
assinado, ele não tem mais horas adicio- lia. Para isso, algumas perguntas surgiram: to por nossos filhos. O projeto também
nais para pagar, o prazo está curto e ele - Qual seria o projeto? teve seu objetivo maior definido (Re-
necessita do produto e então... ele “evita” - Quem seriam nossos clientes? lease Goal ou Vision). Sendo assim, as
solicitar mudanças. Pergunta: o que ele - Como melhor atendê-los sabendo expectativas de nossos “clientes” fica-
ganha? De que adianta entregar um sof- que mudanças podem ocorrer e mudar ram claramente conhecidas.
tware que o cliente não irá usar? E o quê nosso rumo? Release Goal: Chegar em casa com
o fornecedor do serviço ganha? Ok, en- - Como e quais decisões tomar para reagir segurança aproveitando cada momen-
trega-se o produto, o cliente usa poucas a tempo não frustrando as expectativas? to juntos.
funcionalidades, reclama das funcionali- - Como saber se o projeto está alcançan- Durante cada etapa, estávamos sempre
dades prioritárias que ele não recebeu e do o resultado esperado? verificando o andamento das atividades
em contrapartida, recebeu várias outras - Como aprender com a experiência planejadas - o que foi feito ontem?, pla-
que não vai utilizar. E isso pode ser con- vivida? nejando as próximas - o que vai fazer
siderado um projeto de sucesso? Projeto: viagem de família à praia. amanhã? e removendo problemas que
O sucesso de um projeto de so ware Clientes: nossos filhos – Luiza, de 9 surgiam – que impedimentos ocorreram
utilizando metodologias ágeis não é anos, Gabriel, de 7 anos e Bernardo - 13 (Daily Scrum). Além disso, atualizáva-
somente medido se comparando pro- anos (existem clientes mais exigentes?). mos em nosso mapa (Agile Radiator)
jeções iniciais de prazo, custo e escopo Custo: menor possível. nossa evolução. Dessa forma, todos os
e sim através de entrega de so ware Prazo: final de semana prolongado. envolvidos tinham visualmente o real

32 Engenharia de Software Magazine – Por que SCRUM?


M E TO D O LO G I A S ÁG E I S

andamento e poderíamos identificar


qualquer desvio indesejado. Tudo isso
tendo como guia o Sprint Goal, tam-
bém estipulado por eles.
Ao final de cada etapa parávamos para
comer alguma coisa, descansar, esticar as
pernas e perguntar a nossos filhos o que
estavam achando de nossa viagem. Re-
alizávamos também uma avaliação (Re-
trospective Meeting), analisando pontos
positivos e negativos e seguíamos para a
etapa seguinte (Novo Sprint).
Todos tinham suas responsabilidades e
papéis definidos e nos dávamos o direito
de rearranjar a próxima etapa se algum
Figura 2. Ciclo de vida de um requisito e desdobramento em atividades
imprevisto ocorresse. Tendo sempre em
mente o que foi determinado (goal), vez
por outra, resolvíamos parar mais em Seus artefatos principais são o Product Goal definido. As funcionalidades não de-
uma agradável cidade, alterávamos o ho- Backlog e Sprint Backlog – artefatos que vem ser discutidas em detalhes. Isso será
rário do jantar para curtirmos um pôr do representam seus requisitos/atividades feito em cada Iteração durante reuniões
sol em outra ou ir a uma festa típica que além de Burndown charts e impediment de Sprint Planning. Ela pode ter a presen-
estava acontecendo. backlogs. Para representar o ciclo de vida ça de diversos papéis: seja cliente externo,
Terminada a viagem, já em casa, fi- de um requisito, usa-se derivações do desenvolvedor, área comercial, etc.
zemos a última retrospectiva de tudo Product Backlog, como Release Backlog e Cada release é composta de iterações
o que ocorreu para nos prepararmos Selected Backlog. A Figura 2 exemplifica curtas, chamadas de Sprints. A Figura
melhor para a próxima viagem, que o ciclo mencionado.. 3 traz um desenho das reuniões existen-
terá uma duração maior, vários tipos Inicialmente um requisito deve fazer tes durante o período de uma Release,
de transporte e destinos e ainda leva- parte do Product Backlog, que possui composta por 3 Sprints. Conforme dito,
remos nossos primos. descrições de necessidades de clientes de a primeira reunião é a Release Planning.
Esta foi somente uma estória de como alto nível levantadas. A tarefa de manter Cada Sprint tem reuniões de planeja-
podemos utilizar as práticas do Scrum a descrição e refinamento destes requi- mento, Sprint Planning, que detalham o
em nossa vida cotidiana. Na próxima se- sitos é do Product Owner. Ele é respon- requisito apresentado durante o Release
ção, explicaremos um pouco mais sobre sável por definir, para cada nova release Planning e ainda possuem seu Sprint
o framework de processos. de um produto, o objetivo (Release Goal Goal. Semelhante ao goal do Release, tem
ou Vision). Ele interage a todo momento o mesmo cunho de comunicar a todos os
O Scrum com seu cliente final e, dessa forma, co- envolvidos o objetivo maior de Sprint
O Scrum é um framework de processo nhece suas expectativas e as do mercado. corrente. É realizado de forma iterativa,
ágil utilizado para gerenciar e contro- Esta lista de demandas nunca acaba e de através de ciclos de “tempo fechado”
lar o desenvolvimento de um produto tempos em tempos (a cada nova release), (Time-Boxed) em 30 dias corridos. Ainda
de software através de práticas itera- um item de Product backlog é promovido sobre a reunião, são conhecidos os requi-
tivas e incrementais. É composto por a Release backlog para integrar ao esco- sitos do Release Backlog que serão pro-
um conjunto de boas práticas de ges- po de uma ou mais Releases. O Product movidos como Selected Backlog. Eles são
tão que admite ajustes rápidos, acom- Owner deve comunicar e discutir o novo discutidos em maiores detalhes e servem
panhamento e visibilidade constantes goal com todos os envolvidos em reuni- para elucidar O QUE se espera como re-
e planos realísticos. ões chamadas de Release Planning. sultado final. Em um Sprint, portanto,
Os principais papéis do Scrum são: Portanto, a primeira reunião oficial de são executadas atividades de refinamen-
Product Owner, Scrum Master e Scrum Release que ocorre é a Release Planning. to de requisitos, análise, projeto, desen-
Team (equipe do projeto). Não há como Nesta reunião, são discutidos os recursos volvimento e testes pelo Scrum Team,
fazermos um mapeamento direto entre envolvidos – tanto computacionais quan- devendo resultar em um incremento de
os papéis do Scrum e os papéis conven- to humanos, riscos identificados, prazo produtos funcionando e demonstrável
cionais conhecidos. Não existe a figura acertado e requisitos previstos acordados para o Product Owner ao final do Sprint,
única do Gerente de Projetos. Suas res- junto ao cliente e coerentes com a deman- na reunião de Sprint Review.
ponsabilidades estão diluídas entre os da de mercado. Seu propósito principal é O Scrum Master tem o papel de lide-
papéis citados. Cada um conhece sua definir e comunicar as funcionalidades rança muito importante para o processo.
participação frente ao projeto e traba- macro de uma Release do produto e fazer Ele deve remover todo e qualquer obstá-
lha em conjunto para conseguir alcan- com que os envolvidos no projeto enten- culo que surgir durante o desenvolvi-
çar o goal definido. dam e se comprometam com o Release mento, garantindo que o Scrum Team

Edição 04 – Engenharia de Software Magazine 33


zar todo e qualquer risco ao projeto e
também por manter os aspectos positi-
vos levantados.
E o mesmo se repete por todos os
Sprints planejados, com a diferença de
que o último Sprint possui uma reunião
de Release Review, que tem como guia o
Release Goal definido. Nunca é demais
lembrar que o planejamento é feito du-
rante toda a Release e portanto, altera-
ções podem ser feitas. Se constitui em
uma boa prática poder refazer o plane-
jamento durante cada Sprint Planning,
mas durante o Sprint, o Scrum Master
deve procurar “blindar” o Scrum Team
de grandes modificações.
As estimativas de tamanho de cada
funcionalidade/requisito são executadas
obrigatoriamente pelo Scrum Team. Des-
sa forma, todos sabem para onde ir (goal)
e é desta forma que se obtém o compro-
metimento da equipe para com o projeto.
A viabilidade de continuidade dos pla-
nos é constantemente verificada.
A comunicação de um projeto que
Figura 3. Reuniões Scrum utiliza o Scrum é mais efetiva e direta,
além de informações estarem sempre à
possa focar no real objetivo definido. ções relativas aos requisitos e Reestima- tona com a utilização de quadros bran-
Além disso, ele é responsável por fazer te Meetings para aplicação de técnicas cos (Agile Radiator). A Figura 4 exem-
com que a equipe siga e pratique o pro- como o Poker Planning para estimativa plifica um Agile Radiator monitorando
cesso e ainda por criar uma atmosfera de de requisitos. um projeto real. Eles garantem visibili-
ajuda mútua entre a equipe (o resultado Há uma reunião de Sprint Planning 2 dade do projeto a todos os envolvidos.
é sempre da equipe e não individual). que promove o desdobramento do Selec- Não há como mascarar o real anda-
O Scrum Team é responsável por se ted Backlog em Sprint Backlog onde as- mento. O goal fica afixado e os requisi-
organizar e determinar a melhor estraté- pectos técnicos são discutidos. É a hora tos – através de Post-its - (Selected ba-
gia de se entregar as funcionalidades de do COMO as coisas devem ser feitas. cklogs) e seus desdobramentos (Sprint
maior prioridade. Interessante observar Neste momento, pode-se discutir sobre a backlogs) são posicionados na situação
que iterações curtas garantem ritmo à arquitetura do produto, reuso de compo- onde se encontram (se ainda não ini-
equipe e facilita o entendimento do pro- nentes, mudança em interfaces, etc. ciados - planejados, se sendo executa-
cesso, além de proporcionar visibilidade Ao final do Sprint, é feita uma reu- dos no momento - em andamento e se
ao cliente sobre o andamento do projeto. nião final de apresentação do trabalho terminados – 100% concluídos). Eles
Diariamente são executadas reuniões executado ao Product Owner chamada devem ser posicionados de acordo com
de acompanhamento e monitoramente Sprint Review. Ele será responsável a prioridade dos mesmos – Business
do Sprint através da reunião de Daily por validar a apresentação e concluir Value declarado pelo Product Owner.
Scrum. Esta reunião deve ter a presença se o Sprint Goal foi atingido. Após Post-its localizados no topo nos dizem
do Scrum Team e Scrum Master obriga- esta, reuniões de debrief são executa- ser de maior prioridade que os posicio-
toriamente. Deve ter a duração máxima das, chamadas Retrospective Meetin- nados no rodapé do quadro branco.
de 15 minutos (é interessante até utilizar gs. Reuniões de retrospectiva levam a Impedimentos (Impediment Backlog)
um cronômetro para isso) e são permiti- reflexão acerca do que passou e quais que ocorrem durante o Sprint também
das somente 3 perguntas: atitudes devem ser tomadas para o são evidenciados. O Scrum tem um
- O que você fez hoje? correto atingimento dos objetivos. São gráfico, de nome BurnDown Chart, que
- O que fará amanhã? levantados aspectos positivos (WWW exibe o real andamento do mesmo. O
- Que impedimentos surgiram e que – what went well) e negativos (WCBI Scrum Team diariamente, através de
atrapalharam sua produtividade? - what can be improved) tanto organi- reuniões chamadas Daily Scrum, atu-
Outros assuntos deverão ser discutidos zacionais quanto relativos a Release. aliza o Agile Radiator com a situação
em outras reuniões, como Follow-Up Todos os envolvidos devem estar pre- atual, movendo post-its e indicando o
Meetings para detalhamentos e elucida- sentes e são responsáveis por minimi- trabalho executado durante o período.

34 Engenharia de Software Magazine – Por que SCRUM?


M E TO D O LO G I A S ÁG E I S

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

Agile Alliance, 2002. Agile Manifesto, http://www.


agilealliance.org
Artigo: “Get Ready for Agile Methods, with Care”,
Computer, 35, 1 (January 2002) 64-69 escrito por
Boehm, B.
Agile Software Development with Scrum, Prentice
Hall, (October 2001). Schwaber, K; Beedle, M,
Agile Software Development, Cockburn Highsmith
Series Editors, Alistair Cockburn 2000

Dê seu feedback sobre esta edição! eu


Feedback
s

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

4. Agile
Figura 4
Fi Agilile Radiator
Radi
diator

Edição 04 – Engenharia de Software Magazine 35


Tendências na área de Gestão de Riscos
em Ambientes de Desenvolvimento
de Software
De que se trata o artigo:
Aborda temas relacionados ao ge-
renciamento de riscos nos ambientes
de desenvolvimento de software.

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.

36 Engenharia de Software Magazine – Tendências na área de Gestão de Riscos


G E R Ê N C I A D E R I S CO S

Gerência de Múltiplos Projetos


O resultado de todos os projetos de-
senvolvidos por uma organização tem
grande parcela de contribuição no seu
sucesso. Projetos individuais influen-
ciam a organização, mas também so-
frem a influência de todos os outros
projetos que estejam sendo iniciados,
ou mesmo, executados num mesmo pe-
ríodo. Nenhum projeto é desenvolvido
isoladamente. Existem os projetos estra-
tégicos, projetos embargados e os proje-
tos de manutenção. Priorizar e garantir
que os projetos mais importantes sejam
realizados é um dos grandes, se não vi-
tal, objetivos organizacionais.
Outro grande desafio encontrado pelos Figura 1. Níveis hierárquicos de uma organização
profissionais de projetos de Tecnologia
da Informação e Comunicação (TIC) é A alocação de recursos então deve ser atividades planejadas e na alocação
estabelecer um método para seleção, feita no momento em que os projetos pre- dos recursos necessários para o anda-
rastreamento e controle de projetos. A cisam e não através de um planejamento mento das atividades.
grande maioria das organizações não prévio. O resultado pode ficar compro- O nível operacional é composto pelos
tem condições de manter uma equipe de- metido pela ausência do recurso no mo- demais membros do projeto, os encarre-
dicada a cada um dos seus projetos. Os mento em que o mesmo é necessário, re- gados de executarem as atividades defi-
funcionários vão sendo deslocados entre correndo a soluções paliativas drásticas nidas pelo nível tático.
os projetos de acordo com a necessidade que comprometem o orçamento, a quali- A Gerência de Múltiplos Projetos consis-
de cada um deles. dade e o cronograma do projeto. te no monitoramento contínuo dos diver-
Outra característica importante e Considerando então a natureza mutável sos projetos de um ambiente de múltiplos
bastante comum nestas organizações é dos recursos entre os projetos, o problema projetos pela gerência, manifestando-se
que o orçamento mensal de cada proje- da comunicação toma proporções ainda primordialmente no nível tático.
to pode ficar totalmente comprometi- maiores. Isso gera conflitos, sentimento Na literatura de Engenharia de Sof-
do ou extrapolar o planejado, devido a de insegurança, estresse e desconforto, tware não existe uma abordagem que,
imprevistos não tratados. Neste caso, a entre a equipe de desenvolvimento, pois explicitamente, tenha foco nos Ambien-
solução é remanejar recursos financei- a mobilidade das pessoas entre os proje- tes de Múltiplos Projetos. Algumas das
ros de outros projetos que não estejam tos por muitas vezes não permite que elas abordagens como o RUP (Rational Uni-
tão comprometidos. tenham um conhecimento mais aprofun- fied Process), CMMI (Capability Matu-
Este ambiente dinâmico no qual a alo- dado do que estão desenvolvendo. rity Model Integration) e o próprio Guia
cação de recursos é elemento-chave é As organizações estão estruturadas PMBOK (Project Management Body of
conhecido como ambiente de múltiplos primariamente em três níveis, conforme Knowledge) apresentam a Gerência de
projetos. Pouco mais do que 90% de todos mostra a Figura 1: estratégico, tático e Projetos, mas ainda possuem deficiên-
os projetos são conduzidos neste tipo de operacional. O nível estratégico é com- cias quando se trata de múltiplos proje-
ambiente [Danilovic e Borjesson 2001]. posto pela alta administração executiva tos [Freitas 2005].
Portanto, além de complexas variáveis da organização e é responsável pela de- Alguns trabalhos de cunho acadêmico
que cercam um único projeto, outras fi nição das metas de médio e longo pra- vêm sendo desenvolvidos com o intuito
dificuldades surgem quando passam a zo que estejam alinhadas às estratégias de preencher esta lacuna. Por exemplo,
existir diversos projetos executados si- da organização. É no nível estratégico Bruno Freitas [Freitas 2005] apresenta a
multaneamente. É comum o lançamen- que ocorre a seleção e priorização dos proposta do MGMPS – Modelo para Ge-
to de projetos faltando recursos e com projetos, também conhecida como Ge- renciamento de Múltiplos Projetos de Sof-
programação deficiente. Isto promove a rência de Portfólio de Projetos [Dye e tware, tendo, inclusive, definido uma fer-
re-priorização dos projetos, subprojetos Pennypacker 2000]. ramenta para suporte a esses ambientes
e tarefas, ou seja, no momento em que o O nível tático tem a preocupação de – GMP (h p://www.cin.ufpe.br/~gmp/)–
prazo de algum dos projetos esteja ven- definir as tarefas a serem realizadas, gerenciador de multiprojetos. O modelo
cendo ele passa a ser o foco das atenções para que os projetos de longo e médio tem por base metodologias como RUP,
[Freitas 2005]. prazo, definidos no nível estratégico, CMMI e PMBOK. Alguns dos conceitos
Em um momento posterior ele pode ser aconteçam. Este nível é composto pe- relacionados às metodologias são adapta-
relegado ao segundo plano em detrimen- los gerentes de projeto e o foco do tra- dos para a efetiva utilização nos Ambien-
to de outro que esteja na mesma situação. balho é no gerenciamento diário das tes de Múltiplos Projetos de So ware.

Edição 04 – Engenharia de Software Magazine 37


Modelos de Maturidade Como as pessoas têm pouco conheci- Desta forma, o risco, assim como qua-
Conquistar níveis de maturidade orga- mento e experiência, se sentem insegu- lidade, passa a ser responsabilidade de
nizacional, através da melhoria dos pro- ras em como reportar os riscos. Gerentes, todos dentro da organização. Risco é
cessos utilizados, exige esforços árduos, na sua grande maioria, utilizam a gerên- um processo ético e contínuo, identifica-
sistemáticos e eficazes. Atualmente têm cia de risco para reduzir a probabilidade do e resolvido em um ambiente aberto e
sido relatadas muitas metodologias de e conseqüência de riscos críticos, elabo- sem ameaças.
Engenharia de So ware sob a ótica de rando planos de contingência. A maturidade das atitudes profissio-
processos modulares, de métricas e da Prevenido. A Gerência de Riscos deixa nais favorece uma comunicação aberta
qualidade de so ware, objetivando a de ser vista como uma atividade de ge- e contribuições individuais. As pessoas
maturidade e a competência integral dos rência e passa a ser vista como uma ati- passam a entender que existe um custo
mesmos [Hall 1998]. vidade da equipe de desenvolvimento de de oportunidade associado a cada esco-
A melhoria do processo de desenvolvi- projetos de so ware. Passa-se a uma fase lha e que a busca desse equilíbrio melho-
mento visa a garantir a qualidade do pro- de transição da abordagem “evitar os ra o processo de decisão.
cesso e também a qualidade do produto. sintomas dos riscos” para “identificar e
Da mesma forma, a evolução do grau de eliminar as raízes das causas de riscos”. Gerência de Portfólio de Projetos
maturidade da organização com respeito Maior visibilidade do envolvimento da As organizações vivem atualmente
à utilização de técnicas e procedimentos equipe e eventualmente dos clientes com uma grande competitividade mercado-
para o gerenciamento de riscos em pro- o gerente, entendendo que a Gerência lógica demandando rápidas decisões,
jetos de so ware pode ser resumida nos de Riscos é um processo dinâmico e que melhor alocação de recursos e uma clara
seguintes estágios [Hall 1998]: não pode ser tratado de forma isolada. definição de foco. As organizações esta-
Problemático. Neste estágio a organi- Embora as pessoas já possuam experi- rão cada vez mais aptas a gerir as incer-
zação é caracterizada pela falta de comu- ência em identificar riscos, ainda se sen- tezas de seus projetos ou problemas po-
nicação causando falta de coordenação. tem inseguras em quantificá-los. As ações tenciais, se nas fases iniciais da execução
Nestas organizações as pessoas estão tão reativas dão lugar às ações proativas. de projetos houver um efetivo balancea-
ocupadas resolvendo problemas presen- Antecipado. Neste estágio o enfoque mento dos fatores de riscos associados a
tes que não conseguem pensar no futuro. está na transição da gerência subjetiva cada um dos projetos em execução. Bus-
Não existe a preocupação na identifica- para a Gerência Quantitativa de Riscos. cando soluções para estes ambientes di-
ção dos riscos, logo não são endereçados A utilização de métricas para antecipar nâmicos, a Engenharia de So ware trou-
até que se tornem problemas. Desta for- falhas e prever eventos futuros é siste- xe os conceitos da Gerência de Portfólio
ma a gerência de crise é uma constante. matizada. As equipes apresentam habi- de Projetos, da área de administração e
Notícias sobre riscos são encaradas como lidade para aprender, adaptar e anteci- finanças [Moura et al 2004].
má notícia e as pessoas que se preocu- par mudanças. A Gerência de Portfólio de Projetos é
pam com riscos são hostilizadas. Equipe e clientes utilizam a Gerência de uma forma de organizar o gerenciamen-
Atenuado. Este estágio é caracterizado Riscos para quantificar riscos com razoável to de ambientes de múltiplos projetos.
pela mudança da gerência de crise para a certeza e para focar nas reais prioridades. Cooper define quatro objetivos para a
utilização de conceitos básicos da Gerên- Criando Oportunidades. Este estágio utilização da Gerência de Portfólio [Co-
cia de Riscos. As organizações passam a tem duas finalidades essenciais, primeira- oper et al 2001]:
introduzir os conceitos relacionados aos mente a visão positiva da Gerência de Ris- • Maximizar o valor do portfólio;
riscos. As pessoas passam a se preocu- cos utilizada para inovar e criar um novo • Procurar o melhor balanceamento en-
par com riscos, mas não os endereçam de futuro, e em segundo lugar, a mudança de tre os projetos do portfólio;
forma sistemática e estruturada. A ênfa- paradigma para “riscos percebidos como • Assegurar o alinhamento do portfó-
se destes novos conceitos está nas fases perspectiva para economizar dinheiro e lio de projetos com a estratégia organi-
iniciais do desenvolvimento. fazer melhor do que o planejado”. zacional;
• Garantir que não existem muitos pro-
jetos para os recursos disponíveis.
Cooper apresenta um modelo de Ge-
rência de Portfólio composto por dois
processos [Cooper et al. 2001, Moura et
al. 2004, Correia 2005]:
• Sessões de Revisão: este processo tem
o objetivo de periodicamente avaliar,
através de abordagem holística, o grupo
de projetos analisados.
• Processo Stage/Gate: processo for-
mal utilizado pelas organizações para
decidir se o projeto será continuado
Figura 2 . Gerência de Portfólio de Projetos – Elementos do Modelo de Cooper ou encerrado.

38 Engenharia de Software Magazine – Tendências na área de Gestão de Riscos


G E R Ê N C I A D E R I S CO S

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

Edição 04 – Engenharia de Software Magazine 39


Planejar a Gerência de Riscos é uma pontuação final de um projeto. No mo- portfólio sugerido, então se faz necessário
atividade implícita nos dois modelos delo de Archer esta atividade está repre- um novo cálculo dos parâmetros do por-
aqui apresentados, uma vez que ambos sentada pela filtragem de projetos e afe- tfólio como, por exemplo, dependência de
mencionam a necessidade de uma estra- rição de dados através de um repositório disponibilidade de recursos.
tégia organizacional que será base para de projetos anteriores.
seleção dos projetos que formarão o por- A atividade de Analisar Riscos Qua- Algumas Limitações
tfólio. É desenvolvida a estratégia para a litativamente no modelo de Cooper é Uma limitação atual da Gerência de
gestão de portfólio e, a partir desta de- realizada conjuntamente com a análise Riscos é a quantidade pequena de estu-
finição, são criados os tutoriais e guias quantitativa dos dados dos projetos em dos práticos divulgados, apresentando
para alocação dos recursos. avaliação. A exceção está no modelo de indicadores de sucesso dos projetos de
A atividade de Identificar Riscos está Archer que utiliza para a seleção de pro- so ware desenvolvidos [Leopoldino
relacionada aos modelos de pontuação jetos várias formas de interações. Estas 2004] e [Coelho 2004].
utilizados para avaliar os níveis de ris- interações incluem interdependências, As abordagens de Gerência de Riscos,
cos de cada projeto em análise. No mo- competição por recursos e sincronização, por vezes, endereçam um número limi-
delo de Cooper, revisões do portfólio são com o valor de cada projeto determinado te de objetivos, muitas vezes estas limi-
realizadas periodicamente para verificar a partir de um conjunto de parâmetros tações têm uma pequena relevância na
a concordância dos projetos selecionados comuns que foram estimados para cada prática e não necessariamente indicam
com a alocação dos recursos e limitações projeto no estágio anterior. que o processo não funciona.
organizacionais impostas. Todos os pro- As atividades de sessões de revisões De uma forma geral, estas limitações
jetos ativos são revisados e comparados de projetos e os conseqüentes ajustes dizem respeito a:
uns aos outros e o balanceamento do de processo subsidiam as atividades de 1. Cronogramas (prazos), custos e qua-
portfólio é considerado sobre várias di- Controlar Respostas aos Riscos. lidade do produto.
mensões. Já na abordagem de Archer os Controlar e Monitorar Riscos são ativi- Existem projetos onde outras variáveis
modelos de pontuação também analisam dades cíclicas tanto para Cooper como Ar- como: impacto mercadológico do negó-
os projetos de acordo com os aspectos cher. Na abordagem de Archer o estágio cio, habilidade de reuso dos resultados
positivos que podem trazer benefícios final do processo é realizado pelos ajustes de projetos anteriores, restrições e escas-
para a organização. do portfólio, provendo uma visão global sez associada aos recursos do projeto, ne-
Analisar Riscos Quantitativamente é dos projetos selecionados. Diferentes re- cessidade de ser compatível com outros
uma atividade que no modelo de Coo- presentações visuais podem ser usadas sistemas e garantia da conformidade dos
per está representada pelo processo Es- para ilustrar o portfólio em diferentes di- requisitos (gerenciamento de mudanças)
tágio/Passagem (Stage/gate) usado pelas mensões. O objetivo do ajuste do portfó- com o conjunto de limitações (restrições),
organizações para tomar decisões do lio é alcançar o equilíbrio entre os proje- afetam o sucesso do projeto.
tipo Continuar/Finalizar (Go/Kill), sobre tos em discussão. Tomadores de decisões 2. Poucas são as abordagens que reco-
projetos individuais. Decisões de Conti- devem ser capazes de efetuar mudanças nhecem explicitamente as necessidades
nuar/Finalizar projetos, nas passagens e no portfólio também nesse estágio, se as e expectativas dos stakeholder´s envol-
priorização de projetos, são baseadas na mudanças diferem substancialmente do vidos no projeto e seus objetivos.

40 Engenharia de Software Magazine – Tendências na área de Gestão de Riscos


G E R Ê N C I A D E R I S CO S

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-

Edição 04 – Engenharia de Software Magazine 41


a existência de ferramentas e metodolo- método já está disponibilizado como ser favorável, pois os custos envolvidos
gias adequadas para suporte efetivo das funcionalidade da ferramenta de Gestão não podem ser comparados com os bene-
informações manipuladas e do conheci- de Riscos mPRIME Tool (na Web - versão fícios que acompanham uma maior pro-
mento gerado. demo: www.cin.ufpe.br/~suppera). teção dos recursos humanos, materiais,
Outra técnica bastante interessante é o financeiros e ambientais.
Raciocínio baseado em Casos (RCB) que Considerações Finais A conscientização mundial de ela-
busca uma solução para um problema novo O gerenciamento de riscos é uma ciência borar e adotar políticas de desenvol-
baseando-se em experiências passadas. que permite ao homem uma convivência vimento sustentável, ou seja, políticas
No contexto da Gerência de Projetos, as mais segura com os riscos a que estão que conciliem desenvolvimento econô-
informações mais relevantes no início de expostos. Tem a função de proteger os mico com eliminação de desperdícios,
um novo projeto são as informações so- seres humanos, seus recursos materiais respeito ao ser humano e ao meio am-
bre projetos passados. Esse conhecimento e o meio ambiente. Em uma organização, biente, revela o quanto é fundamental
passado pode ser utilizado tanto nas esti- um programa de gerenciamento de ris- a adoção de tecnologias como o geren-
mativas de custos e prazos, quanto em ou- cos tem o objetivo de identificar, analisar ciamento de riscos pelas organizações
tros processos como o processo de identi- e avaliar os riscos existentes e assim de- brasileiras. O Brasil gastou em 2005 me-
ficação de riscos, uma forma de aprender cidir como serão tratados. De uma forma nos que 0,92% de seu Produto Interno
com as experiências passadas. A maioria geral, existem duas formas de tratar o Bruto (US$ 14,6 bilhões) com produtos
das técnicas de identificação de riscos faz risco: financiando ou controlando. e serviços de TI. É necessário investir
uso da experiência passada das pessoas Apesar das dificuldades de se precisar em prevenção para que haja uma redu-
envolvidas no processo de identificação. a avaliação de riscos, o objetivo principal ção dos erros e falhas (riscos) antes que
Projeto deste cunho vem sendo desen- é indicar o conjunto de prioridades no os mesmos ocorram, tornando as orga-
volvido no Departamento de Sistemas plano de ação, para que se possam tomar nizações mais competitivas.
e Computação (DSC – UPE) através da as medidas de prevenção de maneira
pesquisa de modelos que suportem a correta e sistemática e, assim, aperfeiço- Dê seu feedback sobre esta edição! Feedback
eu
busca por experiências passadas – CBR ar os resultados do próprio desenvolvi-

s

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.

42 Engenharia de Software Magazine – Tendências na área de Gestão de Riscos


Desenvolvimento de Software Dirigido
por Caso de Uso
Parte III: Caso de Uso de Negócio

De que se trata o artigo:


Uso do caso de uso de negócio no ma-
peamento do processo de negócio do
cliente e objetivos do negócio. Neste

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.

44 Engenharia de Software Magazine – Desenvolvimento de Software Dirigido por Caso de Uso


E N G E N H A R I A D E R E Q U I S I TO S

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

Edição 04 – Engenharia de Software Magazine 45


Todo caso de uso de negócio deve re-
presentar um processo de negócio de al-
gum “serviço” do cliente.
Como exemplo, posso citar o próprio
caso de uso de negócio da Figura 1. O
passageiro ao solicitar o seu check-in
terá como resultado a confirmação da
realização ou não do check-in. Portanto,
igualmente como em um caso de uso sis-
têmico, o resultado do caso de uso de ne-
gócio também está dentro do contexto do
processo de negócio, pois o que se deseja
é a realização do check-in.

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

46 Engenharia de Software Magazine – Desenvolvimento de Software Dirigido por Caso de Uso


E N G E N H A R I A D E R E Q U I S I TO S

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

Edição 04 – Engenharia de Software Magazine 47


uso de negócio que é a utilização do dia- o diagrama de atividade. Sendo que esse Também percebemos que existem mais
grama de atividade de negócio da UML. diagrama pode ser executado através de dois casos de uso sistêmicos no diagra-
A vantagem da utilização desse diagra- ferramentas próprias e assim sabermos ma que são o Efetuar Despacho de Bagagem
ma é o rápido entendimento do processo se o processo mapeado está aderente ao e Validar Reserva. O primeiro caso de uso
de negócio que o caso de uso de negócio negócio do cliente ou se é necessário fa- é estendido porque pelo processo de ne-
representa pelos envolvidos, sejam eles o zer alterações no processo através de mé- gócio a bagagem pode ser despachada ou
cliente ou a equipe de desenvolvimento. tricas de negócio obtidas. Este artigo não não e o segundo caso de uso é incluído
Ao invés de terem que ficar lendo pági- visa explicar sobre o BPMN, pois isso é porque a reserva sempre será validada.
nas do processo descrito, eles poderão bastante amplo e deve ficar para um arti- A separação dessa parte do processo de
validar de forma mais rápida todos os go próprio. Apenas quis mencionar que negócio em dois casos de uso sistêmicos
cenários, condições de negócios e as ati- hoje em dia a UML não é a única a ser está levando em consideração as regras
vidades. Veja na Figura 5 um exemplo de utilizada quando o assunto é modela- e boas práticas apresentadas na primei-
diagrama de atividade de negócio. gem de processo de negócio. ra parte desse artigo, ou seja, o caso de
Observe que na Figura 5 o diagrama uso Efetuar Despacho de Bagagem tem suas
de atividade é bastante semelhante ao Link entre Caso de Uso de Negócio e regras e passos e o caso de uso Validar Re-
diagrama de atividade do caso de uso Caso de Uso Sistêmico serva pode ser utilizado por outros casos
sistêmico mostrado no artigo anterior. Da mesma forma que é feito um link en- de uso como, por exemplo, um caso de
A única diferença é no visual, pois esse tre os casos de uso de negócio e os goals, uso que cria a reserva.
diagrama de atividade está usando o também é uma boa prática criarmos um
estereótipo para o diagrama de ativi- link entre os casos de uso de negócio e Conclusão
dades de negócio. Na figura podemos os casos de uso sistêmicos. Com isso pro- Nesta terceira e última parte vimos
entender claramente como funciona o porcionarmos uma visão mais detalhada como criar e especificar um caso de
processo de negócio da realização de das partes do processo de negócio que uso de negócio e para que ele serve.
check-in. Estão detalhadas todas as ati- estão sendo automatizadas. Com base na Vimos também a importância de criar-
vidades, os seus cenários e condições Figura 5 veja a Figura 6. mos um link entre os casos de uso de
de negócio que são representados pe- Observe no diagrama da Figura 6 que negócio e os goals que são “realizados”
los símbolos de decisão. foi feito o link entre o caso de uso de ne- por esses casos de uso e as principais
Um caso de uso de negócio não precisa gócio Efetuar Check-In e o caso de uso sis- características do modelo de caso de
obrigatoriamente ser especificado usan- têmico Realizar Check-In. Com esse link é uso de negócio, além da especificação
do o diagrama de atividade da UML possível termos um mapa de rastreabili- visual onde podemos entender o pro-
quando desejarmos fazer uma especifica- dade com todos os casos de uso sistêmi- cesso de negócio de uma forma mais
ção visual. Hoje em dia, muitas equipes cos que estão automatizando o processo rápida. Espero que essa série de arti-
de desenvolvimento utilizam o BPMN de negócio ou parte dele. Comparando gos do desenvolvimento de software
(Business Process Management Nota- com o diagrama de atividade de negó- dirigido por caso de uso tenha sido de
tion / Notação de Gerenciamento do cio da Figura 5, vemos que as atividades grande ajuda em tirar dúvidas e na ob-
Processo de Negócio) que é uma notação Verificar Reserva, Obter Preferências, Rece- tenção de novos conhecimentos.
concorrente a UML para mapeamento de ber Bagagem e Imprimir Recibo e Imprimir
processo de negócio bem parecida com Cartão de Embarque foram automatizadas. Dê seu feedback sobre esta edição! Dê
s
eu
Feedback

A Engenharia de Software Magazine

sobre e
tem que ser feita ao seu gosto.
Para isso, precisamos saber o que você, d i çã o
ta
e
s

leitor, acha da revista!


Dê seu voto sobre este artigo, através do link:
www.devmedia.com.br/esmag/feedback

Links

OMG: The Object Management Group


www.omg.org

RUP: Rational Unified Process 7.0


http://www-306.ibm.com/software/awdtools/rup/

Bibliografia

UML Essencial – 3ª Edição – Martin Fowler

Utilizando UML e Padrões – Larman, Craig


Figura 6. Diagrama de link entre os casos de uso de negócio e os casos de uso sistêmicos

48 Engenharia de Software Magazine – Desenvolvimento de Software Dirigido por Caso de Uso


Eclipse Process Framework
Um ambiente de Engenharia de Software livre para publicar e manter
métodos e processos

De que se trata o artigo: Em que situação o tema é útil:


Uma ferramenta livre, desenvolvida com Equipes de desenvolvimento têm en-
o Eclipse, para a manutenção e publicação frentado questões como a falta de uma
de processos e métodos. Fornece uma ter- terminologia comum para documentar
minologia comum, o UMA (Unified Method processos e métodos; a dificuldade de
Architecture), para definição de processos adaptar e estender o conhecimento para
e métodos. Esta terminologia permite que projetos diferentes; a inexistência de um
métodos ou práticas sejam reaproveitados ambiente central de publicação, para fa-
em processos diferentes, possui mecanis- cilitar a disseminação da base de conhe-
mos de extensão para adaptar práticas em cimento, entre outras.
contextos diferentes. Mesmo em corporações que têm
Para que serve: adotado abordagens mais ágeis de de-
O EPF tem como principal objetivo forne- senvolvimento, encontramos desafios
cer meios para manter uma base de conhe- em coordenar e gerenciar várias equi-
cimento de capital intelectual que você pos- pes simultâneas, que estão freqüente-
Gustavo Serafim sa procurar, gerenciar e criar. Este conteúdo mente desenvolvendo partes diferen-
gustavo@soacorporativa.com.br pode ser externo e, o mais importante, você tes do mesmo sistema. Isto resulta na
www.soacorporativa.com.br
Especialista IBM RUP. Atualmente, apóia iniciati-
pode incluir seu próprio conteúdo como, necessidade de uma abordagem fácil
vas SOA/BPM na CPM (Adoção e Consolidação). white papers, diretrizes, modelos, boas prá- de planejar, divulgar e reaproveitar
Especialista em Engenharia de Software, Orien- ticas, procedimentos e regulamentações in- processos de governança e práticas
tação a Objetos, Reutilização e SOA. Experiência ternas, material de treinamento e qualquer ágeis. Essas práticas e processos de
como consultor/instrutor em: adaptação de pro-
cessos de desenvolvimento baseado no RUP (foco outra descrição geral de seus métodos. governança podem ser publicados,
na arquitetura, dirigido por UC e desenvolvimento Equipes de desenvolvimento precisam ser reutilizados e compostos com ajuda
iterativo); técnicas de design de software (incluin- instruídas sobre os métodos aplicáveis aos do Eclipse Process Framework (EPF),
do as técnicas de análise e design orientados a
objetos); modelagem de processos de negócios e
papéis que desempenham. O EPF funciona apoiando também o desenvolvimento
exploração de automação do processo; desenvol- como uma ajuda online. ágil em escala corporativa.
vimento baseado em componentes (CBD).

50 Engenharia de Software Magazine – Eclipse Process Framework


F E R R A M E N TA C A S E

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

Edição 04 – Engenharia de Software Magazine 51


Os principais elementos do Conteúdo
do Método são:
• Produto de Trabalho - Um Produto de
Trabalho é algo significativo resultante da
execução de uma tarefa. As pessoas utilizam
Produtos de Trabalho para desempenhar
Tarefas e produzir Produtos de Trabalho,
durante o desempenho de suas Tarefas;
• Função - Uma Função define um con-
junto de habilidades, competências e res-
ponsabilidades relacionadas;
• Tarefa - Uma Tarefa descreve uma
unidade de trabalho. Cada Tarefa é de-
sempenhada por Funções específicas. A
granularidade de uma Tarefa geralmente
2. Visão geral dos conceitos principais do EPF que são baseados no UMA
Figura 2 é algumas horas em poucos dias.
A Orientação é um conceito abstrato
que generaliza o conteúdo cuja finali-
dade principal é fornecer explicações e
ilustrações adicionais a elementos, por
exemplo: Funções, Tarefas, Produtos de
Trabalho ou Processos.
A Orientação é fornecida em vários ti-
pos, como:
• Lista de Verificação - Identifica uma
série de itens que precisam ser concluí-
3. Núcleo reutilizável do conteúdo do método no UMA
Figura 3 dos ou verificados. As listas de verifica-
ção são freqüentemente utilizadas em
• Existem plug-ins com processos pré- a ponta do projeto, e são utilizados como revisões, como tentativas ou inspeções;
definidos como: XP, OpenUp e Scrum. uma referência para executar projetos • Conceito - Destaca idéias principais e
Desenvolvido com o Eclipse (Open Sour- com características similares. princípios básicos dando suporte a um tó-
ce), como pode ser visto na Figura 1. O Conteúdo do Método descreve o que pico central para o método. Os Conceitos
deve ser produzido, as habilidades neces- normalmente endereçam tópicos mais ge-
O que é UMA? sárias e a explicação passo a passo que rais e se estendem através de vários Produ-
O EPF utiliza o UMA (Unified Method descreve como as metas de desenvolvi- tos de Trabalho, Tarefas ou atividades;
Architecture), que é um metamodelo de mento específicas são atingidas, indepen- • Exemplo - Representa uma instân-
engenharia que define esquema e termi- dentemente do posicionamento desses cia de amostra normal, parcialmente
nologia para representar métodos e pro- itens dentro de um ciclo de vida de desen- concluída de um ou mais Elementos de
cessos. Os conceitos do UMA norteiam volvimento. Já os Processos obtêm esses Conteúdo. Geralmente, os exemplos são
todas as funcionalidades do EPF. O UMA elementos do método e os relatam para fornecidos para Produtos de Trabalho;
separa o Conteúdo do Método, que é o seqüências semi-ordenadas que são perso- • Diretriz - Fornece detalhes adicio-
núcleo reutilizável, dos Processos. Isso nalizadas para tipos específicos de proje- nais sobre como tratar de um Elemento
assegura a reutilização em atividades de tos. Pode-se, assim, reutilizar os elementos de Conteúdo específico. As Diretrizes
autoria de processo no EPF. do Conteúdo do Método em processos di- geralmente são mais aplicadas a Tarefas
A Figura 2 fornece um resumo dos ferentes, como desenvolvimento de siste- e Produtos de Trabalho;
elementos-chave utilizados no UMA, e mas WEB e desenvolvimentos de pacotes. • Prática - Apresenta uma maneira
como eles estão relacionados ao Conteú- comprovada ou uma estratégia de reali-
do do Método ou Processo. Como se pode Principais conceitos do UMA zação do trabalho, para atingir uma meta
ver, o Conteúdo do Método é expresso, O Conteúdo do Método é fundamen- que possui impacto positivo no Produto
principalmente, utilizando produtos de talmente descrito pela defi nição de Ta- de Trabalho ou qualidade do processo;
trabalho, funções, tarefas e orientação. O refa relatada com Etapas que têm Pro- • Recurso Reutilizável - Descreve um
lado direito do diagrama representa os dutos de Trabalho como entrada e saída recurso que pode ser reutilizado em um
processos no EPF. Os Processos de Entre- e que são desempenhadas por Funções contexto diferente;
ga representam um modelo de processo (papéis). As Funções também defi nem • Roteiro - Resume um Processo, mui-
completo e integrado para executar um relacionamentos de responsabilidades tas vezes, de uma perspectiva específica,
tipo específico de projeto. Eles descre- importantes para Produtos de Trabalho, como por exemplo, focando em produtos
vem um ciclo de vida completo, de ponta ver Figura 3. ou papéis do processo;

52 Engenharia de Software Magazine – Eclipse Process Framework


F E R R A M E N TA C A S E

• 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:

Figura 4. Autoria do conteúdo do método

Edição 04 – Engenharia de Software Magazine 53


5. Autoria de Processo
Figura 5

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.

54 Engenharia de Software Magazine – Eclipse Process Framework


F E R R A M E N TA C A S E

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

Edição 04 – Engenharia de Software Magazine 55


7. Exemplo de publicação
Figura 7

plug-in estenderá o plug-in base_con-


cepts e você conseguirá utilizar o con-
teúdo deste enquanto cria o conteúdo
de seu próprio plug-in, mantendo uma
referencia para os elementos do plug-in
base_concepts (esse procedimento deve
Figura 8. Ativando o assistente de publicação ser feito sempre que for necessário reu-
tilizar elementos de outro plug-in como,
por exemplo, papeis e tarefas). O base_
concepts contém conceitos básicos neces-
sários para a utilização do site publicado
com seu processo/método, por exemplo,
instruções de navegação e conceitos bá-
sicos do UMA. Por isso, essas orientações
devem estar em todas as publicações;
• Agora vamos criar um pacote de con-
teúdo do método no novo plug-in. No
painel de visualização Biblioteca (Figura
10) expanda o nó da árvore em my_plug-
in clicando no símbolo +, e expanda o nó
para Conteúdo do Método;
• Clique com o botão direito do mou-
se em Pacotes de Conteúdo (Figura
11), selecione Novo e depois Pacote de
Conteúdo para criar um novo Pacote
de Conteúdo;
• O Editor de Pacote de Conteúdo é
exibido (Figura 12). Digite o nome do
pacote no campo Nome e algum texto
no campo Descrição resumida. Poste-
riormente, o campo Dependências será
Figura 9. Assistente Novo Plug-in de Método

56 Engenharia de Software Magazine – Eclipse Process Framework


F E R R A M E N TA C A S E

Figura 10. Arvore de visualização de Biblioteca

automaticamente preenchido quando


algum conteúdo do pacote depender do
conteúdo de outro pacote. Por exemplo,
uma tarefa criada no pacote A estende
Figura 11. Criando um novo Pacote de Conteúdo
uma tarefa que está no pacote B, acrescen-
tando mais passos na tarefa. Dessa forma,
o pacote A dependerá do pacote B.
• Salve o novo conteúdo (Ctrl + S) e fe-
che o painel do editor;
• Agora criaremos o conteúdo do Méto-
do. Em geral, os novos elementos (tarefas,
produtos de trabalho, funções ou papéis
e orientações) são criados clicando com o
botão direito do mouse em uma pasta de
destino para o novo elemento e selecionan-
do Novo. Por exemplo, se você deseja criar
um novo Produto de Trabalho em um pa-
cote de conteúdo, clique com o botão direi-
to na pasta Produto de Trabalho existente
na árvore de navegação, selecione Novo e
clique em Artefato, como na Figura 13;
• Digite algo nos campos Nome e Nome
da Apresentação (Figura 14). Você pode 12. Editor de Pacote de Conteúdo
Figura 12
ainda, nos campos Objetivo e Descrição
Principal, descrever seu artefato com
um editor de texto avançado usando, por
exemplo, cores e figuras. Você pode abrir
o editor de texto para qualquer item que
tenha o ícone de editor de texto pró-
ximo a ele (por exemplo: veja o campo
Descrição Principal na Figura 14). Com o
editor aberto também é possível usar di-
retamente HTML para criar o conteúdo
(Figura 15). Observação: O texto copiado
de documentos do Microso Word con-
tém códigos HTML que podem causar
problemas de formatação quando cola-
dos em qualquer uma das janelas do edi-
tor. Desta forma, recomenda-se copiar o
texto de uma ferramenta que não utilize
Figura 13. Criando um conteúdo de método
marcações “fechadas” para manter a es-
trutura do documento.
• Na Figura 14, clique na guia Visu-
alizar para ver como ficou o estado do
novo Artefato. Salve-o (Ctrl + S) e feche
a janela do editor;

Edição 04 – Engenharia de Software Magazine 57


Figura 15. Editor de texto

Figura 16. Guias para criação de relacionamentos do conteúdo de método (tarefas,


14 Editando um conteúdo de método
Figura 14. produto de trabalho e orientações)

58 Engenharia de Software Magazine – Eclipse Process Framework


F E R R A M E N TA C A S E

• 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

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.

Figura 17. Exemplo de publicação com as possibilidades de navegação

Edição 04 – Engenharia de Software Magazine 59


Introdução à Automação de Testes

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

60 Engenharia de Software Magazine – Introdução à Automação de Testes


V E R I F I C AÇ ÃO, VA L I D AÇ ÃO E T E S T E S

Paradigma Tipo de Teste Automatizado


Baseado na interface gráfica (Capture/Playback)
Baseado na Interface Gráfica Dirigido a dados (Data-Driven)
Dirigido à palavra-chave (Keyword-Driven)
Baseado na linha de comando (Command Line Interface)
Baseado na Lógica de Negócio Baseado em API (Application Programming Interface)
Test Harness
Figura 1. Avaliando Soluções de Testes Funcionais - The Forrester Wave™ Q2 2006. Tabela 1. Tipos de Automação de Testes.

automatizados em todos os esforços de Desvantagens: Existe uma forte depen-


testes e 39% das empresas responderam dência da estabilidade da interface gráfi-
que utilizam testes automatizados em al- ca. Se a interface gráfica mudar, os testes
guns esforços de testes (Figura 1). falham. Baixo desempenho para testes
Nas seções a seguir serão apresentados automatizados que exigem centenas de
os principais paradigmas e tipos de tes- milhares de repetições, testes de funcio-
tes automatizados, assim como, a compa- nalidades que realizam cálculos comple-
ração das vantagens e desvantagens de xos, integração entre sistemas diferentes
cada um deles. e assim por diante.
Baseados na Lógica de Negócio
Paradigmas de automação de testes Nesta abordagem os testes automatizados Figura 2. Distribuição das falhas agrupadas por camadas.
Existem várias abordagens para a au-
exercitam as funcionalidades da aplicação
tomação de testes. No entanto, neste para criar os testes automatizados. Exis-
sem interagir com a interface gráfica. Nor-
artigo serão apresentados apenas os tem poucas ferramentas/frameworks que
malmente é necessário realizar modifica-
paradigmas mais importantes da atu- suportam essa abordagem (normalmente
ções na aplicação para torná-la mais fácil
alidade. Além disso, o foco deste arti- é necessário criar soluções caseiras).
de testar (testabilidade). Essas modificações
go é automação de testes funcionais,
resultam em mecanismos para expor ao
dessa forma, não serão apresentados
mundo exterior as funcionalidades da apli-
Tipos de automação de testes
ou discutidos os testes unitários (Unit Conforme mencionado anteriormente,
cação (APIs, Interfaces de Linha de Coman-
Tests) e automação de testes de desem- os tipos de automação são normalmente
do, Hooks, etc), como veremos mais adiante.
penho (Performance Testing). agrupados de acordo com a forma como
A interface gráfica é apenas uma casca
Os tipos de automação são normal- os testes automatizados interagem com a
(camada) que tem o objetivo de forne-
mente agrupados de acordo com a forma aplicação. A Tabela 1 apresenta o sumá-
cer um meio para a entrada dos dados e
como os testes automatizados interagem rio dos tipos de testes automatizados que
apresentação dos resultados. A camada
com a aplicação. Em geral, os tipos de au- serão apresentados neste artigo.
que abriga a funcionalidade e o compor-
tomação são agrupados em dois paradig- Nas seções a seguir serão apresenta-
tamento da aplicação é a camada de lógi-
mas (mas não são limitados a esses): dos os tipos de testes automatizados, um
ca de negócio. Esta abordagem de testes
exemplo de aplicação e as vantagens e
Baseados na Interface Gráfica é baseada no entendimento que 80% das
desvantagens de cada tipo.
Nesta abordagem os testes automatiza- falhas estão associados a erros na lógica
dos interagem diretamente com a inter- de negócio (Figura 2). Testes automatizados baseados na
face gráfica da aplicação simulando um Vantagens: Foco na camada onde exis- interface gráfica (Capture/Playback)
usuário. Normalmente as ações dos usu- te maior probabilidade de existir erros. Nesta abordagem, os testes automati-
ários são gravadas (Capture) por meio da Independência das mudanças da interfa- zados são realizados por meio da inter-
ferramenta de testes automatizados. A ce gráfica. Alto desempenho para testes face gráfica da aplicação. Normalmente
ferramenta transforma as ações dos usu- automatizados que exigem centenas de a ferramenta de automação fornece um
ários em um script que pode ser reprodu- milhares de repetições, testes de funcio- recurso para capturar (Capture) as ações
zido (Playback) posteriormente. nalidades que realizam cálculos comple- do usuário enquanto o usuário estiver
Vantagens: Não requer modificações na xos, integração entre sistemas diferentes usando a aplicação.
aplicação para criar os testes automatiza- e assim por diante. Essas ações são traduzidas para coman-
dos. Também não é necessário tornar a Desvantagens: Requer grandes modifi- dos na linguagem de script suportada
aplicação mais fácil de testar (testabilida- cações na aplicação para expor as funcio- pela ferramenta de automação, para que
de) porque os testes se baseiam na mes- nalidades ao mundo exterior. Exige pro- então possam ser reproduzidas (Playba-
ma interface utilizada pelos usuários. fissionais especializados em programação ck) posteriormente.

Edição 04 – Engenharia de Software Magazine 61


código confuso com baixa reutilização
de rotinas e difícil de dar manutenção.
Além disso, nesta abordagem existe uma
forte dependência da estabilidade da in-
terface gráfica. Se a interface gráfica mu-
dar, os testes falham.
Testes automatizados dirigidos a
dados (Data-Driven)
Os testes automatizados dirigidos a dados
representam um refinamento dos testes
baseados na interface gráfica. Basicamente,
nesta abordagem, é utilizado um mecanis-
mo para auxiliar a execução de testes que
executam as mesmas ações repetidamente,
porém com dados diferentes.
Tomemos como exemplo o cadastro de
chamadas técnicas citado anteriormente.
Digamos que seja necessário criar vários
Figura 3. Gravação de um teste automatizado baseado na interface gráfica. testes a fim de avaliar se a aplicação per-
mite gravar os dados sem que todos os
Listagem 1. Ações convertidas em comandos na linguagem Java campos tenham sido preenchidos ou pre-
import resources.CadastroHelper; enchidos com dados inválidos. Neste caso,
import com.rational.test.ft.*;
import com.rational.test.ft.object.interfaces.*;
as ações seriam as mesmas, apenas os da-
import com.rational.test.ft.script.*; dos preenchidos nos campos mudariam.
import com.rational.test.ft.value.*;
import com.rational.test.ft.vp.*; Na abordagem de testes baseados na
public class Cadastro extends CadastroHelper
{ interface gráfica, teríamos que capturar
public void testMain(Object[] args)
{
e gerar diversos scripts de testes. No en-
Descricao().click(atPoint(147,8)); tanto, à medida que se queira criar cen-
Formulario().inputChars(“Problemas”);
AbertoPor().click(atPoint(147,8)); tenas ou milhares de scripts de testes, as
Formulario().inputChars(“Pedro Paulo”);
Responsavel().click(atPoint(115,13)); coisas começam a se complicar. O tem-
Formulario().inputChars(“José da Silva”);
BotaoGravar().click(atPoint(42,8)); po para capturar e gerar os scripts de
} teste aumenta consideravelmente. Além
}
disso, a complexidade e o tempo para
Via de regra, esta abordagem não re- Fundamentalmente, podemos notar que dar manutenção nesses scripts também
quer modificações na aplicação para criar todas as operações realizadas pelo testador aumentam exponencialmente.
os testes automatizados. Também não é foram convertidas para a linguagem Java Por meio da criação de testes automa-
necessário tornar a aplicação mais fácil de acordo com padrões adotados pelo IBM tizados dirigidos a dados, os dados dei-
de testar (testabilidade) porque os testes Rational Functional Tester. Este script pode xam de ser constantes dentro dos scripts
se baseiam na mesma interface utilizada ser salvo e agrupado em suítes para ser re- e tornam-se variáveis. Para ilustrar, va-
pelos usuários. produzido (Playback) posteriormente. mos apresentar um exemplo na prática
Para ilustrar um exemplo prático, ob- Uma das principais vantagens dessa usando a ferramenta IBM Rational Func-
serve na Figura 3 um teste hipotético de abordagem é a rapidez e facilidade para tional Tester.
uma aplicação de cadastro de chamadas criar scripts de teste. Também devemos Esta ferramenta permite a criação de
técnicas. Para este exemplo, foi utiliza- destacar o fato de que não são necessá- testes automatizados dirigidos a dados
da a ferramenta comercial IBM Rational rias modificações na aplicação para a por meio da utilização de um mecanismo
Functional Tester. gravação e posterior reprodução dos tes- chamado Test Datapool. O Test Datapool é
Enquanto o teste está sendo executado tes. Além disso, não é necessário tornar a basicamente uma tabela que armazena os
pelo testador, as ações (cliques, digitação, aplicação mais fácil de testar (testabilida- dados variáveis de um ou mais scripts.
etc) são gravadas pela ferramenta de auto- de) porque os testes se baseiam na mes- No nosso exemplo, o Test Datapool irá
mação (janela Recording). Ao final da grava- ma interface utilizada pelos usuários. armazenar os dados que serão repetidos
ção, a ferramenta converte (traduz) todas as Em contrapartida, a criação de muitos no cadastro de chamada técnica para
ações em comandos em uma linguagem de scripts de teste rapidamente, sem plane- avaliar se a aplicação permite gravar os
script. No caso do IBM Rational Functional jamento e conhecimento das melhores dados sem que todos os campos tenham
Tester, as ações são convertidas para co- práticas da automação de testes, nor- sido preenchidos ou preenchidos com
mandos na linguagem Java, como pode ser malmente leva à criação de centenas de dados inválidos, como pode ser observa-
visto no trecho de código da Listagem 1. scripts com código spaghe i. Ou seja, do na Figura 4.

62 Engenharia de Software Magazine – Introdução à Automação de Testes


V E R I F I C AÇ ÃO, VA L I D AÇ ÃO E T E S T E S

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 }

Edição 04 – Engenharia de Software Magazine 63


executar algum outro programa para com-
parar os arquivos gerados contra arquivos
pré-definidos (gerados previamente para
serem usados como base de comparação).
A principal vantagem dessa aborda-
gem é a baixa exigência de modificações
na aplicação para expor uma interface
de linha de comando para o mundo ex-
terior. Normalmente, essas modificações
são simples e exigem pouca intervenção
no código da aplicação.
Por outro lado, as interfaces de linha de co-
mando são pouco flexíveis, principalmente
quando é necessário passar parâmetros
complexos para executar a funcionalidade.
Além disso, scripts shell ou batch não são
muito robustos para capturar e manipular
os resultados das operações, ou até mesmo,
para realizar testes que necessitem de laços
de repetições e condições complexas.

5. Exemplo de teste automatizado dirigido à palavra-chave


Figura 5 palavra-chave. Testes automatizados baseados em
API (Application Programming In-
(Type), clique no botão (ClickAndWait) e, interagir com a aplicação por meio de um
terface)
por fim, a validação do resultado espera- prompt ou shell do sistema operacional.
Uma API (Application Programming
do (VerifyTestPresent). Via de regra, a lógica de negócio da apli-
Interface ou Interface de Programação
Durante a execução dos testes, o Sele- cação pode ser exercitada por meio da exe-
de Aplicativos) representa um con-
nium IDE traduz as palavras-chaves em cução de um conjunto de comandos e parâ-
junto de operações expostas por uma
alto nível em ações para interagir com os metros pré-determinados. A CLI interpreta aplicação a fim de permitir que outras
elementos da interface gráfica do website os comandos e parâmetros, executa a fun- aplicações possam acessar ou consu-
(ou aplicação WEB). ção selecionada e apresenta o resultado. mir as suas funcionalidades.
É oportuno lembrar que esta aborda- O objetivo da CLI é fornecer uma interfa- O objetivo de uma API é fornecer uma
gem não requer modificações na aplica- ce para o mundo exterior que não seja de- interface para o mundo exterior que não
ção para criar os testes automatizados. pendente da interface gráfica da aplicação. seja dependente da interface gráfica da
Também não é necessário tornar a apli- A automação de testes baseada na linha de aplicação. A automação de testes base-
cação mais fácil de testar (testabilidade) comando faz uso dessa característica para ada na API faz uso dessa característica
porque os testes se baseiam na mesma orquestrar a execução dos testes. para orquestrar a execução dos testes.
interface utilizada pelos usuários. Dessa forma, é possível criar scripts Para ilustrar um exemplo prático, ob-
O alto nível de abstração que descom- shell ou batch para exercitar algumas fun- serve na Listagem 3 como é possível re-
plica a criação dos testes automatizados, cionalidades da aplicação sem que seja alizar testes automatizados baseados na
até mesmo para usuários finais sem co-
necessário utilizar uma interface gráfica. API exposta pelo Microso Word.
nhecimentos técnicos é, sem dúvida, a
A título de exemplo, observe no código Perceba no exemplo que o Word expõe
principal vantagem dos testes dirigidos
abaixo, como é possível realizar testes au- via API praticamente todas as suas fun-
à palavra-chave.
tomatizados de impressão do Microso cionalidades. Neste exemplo, foi possível
Por outro lado, essa abordagem não é
Word por meio da linha de comando: instanciar o Word, abrir um documento,
muito robusta para a realização de testes
FOR %%c in (C:\*.doc) DO digitar um texto, mudar a formatação do
que necessitem de laços de repetições e winword.exe %%c /q /n /mFilePrintDefault /
mFileExit
texto, abrir a janela para localizar um
condições complexas. Além disso, nesta
texto e por fim finalizar o Word.
abordagem existe uma forte dependência Apesar de simples, o exemplo anterior é Em geral as APIs oferecem um meca-
da estabilidade da interface gráfica. Se a
bastante interessante. Basicamente, o script nismo mais robusto para exercitar as
interface gráfica mudar, os testes falham.
batch varre todos os arquivos *.doc do dire- funcionalidades da aplicação, se compa-
Testes automatizados baseados na tório. Para cada arquivo, o Word é aberto rarmos com os testes automatizados ba-
linha de comando (Command Line (instanciado sem interface gráfica), o arqui- seados na linha de comando.
Interface - CLI) vo é impresso e então o Word é fechado. Uma API pode expor virtualmente to-
Uma Interface de Linha de Comando Com algumas poucas modificações, a im- das as funcionalidades de uma aplicação.
(Command Line Interface - CLI) fornece pressão poderia ser redirecionada a um ar- Em termos práticos, isto significa que a
um mecanismo no qual o usuário pode quivo ao invés da impressora e podíamos principal vantagem dessa abordagem é

64 Engenharia de Software Magazine – Introdução à Automação de Testes


V E R I F I C AÇ ÃO, VA L I D AÇ ÃO E T E S T E S

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

Edição 04 – Engenharia de Software Magazine 65


sirva para todas as situações. É uma prática
comum adotarmos soluções híbridas para
atender necessidades diferentes de auto-
mação sem, no entanto, eliminar os testes
manuais por completo. Testes manuais e
automatizados são abordagens de testes
diferentes que se reforçam mutuamente.
A Tabela 2 apresenta o sumário dos ti-
pos de testes automatizados apresentados
neste artigo descrevendo as vantagens e
desvantagens de cada um deles.

Links

Site do Selenium
http://www.openqa.org/selenium/

IBM - Rational Functional Tester


http://www-306.ibm.com/software/awdtools/tester/functional/

Evaluating Functional Testing Solutions: The For-


rester Wave™ Q2 2006
www.forrester.com/Events/Content/0,5180,-1403,00.ppt

FEBRABAN
http://www.febraban.org.br/

Automação e Gerenciamento de Testes: Aumentando


a Produtividade com as Principais Soluções Open
Source e Gratuitas
http://www.linhadecodigo.com.br/EBook.aspx?id=2951

Dê seu feedback sobre esta edição! eu


Feedback

s

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.

Tipo de Teste Automatizado Vantagens Desvantagens


Rapidez e facilidade para criar scripts de teste; Sem planejamento adequado os scripts ficam difíceis de dar manutenção.
Gravação e reprodução
Não é necessário modificar a aplicação ou torna-la mais fácil de testar; Forte dependência da estabilidade da interface gráfica;
Alta reutilização dos scripts de teste; Não é possível criar scripts de teste complexos;
Dirigido a dados
Não é necessário modificar a aplicação ou torna-la mais fácil de testar; Forte dependência da estabilidade da interface gráfica;
O usuário final pode criar os scripts testes; Não é possível criar scripts de teste complexos;
Dirigido à palavra-chave
Não é necessário modificar a aplicação ou torna-la mais fácil de testar; Forte dependência da estabilidade da interface gráfica;
Baixa exigência de modificações na aplicação; Pouca flexibilidade;
Baseado na linha de comando
Independente da interface gráfica; Não é possível criar scripts de teste complexos;
Possibilidade de criar scripts de teste robustos e complexos; Alta exigência de modificações na aplicação;
Baseado em API
Independente da interface gráfica;
Uso racional e inteligente da automação; Alta exigência de modificações na aplicação e criação do Test Harness;
Possibilidade de criar scripts de teste robustos e complexos; Existem poucas ferramentas/frameworks que suportam essa abordagem
Test Harness (normalmente é necessário criar soluções caseiras).
Melhor performance para testes que exigem muitas repetições e cál-
culos complexos;
Tabela 2. Sumário das vantagens e desvantagens dos tipos de automação de testes.

66 Engenharia de Software Magazine – Introdução à Automação de Testes

Você também pode gostar