trilha da indústria - Instituto de Computação

Transcrição

trilha da indústria - Instituto de Computação
Congresso Brasileiro de Software: Teoria e Prática
28 de setembro a 03 de outubro de 2014 – Maceió/AL
TRILHA DA INDÚSTRIA
TRILHA DA INDÚSTRIA 2014
Anais
Trilha da Indústria
Volume 02
ISSN 2178-6097
Anais
TRILHA DA INDÚSTRIA
2014
Trilha da Indústria
COORDENADOR DO COMITÊ DE PROGRAMA
Juliano Iyoda - Universidade Federal de Pernambuco (UFPE)
COORDENAÇÃO DO CBSOFT 2014
Baldoino Fonseca - Universidade Federal de Alagoas (UFAL)
Leandro Dias da Silva - Universidade Federal de Alagoas (UFAL)
Márcio Ribeiro - Universidade Federal de Alagoas (UFAL)
REALIZAÇÃO
Universidade Federal de Alagoas (UFAL)
Instituto de Computação (IC/UFAL)
PROMOÇÃO
Sociedade Brasileira de Computação (SBC)
PATROCÍNIO
CAPES, CNPq, INES, Google
APOIO
Instituto Federal de Alagoas, Aloo Telecom, Springer, Secretaria de Estado do Turismo
AL, Maceió Convention & Visitors Bureau, Centro Universitário CESMAC e Mix Cópia
2
Trilha da Indústria
PROCEEDINGS
Volume 02
ISSN 2178-6097
INDUSTRY 2014
Industry
PROGRAM CHAIR
Juliano Iyoda - Universidade Federal de Pernambuco (UFPE)
CBSOFT 2014 GENERAL CHAIRS
Baldoino Fonseca - Universidade Federal de Alagoas (UFAL)
Leandro Dias da Silva - Universidade Federal de Alagoas (UFAL)
Márcio Ribeiro - Universidade Federal de Alagoas (UFAL)
ORGANIZATION
Universidade Federal de Alagoas (UFAL)
Instituto de Computação (IC/UFAL)
PROMOTION
Sociedade Brasileira de Computação (SBC)
SPONSORS
CAPES, CNPq, INES, Google
SUPPORT
Instituto Federal de Alagoas, Aloo Telecom, Springer, Secretaria de Estado do Turismo AL, Maceió Convention & Visitors Bureau, Centro Universitário CESMAC and Mix Cópia
3
Trilha da Indústria
Autorizo a reprodução parcial ou total desta obra, para fins acadêmicos, desde que citada a fonte
4
Trilha da Indústria
Apresentação
Estes anais contêm os trabalhos apresentados na Trilha da Indústria do Congresso
Brasileiro de Software – Teoria e Prática, evento ocorrido em Maceió, AL, do dia 29 de
Setembro de 2014 a 03 de Outubro de 2014.
A Trilha da Indústria é um fórum para compartilhar os conhecimentos e as experiências
práticas com a comunidade brasileira de software. É a oportunidade ideal para os
participantes da academia e a indústria estabelecerem cooperações bem como
estimular a troca de ideias e futuras inovações.
O objetivo do evento é integrar as diversas comunidades de pesquisadores e
profissionais e estender o estado da prática tanto no que se refere ao
desenvolvimento quanto aos processos e ferramentas da Engenharia de Software.
Para esta edição, o evento recebeu uma variedade de contribuições. Foram 25
submissões, dentre as quais 21 foram selecionadas para apresentação. Gostaria de
agradecer aos palestrantes por suas submissões e aos membros do Comitê de Técnico
pela dedicação e empenho durante as revisões.
Por fim, agradeço os professores Baldoino Fonseca, Leandro Dias da Silva e Márcio
Ribeiro pela ajuda oferecida durante a organização da Trilha da Indústria e parabenizoos pela excelente condução na organização do CBSoft.
Maceió, Setembro de 2014.
Juliano Iyoda
Coordenador da Trilha da Indústria
CBSoft 2014
5
Trilha da Indústria
Comitês Técnicos / Program Committee
Comitê do programa / Program Committee
Alberto Avritzer - Siemens Corporate Research
Alex Sandro Gomes - Universidade Federal de Pernambuco (UFPE)
Alexandre Alvaro - Universidade Federal de São Carlos (UFScar)
Alexandre Gomes - Universidade de Brasília (UnB)
Anderson Silva - Universidade Federal de Pernambuco (UFPE)
Cleidson de Souza - Universidade Federal do Pará (UFPA)
Daniel Lucrédio - Universidade Federal de São Carlos (UFScar)
Eduardo Cruz - Reuse in Software Engineering (RiSE)
Eduardo Guerra - Instituto Nacional de Pesquisas Espaciais (INPE)
Fernando Trinta - Universidade Federal do Ceará (UFC)
Frederico Durão - Universidade Federal da Bahia (UFBA)
Gibeon Soares de A. Junior - Universidade Federal do Rio Grande do Norte (UFRN)
Gleison Santos - Universidade Federal do Estado do Rio de Janeiro (UFRJ)
Higor Souza - Instituto Militar de Engenharia (IME)/Universidade de São Paulo (USP)
Keith de Souza - Universidade de São Paulo (USP)
Kiev Gama - Universidade Federal de Pernambuco (UFPE)
Leandro M. Nascimento - Universidade Federal Rural de Pernambuco (UFRPE)
Leila Bergamasco - Universidade de São Paulo (USP)
Marcelo Fantinato - Universidade de São Paulo (USP)
Neilson Ramalho - Universidade de São Paulo (USP)
Paulo Merson - SEI, TCU, Alcenit
Rafael Prikladnicki - Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)
Roberto Rocha - Universidade de São Paulo (USP)
Simone Santos - Universidade Federal de Pernambuco (UFPE)
Thiago Burgos - Universidade Católica de Pernambuco (UNICAP)
Vanilson Burégio - Universidade Federal de Pernambuco (UFPE)
Vinicius Garcia - Universidade Federal de Pernambuco (UFPE)
6
Trilha da Indústria
Comitê organizador / Organizing Committee
COORDENAÇÃO GERAL
Baldoino Fonseca - Universidade Federal de Alagoas (UFAL)
Leandro Dias da Silva - Universidade Federal de Alagoas (UFAL)
Márcio Ribeiro - Universidade Federal de Alagoas (UFAL)
COMITÊ LOCAL
Adilson Santos - Centro Universitário Cesmac (CESMAC)
Elvys Soares - Instituto Federal de Alagoas (IFAL)
Francisco Dalton Barbosa Dias - Universidade Federal de Alagoas (UFAL)
COORDENADOR DO COMITÊ DE PROGRAMA DA TRILHA DA INDÚSTRIA
Juliano Iyoda - Universidade Federal de Pernambuco (UFPE)
7
Trilha da Indústria
Índice / Table of Contents
Enriquecendo a Elicitação e a Análise de Requisitos para equipes
multifuncionais no Scrum com Test Driven Development
Rafael Soares, Fernanda Alencar
10
O Que 10 anos de Experiência nos Ensinaram sobre
Desenvolvimento Distribuído de Software
Sabrina Marczak, Marcelo Perin, Rafael Prikladnicki, Christiano Ayub, Geraldo
Gomes
13
Scrum pode causar falhas em projeto? Como lidar com isso?
Andreia Santos, Igor Correia
17
Técnicas de Usabilidade em sistema web na fase de requisitos: um
relato de experiência
Igor Correia, Andreia Santos
21
Lições Aprendidas na Definição do Processo de Entrega de Soluções
do Ministério do Planejamento
Vinicius Silva, Rodrigo Santos, Sergio Assis Rodrigues, Eduardo Gomes,
Fernando Siqueira, Miriam Chaves, Claudia Werner, Jano Souza
24
MAnGve: a step towards deploying Agile Governance
Alexandre Luna, Ivaldir Honório de Farias Júnior, Philippe Kruchten, Hermano
Moura
28
Uma Arquitetura de Suporte à Decisão para Micro e Pequenas
Empresas
Fabio Pereira
32
Implementação do Modelo MPS para Software, Nível G de
Maturidade, usando Metodologias Ágeis: Um Caso de Sucesso em
uma Empresa de Micro Porte
Marcelo Sá, Sandro Ronaldo Bezerra Oliveira
36
Experiência do SIDI com ferramentas para controle de projetos
Thomas Dedding, Fernanda Pellegrini, Tatiane Greco
40
Uma Ferramenta para Gestão Integrada de Projetos
Simone Vasconcelos, Leonardo Barroso, Matheus Sales, Filipe Arantes
Fernandes
43
8
Trilha da Indústria
Auditorias e verificações: importantes ferramentas de suporte a
gestão de projetos
Tatiane Greco, Fernanda Pellegrini, Thomas Dedding
47
O Uso da Ferramenta Trello na Implementação do Modelo MPS para
Software, Nível G de Maturidade, em uma Empresa de Micro Porte
Aruanda Simoes, Sandro Ronaldo Bezerra Oliveira
51
Uma Ferramenta para Gerenciamento de Infraestruturas de
Computação em Nuvem.
Leandro M. Nascimento, Vinicius Garcia, Rodrigo Assad, Silvio Meira, Julio
Damasceno
55
Text Generation from Business Process Models
Raphael Rodrigues, Leonardo Azevedo, Kate Revoredo, Henrik Leopold
59
Terceirização na implementação de testes: os dois lados da moeda
Raquel Dias, Gerson Albuquerque, Abel Gripp, Danielo Gomes, Italo Araújo,
Ismayle Sousa Santos, Leodercio Filho, Rossana Andrade
63
Uma Proposta de Solução para Distribuição de Conteúdos
Educacionais
Jean Louis Brasil Fernandes da Costa, Vinicius Garcia, Rodrigo Assad, Mauricio
Carvalho
66
Um processo de desenvolvimento de software na gestão municipal,
utilizando métricas de qualidade
Euristenho Queiroz de Oliveira Júnior
70
USTORE: Uma plataforma de computação em nuvem privada para
apoio a e-Science
Jose Fernando S. Carvalho, Vinícius C. Garcia, Rodrigo E. Assad, Vinod Rebelo
74
Uma Abordagem para Indexação e Buscas Full-Text Baseadas em
Conteúdo para Sistemas de Armazenamento em Nuvem
Marco André Machado, Frederico Durao, Rodrigo Assad, Vinicius Garcia
78
Um Caso Real de Desenvolvimento e Implantação de Workflow em
Ambiente de Telecom
Fabiola Pereira, Emilio Dias, Geovana Cardoso, Cádimo Raposo
82
On the Importance of Separating Business and Technology in
Information Management Applications
Rafael Chaves
86
9
Trilha da Indústria
Enriquecendo a Elicitação e a Análise de Requisitos para
Equipes Multifuncionais no Scrum com Test Driven
Development
Rafael Soares1, Fernanda Alencar1,2
1
Programa de Pós Graduação em Engenharia da Computação – Universidade de
Pernambuco (UPE) Rua Benfica, 455 – Madalena – Recife/PE, Brasil
{rhas, fernandaalenc}@ecomp.poli.br
2
DES-CTG – Universidade Federal de Pernambuco, Av. de Arquitetura, s/n.,
CDU - Recife/PE, Brasil. [email protected]
In order to improve the success rate of software projects various
methodologies have been proposed as an alternative to traditional software
development agile methodologies are one example but there are many
challenges with respect to engineering requisites within these
methodologies. Among these problems we highlight the challenges during
elicitation and analysis of requirements. The Test Driven Development is a
technique driven development and testing when used in conjunction with
Scrum provides some benefits. In this context, this work presents, through
an experiment in the industry, the impact of TDD in the elicitation process
and requirements analysis for multi-functional Scrum team.
Abstract.
No intuito de melhorar a taxa de sucesso dos projetos de software
várias metodologias foram propostas como uma alternativa aos modelos
tradicionais de desenvolvimento de software as metodologias ágeis são um
exemplo disso porém existem diversos desafios com relação a engenharia
de requisites dentro dessas metodologias. Entre esses problemas podemos
evidenciar os desafios na fase de elicitação e análise de requisitos. O Test
Driven Development é uma técnica de desenvolvimento guiado por testes e
quando utilizado em conjunto com o Scrum apresenta alguns benefícios.
Nesse contexto este trabalho apresenta, através de um experimento na
industria, os impactos do TDD no processo de elicitação e análise de
requisitos para equipe multifuncionais do Scrum.
Resumo.
10
Trilha da Indústria
1. Resumo
No intuito de melhorar a taxa de sucesso dos projetos de software várias
metodologias foram propostas como uma alternativa aos modelos tradicionais de
desenvolvimento de software as metodologias ágeis são um exemplo disso. Várias são
as metodologias de desenvolvimento que implementam o manifesto ágil, dentre elas
destaca-se o Scrum. O Scrum foi concebido como um estilo de gerenciamento de
projetos em empresas de fabricação de automóveis e produtos de consumo, por
Takeuchi e Nonaka no artigo "The New Product Development Game" (Harvard
Business Review, Janeiro-Fevereiro 1986) e mais tarde adaptado para o
desenvolvimento de software por Kent Beck. [COHN, M, 2011] mostra alguns
benefícios da utilização do Scrum em projetos de desenvolvimento de software em
comparação com outras metodologias de desenvolvimento tradicional, como o RUP por
exemplo, porém a forma simplista e eficiente utilizada pelo Scrum para ditar o
desenvolvimento de um software carrega consigo alguns problemas sobretudo na
engenharia de requisitos. O processo de elicitação e análise de requisitos é um processo
importante da engenharia de software, pois define quais os requisitos de um sistema de
software e como eles devem se comportar. Devido ao nível de importância que o Scrum
adota para tratar os requisitos, que muitas vezes são armazenados e descritos através de
estórias de usuários, o processo de elicitação e análise de requisitos dentro do Scrum
carrega alguns problemas, como por exemplo, falta de disponibilidade dos clientes para
análise e elicitação de requisitos tornando os requisitos falhos, pouco analisados,
incompletos e as vezes sem validação, impactando diretamente na quantidade de
alterações ou qualidade do produto final. O Test Driven Development ou TDD é uma
técnica de desenvolvimento de software que se baseia em escrever casos de testes para
uma determinada funcionalidade ou requisito antes mesmo de implementar tais
funcionalidades ou requisitos de fato. O TDD é uma técnica muito usada juntamente
com metodologias ágeis, alguns trabalhos mostram que a utilização do TDD juntamente
com o Scrum pode trazer benefícios para a metodologia em questão, como por exemplo,
[D. JANZEN et al, 2011] argumentam que a utilização de TDD traz melhora no design
do código e na legibilidade do mesmo [ M. SINIAALTO et al] mostram que a utilização
de TDD proporciona aos desenvolvedores mais segurança na hora de realizar alguma
mudança ou manutenção, pois ao alterar um determinado método por exemplo e
executar os testes os desenvolvedores visualizarão exatamente onde suas mudanças irão
impactar.
Dito isto este trabalho utilizou dois tipos de pesquisas para verificar os impactos
que a utilização da técnica TDD poderia proporcionar a equipes multifuncionais que
utilizam a metodologia Scrum, os tipos de pesquisa utilizados foram: (1) Uma pesquisa
básica quantitativa exploratória a respeito da bibliografia, através de uma revisão
sistemática da literatura, para verificar trabalhos que indicassem os impactos que a
utilização do TDD poderia causar no processo de elicitação e análise de requisitos
dentro do Scrum, foram encontrados indícios de que a criação de casos de testes antes
de escrever os requisitos, através da utilização de algumas técnicas semelhantes ao
TDD, de fato melhoraram o processo de elicitação e análise de requisitos dentro do
Scrum; (2) Uma pesquisa aplicada qualitativa explicativa, através de um estudo de caso
11
Trilha da Indústria
real na indústria, para verificar se o TDD de fato poderia proporcionar os mesmos
benefícios ao processo de elicitação e análise de requisitos para equipes multifuncionais
do Scrum, assim como outras técnicas semelhantes ao TDD conseguiram proporcionar.
Os resultados obtidos foram que o processo de criar casos de testes antes de escrever de
fato o código fez com que os desenvolvedores do experimento realizassem
questionamentos sobre os requisitos, melhorando não somente a análise de tais
requisitos, mas também melhorando o processo de elicitação de novos requisitos.
Os tópicos abordados na apresentação serão: Engenharia de Requisitos
(elicitação e análise de requisitos); Metodologias ágeis (Scrum), Problemas da
engenharia de Requisitos dentro do Scrum; Test Driven Development; Test Driven
Development para enriquecer o processo de elicitação e análise de requisitos dentro do
Scrum, uma revisão sistemática; Os impactos do Test Driven Development no processo
de elicitação e análise de requisitos para equipes multifuncionais no Scrum, um
experimento realizado na indústria.
2. Audiência
Essa palestra destina-se a desenvolvedores, analistas, gerentes de projetos,
engenheiros de software e todos os profissionais da área de Tecnologia da Informação
que tem curiosidade, admira, utilizam ou gostariam de utilizar métodos ágeis com
sucesso, sobretudo a metodologia de desenvolvimento Scrum.
3. Palestrantes
A palestra será ministrada pelo Engenheiro de Software Rafael Soares da
Stefanini IT Solutions, também mestrando do Programa de Pós-graduação em
Engenharia da Computação da Universidade de Pernambuco (PPGEC), sob a orientação
da Profa Doutora Fernanda Alencar da Universidade Federal de Pernambuco no
PPGEC.
O palestrante possui as certificações de CSM (Certified Scrum Master) e CSPO
(Certified Scrum Product Owner), ambas pela Scrum Alliance. Está envolvido com
metodologias ágeis e a utilização de técnicas da engenharia de software desde 2007.
Todos os estudos publicados pelo palestrante tem o foco em metodologias ágeis.
7. Referências
COHN, M.: Desenvolvimento de software com:Aplicando métodos ágeis com sucesso,
Bookman 2011.
D. JANZEN, H. SAIEDIAN.: On the Influence of Test-Driven Development on Software
Design. Kansas,USA. (2011)
M. SINIAALTO, P. ABRAMHAMSSON.: A Comparative Case Study on the Impact of
Test-Driven Development on Program Design and Test Coverage. Oulu,
Finland. 2010
12
Trilha da Indústria
O Que 10 anos de Experiência Ensinaram a Empresa ORG
sobre Desenvolvimento Distribuído de Software
Sabrina Marczak1, Marcelo Perin1, Rafael Prikladnicki1, Christiano Ayub2,
Geraldo Gomes2
1
Faculdade de Informática – Pontifícia Universidade Católica do RS (PUCRS)
Av. Ipiranga, 6681 – Partenon – 90.619-900 – Porto Alegre – RS – Brazil
2
Centro de Desenvolvimento de Software, Empresa ORG
Porto Alegre – RS – Brazil
{sabrina.marczak,mperin,rafaelp}@pucrs.br, {christiano.ayub,
gsgomes39}@gmail.com
Abstract. Outsourcing software processes has become a common pratice in
the IT industry but professionals at ORG, a large multinational company,
knew close to nothing about it when they first started 10 years ago. This
decade of experience has thought them about how to collaborate with remote
teams. For instance, they learned about which tools to use to support distant
collaboration, how to defined shared processes to guide the work to be done,
and how to reach a common ground to better understand the domain
knowledge of the software applications to be developed. In this talk we would
like to share key lessons learned over these 10 years developing software in a
distributed fashion. Our contribution is valuable to those who would like to
establish distributed software teams or to those aiming to improve their
current ones.
Resumo. Desenvolver software distribuidamente tornou-se comum entre
empresas de TI, mas os profissionais da empresa ORG, uma multinacional da
área, pouco sabiam sobre o assunto quando começaram há 10 anos. Esta
década de experiência ensinou aos mesmos como colaborar com equipes
remotas. Por exemplo, aprendeu-se sobre quais ferramentas usar para apoiar
colaboração com as equipes remotas, como definir processos para apoiar o
trabalho a ser feito e como estabelecer conhecimento mútuo entre as equipes
para facilitar a compreensão das áreas de domínio das aplicações. Nesta
palestra vai-se compartilhar as principais lições aprendidas neste período
sobre como trabalhar com equipes distribuídas de software. A contribuição é
válida para quem deseja formar equipes para trabalhar neste contexto ou
quem deseja melhorar suas equipes atuais.
1. Resumo da Proposta de Apresentação
Com o movimento da globalização no final da década de 90, negócios se tornam
globais, fomentando o surgimento do desenvolvimento distribuído de software
(Herbsleb and Moitra, 2001), aonde integrantes de equipes são deslocados para
mercados próximos do cliente facilitando o entendimento de necessidades de negócio
localizadas. Neste novo cenário, equipes de software precisam responder rapidamente às
13
Trilha da Indústria
mudanças econômicas e de mercado, visando manter suas empresas competitivas.
Assim, respostas rápidas à mudanças do escopo do projeto e dos requisitos do software,
alinhadas à uma entrega rápida e de qualidade tornam-se essenciais para o atendimento
das demandas do cliente.
Problemas tradicionais de desenvolvimento de software, tais como a dificuldade
de compreensão dos requisitos elicitados com o cliente (Damian and Zowghi, 2003),
falhas de comunicação entre membros da equipe (Herbsleb and Mockus, 2003),
retrabalho e atrasos causados pela falta de coordenação entre membros da equipe
(Herbsleb et al., 2000), entre outros, ficam ainda mais exacerbados neste novo cenário.
Profissionais de software precisaram entender como trabalhar neste novo contexto,
aonde diferenças culturais e distância física impõem também desafios desconhecidos até
aquele momento (Carmel, 1999).
Desde então, a literatura na área cresceu vastamente, indicando processos, boas
práticas, ferramental, etc bem como desafios e riscos associados ao desenvolvimento
distribuído de software. Grande parte desta literatura é baseada em estudos empíricos
como relatado no estudo de Darja et al. (2010). Dentre as empresas de desenvolvimento
software em escala global localizadas no Brasil, a ORG1 é uma das pioneiras. Instalouse no Brasil com o apoio da Lei de Informática (Lei no. 8.248/91), e desde então vem
contribuindo para o desenvolvimento do país em vários aspectos. O Centro de
Desenvolvimento da ORG começou com apenas 20 funcionários contratados para
desenvolver uma única aplicação em conjunto com a matriz da empresa e hoje, mais de
10 anos depois, conta com mais de mil funcionários colaborando em projetos
desenvolvidos em parceria com mais de 10 países localizados em 4 continentes.
Nestes 10 anos de trabalho com equipes de software distribuídas, a ORG passou
por diversas reorganizações estruturais (e.g., alterando definições de funções
organizacionais); realinhamento de processos de trabalho, tendo definido os mesmos
usando modelos como o CMMI; mudando de parceiros para apoio de ferramental
tecnológico, impactando como projetos utilizam recursos para apoio à comunicação e
coordenação de tarefas bem como para armazenamento de artefatos gerados; entre
outros aspectos. Também se desenvolveu uma cultura de aproximação com os membros
de equipes que estão localizados em outros países, seja pelo aprendizado sobre a cultura
local destes ou pela aquisição de maturidade em como se colaborar em projetos desta
natureza. Ainda, neste período, a ORG vem sendo acompanhada pelo grupo de pesquisa
co-autor desta proposta, tendo um olhar externo e metódico baseado em princípios
científicos para apoiar suas iniciativas de melhoria e retroalimentar a forma de trabalho
com as lições aprendidas e apontadas por esta equipe. O pioneirismo da ORG gerou um
ecosistema que hoje traz benefícios não apenas à região que a mesma esta localizada,
mas também ao Brasil como um todo.
Neste contexto, a proposta desta palestra é, de forma sucinta e consolidada,
compartilhar as principais lições aprendidas pela ORG nestes 10 anos de trabalho com
equipes distribuídas e globais de software no intuito de auxiliar àqueles que desejam
embarcar neste tipo de trabalho ou desejam melhorar como suas equipes distribuídas
atuam hoje. Vai-se destacar os principais pontos identificados em um estudo conduzido
recentemente pela equipe de pesquisa para identificar os aspectos que promoveram o
1
O nome da empresa foi omitido por políticas de privacidade da mesma.
14
Trilha da Indústria
sucesso dos projetos realizados na organização desde sua criação. Estes aspectos dizem
respeito principalmente a formação e configurações de equipes distribuídas e à gestão
do escopo e dos requisitos do projeto. Os mesmos serão apresentados em forma de
lições aprendidas para maximizar a contribuição para a audiência esperada da palestra.
A apresentação vai ser organizada da seguinte forma:
•
Introdução ao Desenvolvimento Distribuído de Software: breve definição do
termo apenas para contextualizar a audiência e permitir que os participantes
entendam o assunto da palestra.
•
Introdução à ORG: breve descrição da empresa e seu processo de negócio,
apresentando o desenvolvimento distribuído realizado na mesma e destacando
suas grandes mudanças estruturais para caracterizar o contexto da contribuição.
•
Lições aprendidas: Os principais fatores que influenciaram o sucesso dos
projetos distribuídos na ORG nestes 10 anos serão apresentados em formato de
lições aprendidas com exemplos associados às mesmas para melhor ilustrar o
que esta sendo sugerido para àqueles que têm interesse no assunto.
•
Considerações finais: Breve mensagem final para motivar os presentes.
2. Audiência
A palestra tem como audiência qualquer profissional da área de desenvolvimento de
software, em especial àqueles que desejam melhorar os projetos de desenvolvimento
distribuídos de software ou estabelecer equipes para trabalhar neste tipo de projeto,
sejam eles gerentes de projeto, desenvolvedores, analistas de requisitos, testadores,
arquitetos de software, analistas de qualidade, entre outros.
Sugere-se que os participantes da palestra tenham conhecimento básico sobre
desenvolvimento de software e trabalho colaborativo em equipes. É desejável que o
participante tenha conhecimento sobre a definição de desenvolvimento distribuído de
software e que saiba as implicações de se trabalhar neste contexto. Entretanto, este
conhecimento não é pré-requisito obrigatório.
3. Breve Biografia dos Co-Autores da Palestra
Sabrina Marczak é Doutora em Ciência da Computação pela University of Victoria,
Canadá. É Professora Adjunta da Faculdade de Informática da Pontifícia Universidade
Católica do Rio Grande do Sul (PUCRS) e Pesquisadora do grupo de pesquisa
Munddos, o qual investiga desenvolvimento distribuído de software. Também investiga
Engenharia de Requisitos. Foi membro da equipe de negociação da Agência de Gestão
Tecnológica da PUCRS, a qual visa estabelecer projetos de P&D com a Universidade.
Foi também Gerente do Projeto CMMI-3 pela PUCRS em parceria com a ISD e a
Microsoft Brasil, e Analista de Qualidade da Dell Brasil. Palestrante em diversos
congressos científicos e cursos técnicos para empresas de TI.
Marcelo Perin é Doutor em Administração pela Universidade Federal do Rio Grande do
Sul e Pós-doutor em Marketing pela Universidad de Murcia, Espanha. É professor
titular da Faculdade de Administração, Contabilidade e Economia da PUCRS. Foi
coordenador do Comitê de Assessoramento de área da FAPERGS e é membro Ad Hoc
dos comitês de Assessoramento de área do CNPq e da CAPES. Tem experiência na área
de Administração, com ênfase em Marketing, atuando principalmente nos seguintes
15
Trilha da Indústria
temas: orientação para mercado, orientação para aprendizagem, marketing estratégico,
inovação e performance organizacional. Palestrante em diversos congressos científicos.
Rafael Prikladnicki é Doutor em Ciência da Computação pela PUCRS. É professor
adjunto da Faculdade de Informática da PUCRS e Diretor do Parque Tecnológico da
PUCRS, o TECNOPUC. Foi Diretor da Agência de Gestão Tecnológica da PUCRS e
Aluno Visitante da University of Victoria, Canadá. É Bolsista de Produtividade do
CNPq (PQ nível 2) e Coordenador do MuNDDoS, sendo um dos pioneiros em
investigar desenvolvimento distribuído de software no país. Seus interesses de pesquisa
também envolvem metodologias ágeis e engenharia de software experimental.
Palestrante em diversos congressos científicos e cursos técnicos para empresas de TI.
Christiano Ayub é Bacharel em Ciência da Computação pela PUCRS. É Gerente de TI
na empresa ORG. Sua principal responsabilidade é resguardar que os objetivos de
negócio definidos pela empresa sejam atendidos. Ele gerencia equipes distribuídas em
três continentes: América do Sul, Europa e Ásia. Atua na ORG por quatro anos. Foi
Gerente de Projetos em outras empresas. Possui experiência apresentando resultados de
projetos para clientes e executivos da empresa.
Geraldo Gomes é Mestre em Administração e Negócios pela PUCRS. É Gerente Sênior
de TI na empresa ORG. Sua principal responsabilidade é alocar membros à equipes e
gerenciar o desenvolvimento de suas carreiras. Foi Gerente Sênior de Projetos de
Software, sendo que gerenciava equipes no Brasil, nos Estados Unidos e na Índia. Foi
também o primeiro contratado do departamento de TI da ORG, dando início aos
primeiros projetos distribuídos na história da empresa. Possui experiência apresentando
resultados de projetos para clientes, executivos e membros do comitê diretivo da ORG.
Agradecimentos
Agradecemos o programa PDTI, financiado pela Dell Computers do Brazil Ltd. (Lei
8.248/91) e o CNPq (309000/2012-2).
Referências
Herbsleb, J. and Moitra, D. (2001) Global Software Development. In IEEE Software,
vol. 18, no. 2, pp. 16–20.
Damian, D. and Zowghi, D. (2003) RE Challenges in Multi-Site Software Development
Organisations. In Requirements Engineering, vol. 8, no. 3, August, pp. 149-160.
Herbsleb, J. and Mockus, A. (2003) An Empirical Study of Speed and Communication
in Globally Distributed Software Development. In IEEE Transactions on Software
Engineering, vol. 29, no. 6, June, pp. 481-494.
Herbsleb, J., Mockus, A., Finholt, T., and Grinter, R. (2000) “Distance, Dependencies,
and Delay in a Global Collaboration”. In: Proc. of the Conference on Computer
Supported Collaborative Work, Philadelphia, USA, ACM, pp. 319-328.
Carmel, E. (1999), Global Software Teams: Collaborating Across Borders and Time
Zones, Prentice Hall, New York, USA.
Smite, D., Wohlin, C., Gorschek, T. and Feldt, R. (2010) Empirical Evidence in Global
Software Engineering: A Systematic Review. In Empirical Software Engineering,
vol. 15, no. 1, pp. 91-118.
16
Trilha da Indústria
Scrum pode causar falhas em projeto? Como lidar com isso?
Andreia Matos dos Santos1 , Igor de Borborema Correia2
1
2
Instituto Nokia de Tecnologia - INdT
Manaus – AM – Brazil
Department of Product Validation – Product Creation
[email protected], [email protected]
Abstract. According to Schwaber, Scrum is not a predictable process; and does
not define what to do in all circumstances. Despite being a methodology of the
exact sciences, it has much of the human area and this needs to be considered.
Scrum is not a ”miracle”, that let alone will offer a ”recipe ready” to solve
all your problems. As in traditional processes of development and other agile
methodologies, Scrum has advantages and disadvantages, and at some point
one or a set of them, could cause the failure in the project. In this presentation
we’ll present some best practices used to solve common problems, or minimize
the use of Scrum, using real examples found in projects at Nokia Institute of
Technology, in other words, when problems occurred which strategies we use
to solve and what difficulties we face. It will be the opportunity to promote a
mindset that problems are possible to circumvent; through the use of some good
practices, it is possible to achieve a level of maturity of the agile team, using the
best of Scrum.
Resumo. De acordo com Schwaber, scrum não é um processo previsı́vel; não
define o que fazer em todas as circunstâncias. Apesar de ser uma metodologia das ciências exatas, tem grande parte da área humana e isso precisa ser
considerado. Scrum não é um ”milagreiro”, e muito menos vai oferecer uma
”receita pronta” para resolver todos os seus problemas. Como nos processos de desenvolvimento tradicionais e outras metodologias ágeis, Scrum tem
vantagens e desvantagens e, em algum momento uma ou um conjunto delas,
poderia causar o fracasso do projeto. Nesta apresentação vamos apresentar
as melhores práticas utilizadas para resolver ou minimizar problemas comuns
no uso do Scrum, utilizando exemplos reais encontradas em projetos no Instituto Nokia de Tecnologia, em outras palavras, quando os problemas ocorreram
quais as estratégias que usamos para resolver e quais as dificuldades que enfrentamos. Será a oportunidade de promover uma mentalidade que os problemas são possı́veis de contornar; através do uso de algumas boas práticas, é
possı́vel atingir um nı́vel de maturidade da equipe ágil, usando o melhor do
Scrum.
1. Descrição
No desenvolvimento de software, os gestores estão cada vez mais sob pressão para
obterem resultados que impulsionem uma melhoria do produto final, o que tem levado a
17
Trilha da Indústria
um crescimento no uso de metodologias ágeis na gestão de projetos de desenvolvimento
de software, cujo objetivo é maximizar a produtividade de um grupo de trabalho com a
promessa de entrega rápida, flexibilidade e qualidade.
O termo Scrum foi associado ao desenvolvimento pela primeira vez por Hirotaka Takeuchi e Ikujiro Nonaka no livro The New Product Development Game. Os autores enaltecem a importância de se adotar uma forma de desenvolvimento onde toda a
equipe trabalhe como uma unidade para atingir um objetivo comum. Ou seja, nesses
projetos existem times trabalhando como uma unidade altamente integrada com cada
membro desempenhando um papel bem definido e o time inteiro focando num único
objetivo entrega do produto. Em 1995, Ken Schwaber formalizou o Scrum para projetos de desenvolvimento de software baseado no sistema lean da Toyota, onde o objetivo
era eliminar práticas de controle desnecessárias, inadequadas e burocráticas, se concentrando na essência do processo de confecção de sistemas de informação. O Scrum é
bastante objetivo, possuindo metas claras, equipe bem definida, flexibilidade, comprometimento, cooperação; e sua curva de aprendizado é relativamente baixa. Segundo seu
autor Schwaber (2004), o Scrum não é um processo previsı́vel, ele não define o que fazer
em todas as circunstâncias.
Ele é utilizado em trabalhos complexos onde não é possı́vel prever os acontecimentos e oferece um framework e um conjunto de práticas que torna tudo visı́vel. Isso
permite a equipe ter uma visão exata dos fatos ao longo do projeto e se necessário, realizar os devidos ajustes visando alcançar seus objetivos. Este é um dos pontos fortes do
Scrum: Adaptabilidade e Flexibilidade. Apesar de o Scrum ser uma metodologia da área
de exatas, ela tem muito da área de humanas e isso precisa ser levado em consideração o
tempo todo. Ou seja, o Scrum não é milagreiro e muito menos irá oferecer uma receita
pronta para resolver todos os seus problemas. O Scrum foca as pessoas que desenvolvem
o software e não o processo em si, que geralmente seguem requisitos rı́gidos definidos no
inı́cio do projeto.
Assim como outros processos e metodologias ágeis, o Scrum possui vantagens e
desvantagens e em algum momento do projeto uma desvantagem ou um conjunto delas,
pode vir a causar sérias falhas em projetos. Pensamentos ou problemas, como os listados abaixo, podem atrapalhar o uso do framework e comprometer o bom andamento da
execução do projeto.
- Scrum nunca falha! É uma estrutura simples, mas não tão fácil de implementar,
- É uma forma completamente nova de pensar e difı́ci de mudar a mentalidade da
equipe, não é apenas uma lista de práticas,
- Você fazer reuniões diárias de pé com duração de 15 minutos não significa que faz
Scrum,
- Vai acabar voltando às velhas normas dos modelos tradicionais,
- Muitas cerimônias Scrum que demoram e causam atrasos,
- ScrumMasters ruins, atuando como ”chefes”,
- Falha ao fazer uma lista de priorização e/ou de impedimentos,
- Não dá-se suficiente atenção para a arquitetura, experiência do usuário e soluções
alternativas,
- Incapacidade de manter toda a equipe comprometida nas reuniões de planejamento,
18
Trilha da Indústria
-
Falta do entendimento de toda a equipa em relação aos Critérios de Aceitação,
PO é surpreendido durante o Sprint Review,
Dificuldade em rastrear de forma efetiva o rastreamento da velocidade do time,
Utilização ineficaz da Retrospectiva,
Na maioria das vezes os testadores não fazem parte da Equipe,
Acúmulo de Dı́vida Técnica (defeitos aparecem no fim, custo do refactoring e
re-design), entre outros.
O desafio futuro do Scrum e também das metodologias ágeis é encontrar meios
de minimizar as suas desvantagens sem transformá-las em metodologias pesadas, como
também aumentar o número de pessoas que integram a equipe sem perder a confiabilidade
e eficiência no gerenciamento de mudanças.
Neste sentido, a palestra tem o objetivo de apresentar uma relação de boas práticas
que possam ser utilizadas por equipes de projetos simples a complexos, que façam uso
do Scrum. Essas práticas foram vividas em projetos reais no Instituto Nokia de Tecnologia, onde o Scrum é adotado a cerca de 8 anos e, portanto, onde foi possı́vel experimentar diferentes abordagens como alternativas para lidar com problemas relacionados a
metodologia durante seus projetos. A conclusão que se chega é a de que, apesar de algumas desvantagens, no Scrum e assim como outras metodologias ágeis, vale a pena se analisar as dificuldades com cuidado, pois suas vantagens ainda são superiores às metodologias conhecidas como tradicionais. Na experiência que tivemos em projetos na empresa,
chegamos a utilizar, como saı́da, a adoção de um modelo hı́brido com Scrum e Kanban
em uma certa etapa de projeto, o que foi muito positivo.
Com isto, espera-se que o público, possa ter contato com outro lado do Scrum que
não apenas as vantagens em utilizar e que saiam da palestra com a mentalidade de que
os problemas são possı́veis de se contornar e que com o uso de boas práticas se consegue
chegar à um amadurecimento de equipe ágil, extraindo o melhor da metodologia.
2. Tópicos Abordados
Os principais tópicos abordados durante a apresentação, estão listados abaixo. Os mesmos
serão enfatizados sob o ponto de vista dos problemas citados na descrição desta proposta
de apresentação, e associados as boas práticas de experiências vividas em projetos do
Instituto Nokia, onde os mesmos foram tratados de forma a minimizar o seu impacto.
-
Metodologias Ágeis
Scrum,
Priorização, Impedimentos,
Manutenção de débito técnico,
Colaboração entre membros do time,
Boas Práticas,
Vantagens e Desvantagens.
3. Audiência
Gerentes de projeto, Analistas de Teste, QAs, Desenvolvedores de software, Scrum Masters e estudantes.
19
Trilha da Indústria
4. Biografia dos autores
Andreia Matos dos Santos - Analista de testes no Instituto Nokia de Tecnologia IndT,
tem tı́tulo de Mestre com pesquisa focada em Testes em ambientes Ágeis de Desenvolvimento, uma abordagem na produção de software. Atua com testes a mais de 8 anos,
sendo os últimos 4 focados em testes ágeis. Possui certificações como CSTE Software
Tester e ISTQB - CTFL Certified Tester. Realizou publicações cientı́ficas em eventos
como o LATW da IEEE, WBMA do Agile Brazil, CBSoft 2012 e outros. Participou do
Agile Testing Days 2011 em Berlim. Tem como prática a disseminação da cultura ágil e
valorização do trabalho do teste ágil em projetos com Scrum. Interessada em livros sobre
metodologia ágil, bem artigos cientı́ficos e/ou white papers em blogs e fóruns da área.
Igor de Borborema Correia - Graduado em Engenharia de Telecom pelo Instituto de
Ensino Superior Fucapi em Manaus, especialista em Administração de Empresas pela
Fundação Getúlio Vargas - Campinas/ SP. Já atuou em diversos projetos Mobile em
grandes empresas como Nokia, Siemens e Nortel. Atualmente trabalha no Instituto
Nokia de Tecnologia como responsável pela qualidade de diversos aplicativos móveis
para plataformas Nokia e Microsoft, como por exemplo o produto MobileDeck. Realiza publicações de artigos e participa de eventos como palestrante, onde compartilha
experiências em assuntos como testes ágeis, qualidade de software e desenvolvimento de
software para dispositivos móveis.
20
Trilha da Indústria
Técnicas de Usabilidade em sistema web na fase de requisitos: um relato de experiência
Resumo:
Na busca em entender os fatores críticos para sucesso dos projetos de software, pesquisas são
realizadas com empresas desenvolvedoras e as análises apontam vários fatores relacionados às
atividades de requisitos, dos quais se destacam: (1) Requisitos Incompletos; (2) Falta de Envolvimento
do Usuário; (6) Mudança de Requisitos e Especificações.
Requisitos Incompletos e mudanças de requisitos são fatores externos à equipe de desenvolvimento, ou
seja, dependem do cliente e do analista de requisitos. Como a equipe de desenvolvimento pode agir de
maneira preventiva ao impacto desses fatores críticos e contribuir de maneira proativa com as
especificações do sistema?
Neste relato de experiência a equipe de desenvolvimento, incluindo o analista de testes, buscaram
contribuir com o fator “falta de envolvimento do usuário” através de técnicas de usabilidade baseado na
especificação de navegação do sistema. O objetivo da estratégia utilizada, foi inserir uma etapa de
refinamento dos requisitos, após criação da documentação pelos designers. Foi utilizado o teste de
usabilidade como abordagem, visando enriquecer os requisitos no ponto de vista do usuário. Esta
experiência foi positiva para o time ao ponto de que observamos o reflexo nos três principais fatores
críticos de sucesso de projeto, citados no início deste documento.
A usabilidade de sistemas, resumidamente, visa verificar o quanto o usuário pode utilizar a
funcionalidade definida e está relacionada com:
 facilidade de aprendizado;
 eficiência para uso;
 facilidade de lembrança (memória);
 diminuição de erros;
 satisfação subjetiva.
Inspeção de usabilidade não envolve usuários podendo ser usado em qualquer fase do desenvolvimento
de um sistema (implementado ou não). Já os testes de usabilidade são centrados nos usuários que
incluem métodos experimentais ou empíricos observacionais e técnicas de questionamento. Para se
usar esses métodos, é necessária a existência de uma implantação real do sistema, em algum formato,
que pode ser desde uma simulação da capacidade interativa do sistema, sem nenhuma funcionalidade.
As regras de avaliação heurística conduzem à descoberta, à invenção, à resolução de problemas e
ajudam a traçar diretrizes para a concepção de sistemas.
Na nossa experiência vivenciada, partimos da percepção do analista de teste do projeto, a respeito da
qualidade sob o ponto de vista do usuário, foi sugerida uma etapa do análise de usabilidade antes da
fase de desenvolvimento. Apesar da equipe de projeto não possuir um especialista em usabilidade, o
time planejou dinâmicas de Nielsen com designers fora do projeto e realizou testes de usabilidade com
desenvolvedores com experiência em UX (User Experience), e que também não pertenciam a equipe do
projeto em questão.
Com os designers foi realizada uma dinâmica de avaliação de heurística das especificações de navegação
do sistema, cujo objetivo era examinar e julgar as características de interface e navegação. O grupo foi
composto por três designers de outras equipes além do analista de testes do projeto mencionado.
21
Trilha da Indústria
Já com os desenvolvedores selecionados, foi realizado teste de usabilidade sem a implantação real do
sistema, onde o mesmo foi representado pelo documento de desenho das telas, simulando as
funcionalidades do sistema. Esses desenvolvedores foram escolhidos por possuírem experiência com UX
e por acessarem sites de música (conforme característica do projeto). Com esse grupo, foram utilizadas
técnicas de questionamento, onde os desenvolvedores verbalizaram seus pensamentos enquanto
interagiam com o sistema.
Ciente do risco em levantar pontos de usabilidade distantes da realidade do usuário final, pelo fato de as
técnicas de questionamento terem sido realizadas com desenvolvedores, foiram cruzadas as
informações da dinâmica de Nielsen com as informações resultantes das técnicas aplicadas com
designers e desenvolvedores. Como resultado desse cruzamento, foram identificados pontos comuns de
melhorias os quais foram expostos à toda equipe do projeto, inclusive o Gerente, de forma a traçar um
plano de ação.
A utilização dessa estratégia mostrou-se muito positiva ao projeto, sendo o maior ganho identificado na
diminuição significativa dos riscos atrelados aos fatores críticos de requsitos em um sistema.
Nesta palestra o público poderá ter acesso aos detalhes do relato de experiência vividos em um projeto
de recomendações de músicas no Instituto Nokia de Tecnologia, onde foram utilizadas técnicas de
usabilidade a somar valor na qualidade final do produto sem custos ao projeto.
Tópicos abordados:






Requisitos de software
Heurísticas de Nielsen
Teste de usabilidade
Inspeção de usabilidade
Colaboração entre membros do time
Vantagens e Desvantagens
Audiência: Gerentes de projeto, Analistas de Teste, QAs, Desenvolvedores de software, Designers e
estudantes.
Biografia dos autores:
Igor de Borborema Correia – Mestrando em Informática pela UFAM, Graduado em Engenharia de
Telecom pelo Instituto de Ensino Superior Fucapi em Manaus, especialista em Administração de
Empresas pela Fundação Getúlio Vargas - Campinas/ SP. Já atuou em diversos projetos Mobile em
grandes empresas como Nokia, Siemens e Nortel. Atualmente trabalha no Instituto Nokia de Tecnologia
como responsável pela qualidade de diversos aplicativos móveis para plataformas Nokia e Microsoft.
Realiza publicações de artigos e participa de eventos como palestrante, onde compartilha experiências
em assuntos como testes ágeis, qualidade de software e desenvolvimento de software para dispositivos
móveis.
22
Trilha da Indústria
Andreia Matos dos Santos - Analista de testes no Instituto Nokia de Tecnologia – IndT, tem título de
Mestre com pesquisa focada em “Testes em ambientes Ágeis de Desenvolvimento, uma abordagem na
produção de software”. Atua com testes a mais de 8 anos, sendo os últimos 4 focados em testes ágeis.
Possui certificações como CSTE Software Tester e ISTQB - CTFL Certified Tester. Realizou publicações
científicas em eventos como o LATW da IEEE, WBMA do Agile Brazil, CBSoft 2012 e outros. Participou do
Agile Testing Days 2011 em Berlim. Tem como prática a disseminação da cultura ágil e valorização do
trabalho do teste ágil em projetos com Scrum. Interessada em livros sobre metodologia ágil, bem artigos
científicos e/ou white papers em blogs e fóruns da área.
23
Trilha da Indústria
Lições Aprendidas na Definição do Processo de
Entrega de Soluções do Ministério do Planejamento
Vinícius de Faria Silva1, Rodrigo Santos2, Sérgio Rodrigues2, Eduardo Gomes1,
Fernando de Siqueira Junior1, Miriam Chaves1, Cláudia Werner2, Jano Souza2
1
2
Ministério do Planejamento, Orçamento e Gestão (MPOG), Brasil
Esplanada dos Ministérios, Brasília, DF
PESC/COPPE/UFRJ – Universidade Federal do Rio de Janeiro, Brasil
Caixa Postal 68511 – CEP 21941-972 – Rio de Janeiro, RJ
{vinicius.faria-silva,eduardo.cesar,fernando.siqueira,miriam.chaves}
@planejamento.gov.br, {rps,sergio,werner,jano}@cos.ufrj.br
Resumo. Com a necessidade de melhoria da qualidade de produtos de software
e serviços relacionados, instituições de governo vêm se preocupando com a
flexibilidade e o desempenho de seus processos de desenvolvimento (Rodrigues
et al., 2013). Em alguns casos, essas instituições utilizam processos híbridos,
pois se veem frente ao desafio de balancear agilidade e disciplina (Boehm &
Turner, 2003), além de considerar questões relativas a legislação e auditoria.
Esses processos envolvem profissionais de diferentes áreas de conhecimento,
tanto dos setores de TI internos, como de clientes e colaboradores ou
fornecedores (Magdaleno, 2013). Nesse contexto, uma necessidade real é gerir
um processo de desenvolvimento que seja orientado à entrega de soluções, de
maneira eficiente e eficaz (Santos Junior & Santos, 2009).
No Ministério do Planejamento (MP), a Coordenação Geral de Sistemas
(CGSIS) despendeu esforços para mapear o processo de desenvolvimento de
software existente, denominado Processo de Entrega de Soluções (PES). O
PES permite que a CGSIS planeje, execute e gerencie projetos orientados à
entrega de soluções de software para as áreas de negócio do MP (clientes),
coordenando as atividades desenvolvidas junto aos colaboradores (terceiros). O
PES foi modelado com base no framework de processo Disciplined Agile
Delivery – DAD (Ambler & Lines, 2012), cuja abordagem é ágil (baseada na
metodologia Scrum), híbrida, orientada a meta e a riscos, people-first e dirigida
para grandes organizações, visando entregar soluções de TI. O seu
mapeamento possibilitou um maior entendimento do processo existente, de
forma a criar e manter uma base de elementos de processo de software, isto é,
tarefas, produtos de trabalho, papéis e diretrizes.
Para isso, os elementos do PES foram previamente modelados e armazenados,
utilizando a notação do Software & Systems Process Engineering Metamodel –
SPEM (OMG, 2008) e a ferramenta Eclipse Process Framework (EPF)
Composer (Eclipse, 2014), para geração de um portal web que permite
visualizar o processo. A justificativa foi primar pelo ideal da reutilização de
elementos para derivar processos para cenários específicos, favorecer a
24
Trilha da Indústria
disseminação das informações acerca do processo realizado internamente,
estimular a otimização do processo existente e evoluir o processo ao longo do
tempo, mantendo um histórico institucional (Werner & Teixeira, 2011).
Nesta apresentação, discutimos as lições aprendidas na definição do PES, fruto
da colaboração entre governo e universidade, nominalmente, o MP e o Centro
de Apoio a Políticas de Governo da COPPE/UFRJ (CAPGov). As principais
contribuições são: as reflexões acerca da definição do processo de
desenvolvimento; os resultados dos workshops e entrevistas realizadas; a
descrição das especificidades do cenário governamental; a utilização de
metodologias ágeis em grandes organizações; e a abordagem proposta (i.e.,
integração DAD/SPEM/EPF).
A apresentação está organizada nos seguintes tópicos: (1) visão geral e bases
do PES; (2) estratégia de mapeamento e modelagem do processo existente; (3)
apresentação do portal web do PES; (4) projetos nos quais o PES tem sido
aplicado; (5) pontos fortes e fracos, oportunidades e melhorias, sob as
perspectivas dos diferentes stakeholders, incluindo depoimentos e experiências
nos projetos executados pela CGSIS/MP; e (6) desafios e projetos futuros,
discutindo oportunidades para a reutilização de processos de software no PES.
Audiência. Professores e alunos de graduação e de pós-graduação em
Computação interessados em definição de processo de desenvolvimento de
software com metodologias ágeis no governo, bem como profissionais de TI de
instituições públicas e privadas, especialmente gerentes de projeto e gerentes de
processo. Não há pré-requisito específico para esta apresentação.
Referências Bibliográficas
AMBLER, S., LINES, M. (2012) “Disciplined Agile Delivery – A Practitioner’s Guide
to Agile Software Delivery in the Enterprise”. IBM Press.
BOEHM, B., TURNER, R. (2003) “Balancing Agility and Discipline: A Guide for the
Perplexed”. Addison-Wesley.
ECLIPSE (2014) “Eclipse Process Framework Project”.
<http://www.eclipse.org/epf/>. Acessado em 15/07/2014.
Disponível
em:
MAGDALENO, A. (2013) “COMPOOTIM: Em Direção ao Planejamento,
Acompanhamento e Otimização da Colaboração na Definição de Processos de
Software”. Tese (Doutorado), COPPE/UFRJ, Rio de Janeiro, Brasil.
OMG (2008) “Software & Systems Process Engineering Metamodel specification
(SPEM), v. 2.0”. Disponível em: <http://www.omg.org/spec/SPEM/2.0/>. Acessado
em 15/07/2014.
RODRIGUES, S., CHAVES, M., SANTOS, R., FARIA SILVA, V., SIQUEIRA
JUNIOR, F., SOUZA, J. (2013) “Experiências no Desenvolvimento e Manutenção de
Software no Contexto da Interação Governo-Universidade”. In: Anais do IV
25
Trilha da Indústria
Congresso Brasileiro de Software: Teoria e Prática (CBSoft), Trilha da Indústria,
Brasília, Brasil.
SANTOS JUNIOR, A., SANTOS, R. (2009) “Aspectos Sociotécnicos do
Desenvolvimento de Software Utilizando Scrum em um Caso Prático”. In: Anais do
VIII Simpósio Brasileiro de Qualidade de Software (SBQS), V Workshop Um Olhar
Sociotécnico sobre a Engenharia de Software (WOSES), Ouro Preto, Brasil, 38-49.
WERNER, C., TEIXEIRA, E. (2011) “Linha de Processos de Software: Explorando
Variabilidades na Reutilização de Processos de Software”. In: Anais do II Congresso
Brasileiro de Software: Teoria e Prática (CBSoft), Tutoriais, São Paulo, Brasil.
Biografia dos Apresentadores
Vinícius de Faria Silva é Coordenador-Geral de Sistemas do Departamento de Tecnologia da
Informação da Secretaria Executiva do Ministério do Planejamento, Orçamento e Gestão.
Rodrigo Santos é doutorando agraciado com a bolsa Doutorado Nota 10 da FAPERJ (com período na
University College London) e mestre (2010) do Programa de Engenharia de Sistemas e Computação
(COPPE/UFRJ). Possui 10 anos de experiência na área de Computação, com resultados apresentados em
publicações e tutoriais (CBSoft 2013/2012, SBSI 2013/2011/2010, CIbSE 2012, ERIN3 2012, ICTAC
2010, ERIN 2010/2009, SBIE 2010, SBQS 2009), além de consultorias em Engenharia de Software pela
Fundação Coppetec no Centro de Pesquisa em Energia Elétrica (CEPEL), Centro Avançado de Pesquisa
em Governo da COPPE (CAPGov) e Ministério do Planejamento, Orçamento e Gestão do Governo
Federal (MP). É avaliador de cursos superiores na área de Computação e Informática pelo Ministério da
Educação do Governo Federal (MEC). Realiza pesquisas nos temas Ecossistemas de Software,
Reutilização de Software e Governo Eletrônico. CV Lattes: http://lattes.cnpq.br/8613736894676086.
Sérgio Rodrigues é pesquisador do Programa de Engenharia de Sistemas e Computação da
COPPE/UFRJ. Possui Doutorado (2012) e Mestrado (2006) em Engenharia de Sistemas e Computação
pela COPPE/UFRJ e MBA em Gerenciamento de Projetos pela FGV (2008). Sócio da Plataforma
Soluções em Gestão Empresarial LTDA e sua experiência em gerenciamento de projetos de TI abrange
trabalhos desenvolvidos para o setor de óleo e gás, telecomunicações, software houses e governo. Além
disso, atua como Professor de Graduação e Pós-Graduação em diversas instituições e áreas de atuação,
como negociação e resolução de conflitos, inteligência de negócios, gerenciamento de projetos e possui
diversos artigos publicados em importantes conferências nacionais e internacionais. Tradutor e revisor
do Livro "Barriers to Conflict Resolution", cujo autor, Kenneth Arrow foi prêmio Nobel em Economia
em 1972. Coordenador do CAPGov Centro de Apoio à Políticas de Governo da COPPE/UFRJ, com
atuação em projetos de tecnologia da informação para esferas de Governo, como: Ministério do
Planejamento, Casa Civil, Eletrobrás, Petrobras, Procuradorias, Governo Estadual e Prefeitura
Municipal do Rio de Janeiro, entre outros. CV Lattes: http://lattes.cnpq.br/3916560675417396.
Eduardo Gomes é Diretor da Diretoria de Tecnologia da Informação da Secretaria Executiva do
Ministério do Planejamento, Orçamento e Gestão. Possui graduação em Sistemas de Informação pela
Faculdade Alvorada (2004), MBA em Gestão de Projetos de Software (2008) e MBA em Testes de
Software (2009) pelo Centro Universitário Euro Americano de Brasília. É certificado CBTS
(Certificação Brasileira de Teste de Software) ALATS (2007), CSTE (Certified Software Tester) QAI
(2009), CTAL-Test Analyst e CTAL-Test Manager (Certified Tester, Advanced Level) BSTQB (2011),
além de Implementador MPS.BR SOFTEX (2007). Funcionário do Banco do Brasil desde 1993, a partir
de 2000 atuou como desenvolvedor e gestor de equipes de projetos, testes de software e governança de
TI, na Diretoria de Tecnologia. Foi também Educador Corporativo no Banco do Brasil, atuando em
cursos de Desenvolvimento de Software, Requisitos e Testes de Software. CV Lattes:
http://lattes.cnpq.br/7423875712127675.
Fernando de Siqueira Junior é Secretário Adjunto da Secretaria de Logística e Tecnologia da
Informação, do Ministério do Planejamento, Orçamento e Gestão. Possui graduações em Ciências
Contábeis pelo Centro de Ensino da Alta Paulista (1987) e em Tecnologia em Processamento de Dados
26
Trilha da Indústria
pela Universidade Estadual Paulista Júlio de Mesquita Filho (1991). Tem especializações em Auditoria
pela Universidade de São Paulo (1999) e em Auditoria de Sistemas pela Universidade de Brasília (1999)
e é Mestre em Administração pela Universidade de Brasília (2007). Desde 1981, é funcionário do Banco
do Brasil (em TI desde 1993), onde atuou como Gerente de Equipe de TI da Diretoria de Tecnologia até
setembro de 2009. Tem certificado de participação em cursos nas áreas de TI, Gestão e Mercado
Financeiro. Na UnB, foi professor de Sistemas de Computação Aplicados à Administração na Faculdade
de Administração e pesquisador do Programa de Pós-graduação em Administração. CV Lattes:
http://lattes.cnpq.br/0268927130237538.
Miriam Chaves é Diretora de Programa no Ministério do Planejamento, Orçamento e Gestão. Graduada
em Engenharia Elétrica, com ênfase em Eletrônica, pela Universidade Santa Úrsula (1982), possui
especialização (1981) em Análise de Sistemas, mestrado (1986) e doutorado (1994) pela Pontifícia
Universidade Católica do Rio de Janeiro, com período sanduíche na University of Cambridge (1989).
CV Lattes: http://lattes.cnpq.br/2231020112046439.
Cláudia Werner é doutora (1992) e professora associada IV do Programa Engenharia de Sistemas e
Computação da COPPE/UFRJ na área de Engenharia de Software desde 1994, onde lidera o Grupo de
Reutilização de Software. É pesquisadora 1D do CNPq, Cientista do Nosso Estado (FAPERJ) e tem
desenvolvido atividades de coordenação de projeto há 20 anos, nos temas Reutilização de Software,
Desenvolvimento Baseado em Componentes, Linha de Produtos de Software e Ecossistemas de Software.
Ministrou vários cursos, palestras e tutoriais na área de Engenharia de Software, em eventos nacionais e
internacionais. CV Lattes: http://lattes.cnpq.br/9719247117370600.
Jano Souza possui graduação em Engenharia Mecânica pela Universidade Federal do Rio de Janeiro
(1974), mestrado em Engenharia de Sistemas e Computação pela Universidade Federal do Rio de
Janeiro (1978) e doutorado em Sistemas de Informação - University of East Anglia (1986). Atualmente,
é professor titular da Universidade Federal do Rio de Janeiro e pesquisador 1D do CNPq. Tem
experiência na área de Ciência da Computação, com ênfase em Banco de Dados, atuando principalmente
nos seguintes temas: Banco de Dados, Gestão do Conhecimento, Sistemas de Suporte à Negociação,
Computação Autonômica e Trabalho Cooperativo. CV Lattes: http://lattes.cnpq.br/8130520066599912.
27
Trilha da Indústria
MAnGve: a step towards deploying Agile Governance
Alexandre J. H. de O. Luna1,2, Ivaldir H. de Farias Junior1, Philippe Kruchten2,
Hermano Moura1
1
2
Informatics Center (CIn). Federal University of Pernambuco (UFPE). Av. Jornalista
Anibal Fernandes, s/n, Cidade Universitária, 50740-560, Recife, PE, Brazil.
Department of Electrical and Computer Engineering (ECE). The University of British
Columbia (UBC). 2332 Main Mall. Vancouver, BC, V6T 1Z4, Canada.
[email protected], [email protected], [email protected], [email protected]
Abstract. Context: Agility at the business and organizational levels presents a challenge for many
enterprises. Business agility demands the ability to sense and respond to changes in competitive
environments, whereas organizational agility demands the dexterity to sense broader market
opportunities and respond with changes that are organization-wide. These challenges require an
information and communication technologies (IT) environment flexible and customizable
simultaneously with the coordination across multiple organization units, also demands effective
and responsive governance in order to deliver value faster, better, and cheaper to the business.
Objective: This presentation introduces an agile framework called MAnGve, as an alternative to
implement and improve governance processes and service management on an agile lifecycle. In
addition, we describe the MAnGve’s application in the context of the Brazilian government.
Method: Adopting an in-depth case study approach, we privileged the participant observation in
which the research is conducted within the company itself, and where the status of the researcher
is not highlighted. The case study was based on observation, interviews with the different actors
of the company, as well as by the metrics generated by the results achieved upon the application
of the framework. Results: After only two tides (complete lifecycle of the framework), along eight
months, the involved team had been capable to implemented three governance processes and one
service management function (service desk). At the same time, the team evolved from an operation
based on "firefighting" to a maturity stage, where they are able to express their initiatives in
terms of service management. Conclusion: Indeed, the framework's application generated a set of
positive and concrete evidences, such as: i) guiding the team: “where to begin?”, “how to
adapt?”, and “what to prioritize?”; ii) reducing the costs, timing and external dependencies.
Those evidences lead the authors to believe that the MAnGve’s application can be replicated
upon other organizations, achieving similar positive results. Moreover, those results encourages
future works in which through a relational integration mechanism as well as a better
understanding of the agile governance arrangements can help the organizations to attain greater
enterprise agility and support their overall strategy.
Keywords — Information Systems, Agile Governance, IT management, IT Governance, Service
Management, Software Engineering.
1.Overview
Governments and corporations are increasingly realizing the emerging importance of Information and
Communication Technologies (ICT) as catalyst factor of the driving aspects of change, renewal and
implementation cycle of their business. These organizations are deepening the perception about how the
Information Technologies (IT1) capabilities are becoming key factors of success in the evolving of their market
competitiveness and the achievement of their institutional mission [Gallagher and Worrell 2007; Tallon 2008].
1
“IT” and “ICT” in this study will be used as synonyms, and understood as the means by which are covered the infrastructure, services
and software as well as the organizational capabilities established to support the business.
1
28
Trilha da Indústria
1.1.Introduction
In recent years, IT has seen an increase in investment and research focus in both the academic and the professional
environments. These initiatives have entailed efforts to improve management models and to implement practices
that make enterprises more competitive.
Competitiveness is related with the idea to make more, better and faster, with less resources [Janssen and Estevez
2013]. At the same time, governance is closely related with the ability to steer (to guide, to govern) an
organization, which may be a company, a government or a society [Bloom 1991]. In other words, governance is a
key driver to “make things happen” on organizational environment. On the other hand, to achieve good governance
demands capabilities such as flexibility, responsiveness and adaptability, as well as an effective and responsive
sense of coordination across multiple business units. Actually, these capabilities belong to the agility paradigm in
consonance with several authors, such as [Matt 2007], [Chen et al. 2008], [Li 2010].
Moreover, [Kruchten 2011] define agility as: “the ability of an organization to react to changes in its
environment faster than the rate of these changes”. In fact, this definition uses the ultimate purpose or function of
being agile for a business, unifying and standardizing agile and lean approaches as simply "agile", rather than
defining agility by a labeled set of practices or by a set of properties defined in opposition to the agile manifesto
approach [Beck et al. 2001]. Going beyond, a “good governance” requests particularly “organizational agility”,
which is stated by [Thomsett 2013] as: “the ability of an organization to respond quickly and effectively to
unanticipated events in its environment”.
As a result, agility became an important business aspect, and according to [Luftman et al. 1993], business agility
is: "the ability to change the direction of the environment and respond efficiently and effectively to that change".
In consonance with this definition, we distilled a new definition to business agility for use in this study as: “the
ability to deliver value2 faster, better, and cheaper to the business”.
In line with these concepts, “agile governance” becomes the application of agile capabilities3 on governance
issues4 in order to improve business agility, what we believe that can result in significant economic outcomes for
companies and governments. In the subsequent sections this paper gives an overview of the related theoretical
background, the related work, benefits to be achieved by the audience, the agenda summary, the suggested
audience's profile and a short Bio of the speaker.
1.2.Background and Related Work
In this scenario, IT governance, through which corporate governance5 is applied, has emerged as an option to the
effective management and control of IT services in organizations, ensuring the payback of investments and the
improvement and innovation of business processes [IT Governance Institute 2001].
Through the influence of factors related to market regulation, such as the Sarbanes-Oxley Act [Congress of the
United States of America 2002] and the Basel Accords [Bank for International Settlements 2010], the use of
governance is also motivated by other objectives, such as: i) reducing the costs of business unavailability; ii)
assurance of continuity of business processes; iii) guarantee of IT investments payback; and, iv) increasing
organizational competitiveness [Weill and Ross 2004].
Ribeiro and Barata [2011] pointed out that to face competition; enterprises have adopted more efficient
organizational dynamics that enable them to respond to socio-economic pressures while tackling profitable but
volatile business opportunities. This led to the emergence of several types of networked interactions: supply
chains, extended enterprises, virtual enterprises, collaborative networks, among others. Overall, agility is
fundamental as the establishment of such networked organizations is not trivial. Partners will share profits, risks
and responsibilities and ultimately the performance and success of the entire structure will always be dragged
down by the less agile participant [Brown et al. 2013; Royce and Cantor 2013].
In practice, the design and maintenance of the IT systems for enterprise agility can be a challenge when the
competitiveness of organization’s products and services is depending of the application of models and frameworks
that have no guidance details of how to implement and deploy the necessary management instruments and
governance mechanism [Luna et al. 2013]. Consequently, the challenges become even greater when dealing with
these matters on a global software development and distributed environment, where cultural differences, awareness
and communication style, if not treated properly can lead to conflicts. Arguably, in Global Development
Environments governance issues are even more relevant and necessary, as well as its implementation even greater
challenging [Dubinsky et al. 2011].
2
“An informal term that includes all forms of value that determine the health and well-being of the firm in the long run.” [BD 2013]
“The power or ability to do something.” [OED 2013]
4
“An important topic or problem for debate or discussion.” [OED 2013]
5
“is the set of processes, policies, rules, laws and institutions that affecting the way as a corporation is directed, administered or
controlled” [Cadbury 1992]
3
29
2
Trilha da Indústria
Several authors [Luna et al. 2010; Qumer and Henderson-Sellers 2008; Roosmalen and Hoppenbrouwers 2008;
Sun et al. 2005] have pointed out the lack of methods, techniques and tools to help people and enterprises to
achieve the business goals, means by the governance issues, in an agile way independent from the business area.
At same time, many authors [Banihashemi and Liu 2012; Bartenschlager and Goeken 2010; Heston and Phifer
2011; Radnor and Johnston 2013] claim that the governance practices, models, guides and frameworks are most of
them bureaucratic, time consuming and having no guidance details of how to implement and deploy the necessary
management instruments and governance mechanism, such as ITIL [Mendel 2004], COBIT [Gerke and Ridley
2009], among others. These processes, models, guides and practices will be denominated “conventional or
traditional governance”, by this study, according the shortcomings identified in their context.
Over the last few years, Agile methodologies [Dybå and Dingsøyr 2008] have been gaining traction in industry
and adding competitiveness and dynamism to the process of software development, through initiatives where the
principles of communication and collaboration are essential [Dubinsky and Kruchten 2009]. Moreover, Dubinsky
and Kruchten [2009] and Dubinsky et al. [2010] highlight that Software Development Governance (SDG) has
emerged in the last few years to deal with establishing the structures, policies, controls, and measurements for
communication and for decision rights, to ensure the success of software development organizations.
Recently, agile governance has been proposed [Cheng et al. 2009; Luna et al. 2010; Qumer 2007], which
provides the wide application of principles and values of Agile Software Development [Beck et al. 2001] to the
conventional governance processes. Luna [2009] has developed a framework for agile governance, in order to
implement and improve governance in organizations, called MAnGve. This framework is focused to the
deployment process, as a catalyzer to accelerate the deployment of governance. The MAnGve framework is
designed to alleviate the lack of practical focus found in conventional governance models [MAnGve 2009]. The
MAnGve is a framework based on an agile life cycle, seeking to translate the principles, values and practices from
Agile Software Development to IT governance paradigm [Luna 2011]. However, altogether the agile governance
phenomena still remain unexplored in depth, and are currently the focus of the first author's doctoral research.
1.3.Benefits
The audience will have the opportunity to experience and discuss the following topics upon the context of
framework and its case study:

What is MAnGve framework and how it can be useful?

Where to begin the implementation of governance in the enterprise?

How to adapt/customize the existing bodies of knowledge to the reality of their business?

What should be prioritized to achieve results as quickly as possible?

How to implement effective and responsive governance in order to deliver value faster, better, and
cheaper to the business?
1.4.Agenda
During the presentation we will address the following topics:

Agile Governance: this session will introduce the Agile Governance paradigm, its origins and metaprinciples.

MAnGve overview: at this topic we will present the framework overview, lifecycle, architecture,
components, practices and roles.

A practical case study: in this section we will characterize the target organization, discuss the
motivation to adopt the framework, present the results and discuss the benefits achieved.

Conclusion: finally, we will address the relevance of this initiative to the industry and government, and
discuss important aspects such as: effectiveness, facility for replication, strength of evidence, implications
for research and practices, limitations and future works.
2.Audience
This topic is essential to CEOs, CIOs, CFOs, executives, managers, government agents; team leaders, IT
professionals who wish to make their organizations more competitive and profitable, as well as scholars and
researchers who have special interest on related topics. They are busy, restless, and impatient, and usually read
books about business, governance and management, looking for tools to improve the results of their corporations.
No previous knowledge about technologies is required. However, knowledge about processes, services and
management may help the attendant to take better advantage of the content of the session.
3.Speaker’s Bio
Alexandre Luna is Ph.D. candidate of computer science at the Federal University of Pernambuco (UFPE), Center of
Informatics (CIn), Brazil; as well as a Visiting Scholar of Department of Electrical and Computer Engineering (ECE) at
The University of British Columbia (UBC), in Vancouver, Canada. He has been working on agile governance topic for
30
3
Trilha da Indústria
six years, in industry, government and academy, producing a master degree dissertation and publishing a book about it.
He holds a M.Sc. in computer science, a MBA in IT management and a B.Eng. in Chemical Engineering. He holds
certification in ITIL, COBIT, CSM and he is PMI member. He is a Consultant Analyst of Governmental Agency of
Information Technology of the Pernambuco (ATI-PE). He is a researcher of the Project Management Research Group
(GP2) from CIn-UFPE, of the Software Engineering Architecture Laboratory (SEAL) Research Group from ECE-UBC,
and of the Research Group in Technology on Health (TIS) at the Clinics Hospital (HC-UFPE). His main research
interests include: Agile Governance, IT Governance, Information Systems, Agile Methodologies, Software Engineering,
Project Management, Telemedicine, e-Business, Service Management and MAnGve.
References
Banihashemi, S. and Liu, L. (2012). [S127] (SCO-E1-054) “LEAN GOVERNANCE”: A PARADIGM SHIFT IN INTER-ORGANIZATIONAL
RELATIONSHIPS (IORS) GOVERNANCE. In Proceedings for the 20th Annual Conference of the International Group for Lean Construction.
Bank for International Settlements (2010). Third Basel Accord. http://www.bis.org/press/p100912.pdf, [accessed on Jul 22].
Bartenschlager, J. and Goeken, M. (2010). (POP-013) [S62] IT strategy Implementation Framework-Bridging Enterprise Architecture and IT Governance. In
Americas Conference on Information Systems (AMCIS) 2010 PROCEEDINGS.
BD (2013). Business Dictionary - definitions and meanings. http://www.businessdictionary.com/, [accessed on May 6].
Beck, K., Beedle, M., Bennekum, A. Van, et al. (2001). Manifesto for Agile Software Development. http://agilemanifesto.org/, [accessed on May 1].
Bloom, A. (1991). The Republic of Plato. 2nd. ed. Harper Collins Publishers. p. 509
Brown, A. W., Ambler, S. and Royce, W. (may 2013). [S132] (ACM-E1-015) Agility at scale: economic governance, measured improvement, and disciplined
delivery. In Software Engineering (ICSE), 2013 35th International Conference on. . Ieee.
Cadbury, A. (1992). The Financial Aspects of Corporate Governance. In The Committee on the Financial Aspects of Corporate Governance, UK.
Chen, R.-S., Sun, C.-M., Helms, M. M. and Jih, W.-J. (Kenny) (oct 2008). (SCD-0069) [S86] Aligning information technology and business strategy with a
dynamic capabilities perspective: A longitudinal study of a Taiwanese Semiconductor Company. International Journal of Information Management, v. 28,
n. 5, p. 366–378.
Cheng, T.-H., Jansen, S. and Remmers, M. (2009). (POP-015) [S63] Controlling and monitoring agile software development in three dutch product software
companies. In 2009 ICSE Workshop on Software Development Governance. . Ieee.
Congress of the United States of America (2002). AT THE SECOND SESSION. Sarbanes-Oxley Act of 2002. . 2002, p. 66.
Dubinsky, Y. and Kruchten, P. (2009). (POP-038) 2nd workshop on software development governance (SDG). 2009 31st International Conference on
Software Engineering - Companion Volume, p. 455–456.
Dubinsky, Y., Kruchten, P., Finkelstein, A., et al. (2010). (POP-047) [S74] Software Development Governance (SDG) Workshop. In ICSE ’10 Proceedings
of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2.
Dubinsky, Y., Ravid, S., Rafaeli, A. and Bar-Nahor, R. (aug 2011). Governance Mechanisms in Global Development Environments. 2011 IEEE Sixth
International Conference on Global Software Engineering, p. 6–14.
Dybå, T. and Dingsøyr, T. (aug 2008). Empirical studies of agile software development: A systematic review. Information and Software Technology, v. 50, n.
9-10, p. 833–859.
Gallagher, K. P. and Worrell, J. L. (14 jul 2007). (SPL-0035) [S114] Organizing IT to promote agility. Information Technology and Management, v. 9, n. 1,
p. 71–88.
Gerke, L. and Ridley, G. (2009). Tailoring CobiT for Public Sector IT Audit: An Australian Case Study. In: Klinger, K.[Ed.]. Information technology
governance and service management: frameworks and adaptations. 1st. ed. Hershey: Information Science Reference (an imprint of IGI Global). p. 101–
125.
Heston, K. M. and Phifer, W. (2011). (SCO-001) [S90] The multiple quality models paradox: how much “best practice”is just enough? Journal of Software
Maintenance and Evolution, n. July 2009, p. 517–531.
IT Governance Institute (2001). Board briefing on IT governance. 2nd. ed. Rolling Meadows: IT Governance Institute. p. 66
Janssen, M. and Estevez, E. (jan 2013). [S147] (ISI-E1-009) Lean government and platform-based governance—Doing more with less. Government
Information Quarterly, v. 30, p. S1–S8.
Kruchten, P. (2011). (SCO-006) [S92] Contextualizing agile software development. Journal of Software: Evolution and Process, p. 11.
Li, J. (2010). (I3E-0147) [S47] A Study on the First Layer Assessment Variables of Logistics Quick Response Capability. In 2010 Second International
Conference on Multimedia and Information Technology. . Ieee.
Luftman, J., Lewis, P. and Oldach, S. (1993). Transforming the enterprise: The alignment of business and information technology strategies. IBM Systems
Journal, v. 32, n. 1, p. 24.
Luna, A. J. H. de O. (2009). MAnGve: A model for Agile Governance in ICT. Federal University of Pernambuco.
Luna, A. J. H. de O. (2011). MANGVE: IMPLANTANDO GOVERNANÇA ÁGIL. Primeira ed. Rio de Janeiro: BRASPORT. p. 384
Luna, A. J. H. de O., Costa, C. P., De Moura, H. P. and Novaes, M. A. (2010). (POP-009) [S60] Agile Governance in Information and Communication
Technologies: Shifting Paradigms. JISTEM Journal of Information Systems and Technology Management, v. 7, n. 2, p. 311–334.
Luna, A. J. H. de O., Kruchten, P. and De Moura, H. P. (aug 2013). GAME: Governance for Agile Management of Enterprises: A Management Model for
Agile Governance. In 2013 IEEE 8th International Conference on Global Software Engineering Workshops. . Ieee.
MAnGve (2009). MAnGve.org - Portal of the Movement for fostering Agile Governance. http://www.mangve.org/, [accessed on May 6].
Matt, D. T. (2007). (I3E-0125) [S43] Design of changeable assembly systems-a complexity theory based approach. In IEEE Industrial Engineering and
Engineering Management.
Mendel, T. (2004). ITIL’s Final Breakthrough: From “What” to “How.”CSO Online, p. 1–3.
OED (2013). Oxford English Dictionary. http://oxforddictionaries.com, [accessed on May 30].
Qumer, A. (2007). (POP-001) [S54] Defining an Integrated Agile Governance for Large Agile Software Development Environments: A Systematic Review
and Analysis. In XP’07 Proceedings of the 8th international conference on Agile processes in software engineering and extreme programming.
Qumer, A. and Henderson-Sellers, B. (nov 2008). (POP-054) [S75] A framework to support the evaluation, adoption and improvement of agile methods in
practice. Journal of Systems and Software, v. 81, n. 11, p. 1899–1919.
Radnor, Z. and Johnston, R. (nov 2013). [S162] (SCO-E1-015) Lean in UK Government: internal efficiency or customer service? Production Planning &
Control: The Management of Operations, v. 24, n. 10-11, p. 903–915.
Ribeiro, L. and Barata, J. (2011). (ACM-0093) [S10] Re-thinking diagnosis for future automation systems: An analysis of current diagnostic practices and
their applicability in emerging IT based production paradigms. Computers in Industry, v. 62, n. 7, p. 639–659.
Roosmalen, M. W. (Matthijs) Van and Hoppenbrouwers, S. J. B. A. (Stijn) (2008). (POP-058) [S76] Supporting Corporate Governance with Enterprise
Architecture and Business Rule Management: A Synthesis of Stability and Agility. In Proceedings of the International Workshop on Regulations Modelling
and Deployment (ReMoD’08) held in conjunction with the CAiSE'08 Conference.
Royce, W. and Cantor, M. (2013). [S163] (I3E-E1-005) Economic Governance of Software Delivery. IEEE Software, v. PP, n. 99, p. 1–1.
Sun, Y., Zhang, Z. and Valota, O. (2005). (I3E-0024) [S28] A Methodology to form agile strategies in manufacturing organisations. In Proceedings. 2005
IEEE International Engineering Management Conference, 2005. . Ieee.
Tallon, P. P. (2008). (SCO-090) [S106] Inside the adaptive enterprise: an information technology capabilities perspective on business process agility.
Information Technology and Management, v. 9, n. 123, p. 21–36.
Thomsett, R. (2013). The Five Keys to Organizational Agility: From Agile to Agility. In Executive Report, Cutter Consortium.
Weill, P. and Ross, J. W. (2004). IT Governance: How Top Performers Manage IT Decision Rights for Superior Results. Harvard Business School
Publishing India Pvt. Limited.
31
4
Trilha da Indústria
Uma Arquitetura de Suporte à Decisão para Micro e
Pequenas Empresas
Fábio M. Pereira
Departamento de Ciências Exatas e Tecnológicas (DCET) – Universidade Estadual do
Sudoeste da Bahia (UESB) – Vit. da Conquista – BA
[email protected]
Abstract.Micro and Small Enterprises (MSEs) are an essential part of the
Brazilian economy. The process of decision making in this kind of
organization has undergone several changes over the past decades,
particularly with regard to the use of technology. However, as most of these
companies have a limited capacity to invest in new technologies, they tend to
the non-use of advanced business intelligence tools in supporting decision
making. This paper aims to present an architecture for decision support in
MSEs that can provide data for analysis in a simple and inexpensive way,
using business intelligence’s free tools, partial results of ongoing research.
Resumo. Micro e Pequenas Empresas (MPEs) constituem uma parte
fundamental da economia brasileira. O processo de tomada de decisão neste
tipo de organização tem passado por várias mudanças no decorrer das
últimas décadas, principalmente no que diz respeito à utilização de
tecnologia. No entanto, como a maioria dessas empresas possuem uma
capacidade limitada de investimento em novas tecnologias, tende-se à não
utilização de ferramentas avançadas de inteligência empresarial no apoio à
tomada de decisão. Este trabalho procura apresentar uma arquitetura de
suporte à decisão para MPEs que possa disponibilizar dados para análise de
uma maneira simples e de baixo custo, com o uso de ferramentas gratuitas de
inteligência empresarial, resultado parcial de pesquisa em desenvolvimento.
1. A Palestra
As micro e pequenas empresas (MPEs) são fundamentais no cenário econômico
brasileiro. Segundo Santos et. al. (2012), as MPEs são responsáveis por
aproximadamente 54% dos empregos formais do país, além de representarem 51% da
força urbana empregada no setor privado, 38% da massa salarial e 20% em média do
produto interno bruto.
A atual competitividade e dinamicidade do mercado estão exigindo que as
empresas tomem decisões de maneira cada vez mais rápida – o enfoque principal está
em alcançar e manter de maneira efetiva os seus clientes e diminuir os custos para se
obter um maior lucro agregado à competitividade. Muitas variáveis estão envolvidas no
processo decisório de uma empresa, algumas explícitas, porém, muitas ocultas. Logo,
torna-se necessário a criação de um sistema que dê suporte ao processo de tomada de
decisão, a fim de que se obtenha sucesso nos negócios. O empresário deve tomar suas
32
Trilha da Indústria
decisões baseadas na análise de todas as variáveis e encontrar a alternativa mais viável a
ser seguida.
Devido a sua representatividade, as MPEs não podem ficar de fora dos avanços
tecnológicos e administrativos. Elas têm que se adequar à tendência administrativa no
que diz respeito ao uso de novas tecnologias, como é o caso dos sistemas que dão apoio
ao processo de tomada de decisão (SAD). SADs são mecanismos computacionais que se
destinam a levantar informações relevantes com o objetivo de prestar auxílio no
processo de tomada de decisão.
Entretanto, vale ressaltar que os SADs não são pacotes genéricos de software, os
quais podem ser adequados a vários tipos de empresas. Tampouco um sistema que irá
tomar as decisões e resolver os problemas das empresas. Essa ferramenta, apenas
fornece o instrumento e as informações necessárias para que os administradores das
empresas possam tomar as suas decisões. Um SAD tem como principal benefício
vantagem competitiva ou estratégica sobre os concorrentes, uma vez que, encoraja os
tomadores de decisão na exploração e descoberta dos possíveis benefícios.
Logo, surge a possibilidade de criar oportunidades de conduzir as pequenas
empresas rumo a uma eficiência administrativa e financeira através de estudos das variáveis
que lhes são peculiares, produzindo um sistema de apoio à decisão para que os tomadores
de decisão tenham maior e melhor suporte nas mesmas, um sistema que deve ser de baixo
custo, haja vista que um dos principais empecilhos para que uma MPE não se beneficie de
tais sistemas é o seu custo elevado de desenvolvimento, implantação e manutenção
(Fagundes, 2014).
A arquitetura de um SAD inclui: sistema de banco de dados, gerenciador OLAP
(processamento analítico online) para análise dos dados, sistema de software
gerenciador de modelos, ferramentas ETL (extração, transformação e carga), de
relatórios e de mineração de dados, além de uma interface amigável com o usuário.
A palestra é resultado parcial de projeto de pesquisa realizado na Universidade
Estadual do Sudoeste da Bahia e abordará a importância, dificuldades, vantagens,
desvantagens e estratégias de implantação de SADs em MPEs.
1.1. Benefícios
A palestra irá abordar tópicos importantes da relação entre SADs e MPEs, trazendo
como principais benefícios a análise da situação atual do uso de SADs em MPEs, as
dificuldades de implantação, quais as vantagens e desvantagens de sua utilização e quais
as alternativas para que as MPEs possam se beneficiar do uso de SADs em um futuro
próximo.
1.2. Agenda
Os seguintes tópicos serão abordados durante a palestra:
 As Micro e Pequenas Empresas
 O que são?
Resumo: apresentação do conceito de micro e pequenas empresas.
 Qual a importância?
33
Trilha da Indústria
Resumo: relato da
brasileira/mundial.
importância
das
MPEs
para
a
economia
 O processo de tomada de decisão nas MPEs
Resumo: procurar mostrar com geralmente ocorre o processo de tomada de
decisão nas micro e pequenas empresas, quais informações são mais
utilizadas e quem participa do processo.
 Sistemas de Apoio à Decisão
 Conceito e classificação
Resumo: apresenta o conceito de sistemas de apoio à decisão e de como
estes podem ser classificados.
 Arquitetura
Resumo: apresentação da arquitetura geralmente aceita para a construção
de sistemas de apoio à decisão, quais os seus componentes e o
relacionamento entre eles.
 Aplicações e ferramentas
Resumo: apresentação das etapas na construção de SADs e das
ferramentas/aplicações utilizadas em cada uma das etapas, exemplificando
principalmente com ferramentas de software gratuitas.
 Arquitetura de um SAD para MPEs
 Dificuldades encontradas
Resumo: descrição das dificuldades encontradas por parte de MPEs na
adoção de SADs.
 Requisitos vs. tipos de empresas
Resumo: apresentação dos requisitos de informação para tomada de
decisão para diferentes tipos de empresa (indústria, comércio, serviços).
 Arquiteturas propostas
Resumo: apresentação de arquiteturas e modelos de SADs para os
diferentes tipos de empresa.
 Vantagens e desvantagens
Resumo: descrição das vantagens e desvantagens na adoção de SADs por
MPEs.
 Estratégias de implantação
Resumo: descrição das possíveis estratégias que podem ser adotadas pelas
MPEs para a implantação de SADs, como utilização de software gratuito e
computação em nuvem.
 Conclusão
Resumo: apresentação de considerações finais, o andamento da pesquisa e
possíveis trabalhos futuros.
34
Trilha da Indústria
2. Audiência
Esta apresentação se destina a micro e pequenos empresários de qualquer ramo de
atividade, arquitetos e engenheiros de software, além de professores com projetos de
pesquisa na área de inteligência empresarial e quaisquer pessoas interessadas na
utilização de sistemas de apoio à decisão por micro e pequenas empresas. Não há prérequisitos de conhecimento técnicos necessários para participação na palestra.
3. Biografia
Administrador e Professor da Universidade Estadual do Sudoeste da Bahia (UESB),
possui mestrado e doutorado nas áreas de banco de dados, engenharia de software e
inteligência artificial pela Universidade Federal de Pernambuco. Sócio da empresa RF
Informática Ltda, onde presta consultoria nas áreas de engenharia de software e de
sistemas de apoio à decisão à empresas da região, há mais de dez anos.
Referências
Fagundes, E. (2014) “Quais são as estratégias de implementação de um data
warehouse?”, http://www.efagundes.com/artigos/, Abril.
Santos, A. L., Krein, J. D., Calixtre, A. B. (2012) “Micro e pequenas empresas: mercado
de trabalho e implicação para o desenvolvimento”, Ipea, Rio de Janeiro.
35
Trilha da Indústria
Implementação do Modelo MPS para Software, Nível G de
Maturidade, usando Metodologias Ágeis: Um Caso de Sucesso
em uma Empresa de Micro Porte
Marcelo Rocha de Sá1, Sandro Ronaldo Bezerra Oliveira2
1
Jambu Tecnologia – Travessa Alenquer, 131 – Cidade Velha – 66020-020 – Belém –
PA – Brasil
2
Programa de Pós-Graduação em Ciência da Computação – Universidade Federal do
Pará (UFPA), Rua Augusto Corrêa, 1 – Guamá – 66075-110 – Belém – PA – Brasil
[email protected], [email protected]
1. Tópicos de Interesse
•
•
•
•
Técnicas e Metodologias Ágeis;
Melhoria do Processo de Software;
Qualidade do Processo de Software;
Gerência de Projetos e de Requisitos de Software.
2. Resumo
Cada vez mais empresas e organizações necessitam de produtos com qualidade, livres
de erros e com soluções imediatas. Para atender a esta demanda, empresas de software
visam, em seus projetos, a diminuição de conflitos, o aumento da confiabilidade e a
redução dos custos, resultando em maior satisfação do cliente.
Assim, pode-se perceber que o software tem estado cada vez mais presente no
cotidiano das pessoas, porém a maioria dos projetos de software não atende aos
objetivos traçados. Isso decorre da falta de processos adequados nas organizações em
que eles são desenvolvidos.
Para entregar sistemas de software com alta qualidade, as empresas têm adotado
modelos de maturidade que visam a melhoria da qualidade dos processos de
desenvolvimento. Neste contexto, modelos de qualidade são propostos a fim de medir e
garantir a excelência do software produzido. Isto se dá por meio de processos baseados
em normas da ISO 9000, implementando o contexto da Engenharia de Qualidade nas
empresas.
Juntamente com a melhoria de processos, a partir do ano 2000 surgiu uma
tendência para o desenvolvimento ágil de sistemas de software devido a um ritmo
acelerado de mudanças e inovações na tecnologia da informação, em organizações e no
ambiente de negócios. Assim, as metodologias ágeis preconizam menor burocratização
e demandam maior esforço das pessoas envolvidas. Elas também permitem acolher
mudanças mais naturalmente e adaptações em qualquer momento.
Essa discussão baseia-se no fato de que governos e mercado, de maneira geral,
esperam como diferencial, que as empresas comprovem a qualidade de seu processo de
desenvolvimento e a maneira formal de se comprovar isso, atualmente, costuma ser
opositora ao que preconizam as metodologias ágeis.
As formas de desenvolvimento existentes dentro da área da Engenharia de
Software são a origem dessa discussão. Isto ocorre devido às impedâncias existentes
entre processos tradicionais, desenvolvidos no início do século baseados no modelo de
36
Trilha da Indústria
produção Fordista para a indústria e os processos ágeis baseados no Toyotismo
(produção enxuta).
O desenvolvimento ágil busca tratar o processo de produção de software de
maneira diferenciada, uma vez que entende que se trata de um processo criativo e que
produz um bem intangível. Porém, as normas e modelos tradicionais baseiam-se no
pensar fordista, segundo o qual foram criadas, tratando a produção de software de
maneira parecida com os produtos manufaturados.
O que se procura mostrar é que a implementação de um modelo de maturidade
deve ser o máximo adaptativa possível à realidade da empresa/projeto. Assim, percebese a necessidade de ferramentais (procedimentos, práticas, produtos de trabalhos mais
enxutos, softwares, etc.) que auxiliam as empresas a obter um melhor gerenciamento
dos seus processos de software, com o objetivo de unir conceitos de metodologias ágeis
e processos constantes em modelos como o MPS.BR – Melhoria do Processo de
Software Brasileiro ou o CMMI – Capability Maturity Model Integration.
Deste modo, esta apresentação tem por objetivo mostrar que a junção de uma
metodologia ágil com um modelo de qualidade tradicional pode ser muito produtiva,
embora adaptações sejam necessárias. O modelo de qualidade escolhido faz parte do
programa MPS.BR, o MR-MPS-SW – Modelo de Referência do MPS para Software,
por ser capaz de atender as exigências internacionais para avaliação, definição e
melhoria dos processos de software. Este modelo tem o intuito de atender
principalmente as empresas brasileiras. Quanto às metodologias ágeis, foram usadas as
que se destacam pelas atividades práticas de gerenciamento de projetos, uma vez que o
nível de maturidade do MR-MPS-SW a ser tratado nesta apresentação é o G, contendo
os processos de Gerência de Projetos (Planejamento, Monitoramento e Controle do
Projeto) e Gerência de Requisitos.
Como solução para minimizar o cenário apresentado, a empresa Jambu
Tecnologia Consultoria e Engenharia Ltda (empresa privada genuinamente paraense
centrada na produção de soluções tecnológicas, inovadoras e regionalizadas, para gestão
de conteúdo digital corporativo e gestão de processos de negócio BPM, utilizando
sistemas de software e hardware livres, sendo incentivadora do uso destes sistemas
como alternativa tecnológica qualificada para diminuição de desigualdades
socioeconômicas) foi uma das empresas vencedoras do Edital de Seleção Pública para
Melhoria do Processo de Empresas Paraenses de Software, usando o MPS.BR. Assim,
durante o trabalho de implementação das práticas constantes neste modelo, a empresa
manteve sua cultura ágil alinhada às práticas de maturidade.
Ao final deste projeto de implementação, definiu-se um Guia de Implementação
dos Processos do Nível G do MPS.BR usando Metodologias Ágeis (Scrum, XP,
Kanban, Planning Poker, Risk Agile, etc.), cujo foco está em orientar a adequação dos
processos de software organizacionais aos dois contextos. O guia atende principalmente
as empresas de desenvolvimento de software na implementação do programa de
definição e melhoria dos processos organizacionais na área de software, além da
investigação e da disseminação do conhecimento nas práticas propostas pelos modelos
de qualidade de software e metodologias ágeis.
Vale ressaltar que em decorrência do sucedido processo de implementação do
MR-MPS-SW usando metodologias ágeis na Jambu Tecnologia, a empresa recebeu
apoio da FAPESPA – Fundação Amazônia Paraense de Amparo à Pesquisa no Edital
37
Trilha da Indústria
Programa de Incentivo à Inovação em Microempresas e Empresas de Pequeno Porte –
INOVAPARÁ/TECNOVA, para o desenvolvimento de uma solução computacional das
práticas constantes no guia citado anteriormente.
Desta forma, entende-se que a apresentação permitirá a pesquisadores e
empreendedores acesso a serviços em Qualidade de Software e Metodologias Ágeis.
Para isso, o foco da apresentação é direcionado a alguns segmentos principais: a)
adequação das recomendações dos processos constantes no nível de maturidade G do
MPS.BR para atendimento das práticas existentes em Metodologias Ágeis,
apresentando lições aprendidas e melhores práticas obtidas; b) discussão do Guia para a
Implementação da Melhoria do Processo usando características da Qualidade de
Software e das Metodologias Ágeis; c) apresentação do Estudo de Caso realizado na
Jambu Tecnologia com foco na análise de casos de uso da implementação da Qualidade
de Software e Agilidade; d) adequação dos ferramentais de apoio com foco no
atendimento dos resultados esperados das práticas constantes nos modelos de qualidade
e metodologias ágeis; e e) disseminação do conhecimento em Fundamentos Ágeis e
Fundamentos em Programas de Melhoria do Processo de Software para atender ao
mercado nacional e global.
Assim, como sumário prévio da apresentação pode-se listar os tópicos:
•
•
•
•
•
•
•
•
Overview sobre Metodologias Ágeis e Modelos de Maturidade do Processo de
Software;
A Cultura de Desenvolvimento de Software da Jambu Tecnologia;
O Estudo de Caso da Implementação do MR-MPS-SW usando Metodologias
Ágeis no Contexto de Software da Jambu Tecnologia;
Os Ferramentais (Modelos, Procedimentos, Softwares, etc.) de Apoio à
Implementação de Melhoria do Processo de Software na Jambu Tecnologia;
A Avaliação Oficial da Jambu Tecnologia no Modelo MR-MPS-SW;
Pontos Fortes e Fracos, e Oportunidades de Melhorias na Implementação do
Processo da Jambu Tecnologia;
Principais Pontos de Atenção na Implementação do MR-MPS-SW usando
Metodologias Ágeis;
A Ferramenta Computacional de Apoio à Implementação de Níveis de
Maturidades de Modelos de Qualidade a partir do Uso de Metodologias Ágeis e
Jogos Corporativos.
3. Audiência
Para esta apresentação o perfil dos profissionais que se beneficiarão com as informações
a serem tratadas/discutidas pelos palestrantes é bem abrangente, a saber: desde
empresários do ramo desenvolvimento de software que tenham interesse na
implementação dos processos organizacionais usando práticas contantes em modelos de
qualidade e metodologias ágeis; passando por diferentes perfis (gerentes/líderes de
projetos, equipes de desenvolvimento, testadores, etc.) envolvidos no processo de
desenvolvimento de software; até alunos e professores de Universidades que trabalham
com pesquisa/extensão no contexto da melhoria do processo de software organizacional.
Como pré-requisito de conhecimento técnico para o público interessado na
apresentação, este deve ter o entendimento básico das filosofias constantes nas
metodologias ágeis, bem como o entendimento da cultura presente nos programas de
melhoria do processo de software organizacional (modelos MPS.BR e CMMI).
38
Trilha da Indústria
4. Breve Biografia dos Palestrantes
Como biografia dos autores/palestrantes desta apresentação, tem-se:
•
•
Marcelo Rocha de Sá, atua profissionalmente com sistemas e tecnologia da
informação desde 1984. Possui graduação em Bacharelado em Engenharia
Elétrica pela Universidade Federal do Pará. É sócio fundador da Jambu
Tecnologia Consultoria e Engenharia Ltda desde 1996, tendo participado em
projetos de software, hardware, tecnologias abertas, captura e processamento de
meios de pagamento e redes de telecomunicação. Os principais interesses são
adoção das tecnologias abertas como software e hardware livres no contexto
amazônida e em países em desenvolvimento; gestão do conhecimento; processo
ágil de desenvolvimento de software; ensino e EAD. Currículo Lattes disponível
em http://lattes.cnpq.br/3942401721602593;
Sandro Ronaldo Bezerra Oliveira, é professor adjunto da Universidade Federal
do Pará desde 2008, nos cursos presentes na Faculdade de Computação e no
Programa Pós-Graduação em Ciência da Computação, tendo sob sua
responsabilidade a orientação de alunos com trabalhos de pesquisa em nível de
doutorado, mestrado, conclusão de curso e iniciação científica. Mantém
cooperação de pesquisa com a Universidade de Coimbra e o Centro de
Informática da UFPE. Os seus interesses de pesquisa concernem a especificação
de abordagens (técnicas, métodos, ferramentas de software livre, etc.) para a
implementação de modelos e normas para a qualidade do processo de software
organizacional. Em particular, ele possui experiência no uso dos modelos MRMPS-SW e CMMI e normas ISO/IEC 12207, ISO/IEC 15504, ISO 9126,
MEDE-PROS e CERTICS para a implementação e avaliação de processos e
produtos de software organizacionais. Durante seu doutoramento, o candidato
fez seu programa (2004-2007) no Centro de Informática da Universidade
Federal de Pernambuco (CIn/UFPE), sob a supervisão do Prof. PhD. Alexandre
Marcos Lins de Vasconcelos que é especialista em tecnologia de processos de
software a partir do uso da Qualidade de Software. Sandro vem ativamente
participando de inúmeros projetos de pesquisa na área de Qualidade de
Software, sendo coordenador de projetos financiados peloo CNPq, CAPES,
FAPESPA, SECTI, dentre os quais destaca-se o SPIDER – Software Process
Improvement: DEvelopment and Research, que recebeu em 2012 o
Prêmio Dorgival Brandão Júnior referente ao Ciclo 2011 do Programa
Brasileiro da Qualidade e Produtividade em Software, concedido pela Secretaria
de Política de Informática - Ministério da Ciência, Tecnologia e Inovação
(SEPIN-MCTI). Sandro é editor associado do periódico sobre Engenharia de
Software para o Journal of Software Engineering Research and Development
(JSERD), SpringerOpen Journal. Em termos de conferências, o mesmo já foi
revisor e apresentador em diversas conferências nacionais e internacionais como
CLEI (2013), SBQS (várias edições), WAMPS (várias edições), etc. Currículo
Lattes disponível em: http://lattes.cnpq.br/2080791630485427.
5. Agradecimentos
Este trabalho recebeu apoio financeiro da SECTI – Secretaria do Estado do Pará em
Ciência, Tecnologia e Inovação, a partir do Edital 02/2012 de Seleção Pública para
Melhoria do Processo de Software de Empresas Paraenses em Software. Além disso,
está inserido no escopo do Projeto SPIDER, instituído na Universidade Federal do Pará.
39
Trilha da Indústria
Experiência do SIDI com ferramentas para controle de projetos !
Resumo Este trabalho apresenta a experiência do SIDI – Samsung Ins<tuto de Desenvolvimento para Informá<ca – mais especificamente da área de Soluções Locais -­‐ com o uso das ferramentas Sharepoint/Access/Excel e JIRA /Confluence para controle de projetos.
O obje<vo do departamento de Soluções Locais é prover soluções de soMware que agreguem valor aos produtos Samsung, principalmente, mas não somente, a smartphones e tablets, aumentando suas vendas. O grupo atua no gerenciamento de projetos executados por empresas terceirizadas, na definição ou refinamento de requisitos dos clientes, além de coordenar a<vidades de experiência e interface com o usuário. O trabalho desta equipe se caracteriza pela grande quan<dade de soluções desenvolvidas simultaneamente, como uma gama bastante diversificada de clientes e fornecedores de soMware. As tecnologias u<lizadas também variam bastante de solução para solução, em complexidade, tamanho e tempo de desenvolvimento. Tudo isso torna o ambiente de gerenciamento dos projetos da área bastante complexo. Para que exista um controle efe<vo e consolidado dos projetos de soMware que o departamento gerencia, desde 2012 a ferramenta MicrosoM Sharepoint é u<lizada juntamente com as ferramentas Access e Excel (ambas do pacote MicrosoM Office) para geração de relatórios e painéis de indicadores (dashboards) de forma quase automá<ca, Isto facilita o acompanhamento dos projetos, algumas vezes de forma consolidada, pelos principais stakeholders do departamento e pelos níveis gerenciais mais altos da empresa. Devido a relação custo X uso do Sharepoint, a atualização da ferramenta para versões mais recentes e amigáveis não se tornou viável, causando problemas de manutenção, u<lização e aceitação da ferramenta atual. Em paralelo, o ins<tuto adotou de forma coorpora<va duas ferramentas colabora<vas da Atlassian, o JIRA e o Confluence, fazendo com o que o departamento de Soluções Locais repensasse a forma como o acompanhamento de seus projetos era feito. Assim, iniciou-­‐se o processo de adoção de ambas as ferramentas e conseqüentemente mudança dos processos relacionados. Essa adoção revelou alguns aspectos interessantes, por exemplo: O JIRA é uma ferramenta muito conhecida para bug tracking (acompanhamento de defeitos), suporte aos grupos de desenvolvimento e gerenciamento de projetos ágeis, porém pouco u<lizada para o gerenciamento de projetos 40
Trilha da Indústria
convencional, para o qual o departamento de soluções locais a adotou. Para atender às mudanças de processo o JIRA foi adaptado e customizado de acordo com as necessidades do grupo. Além disso, essas duas ferramentas, trazendo o conceito de colabora<vidade, possibilitam a descentralização de algumas a<vidades, viabilizando a todos os envolvidos em determinados projetos a interagirem e adicionarem conteúdo nelas ao mesmo tempo, diferentemente de como acontece hoje com a ferramenta Sharepoint, tornando o processo mais dinâmico e fluido. Esta apresentação será iniciada apresentando o SIDI e o departamento de Soluções Locais, focando nas necessidades que o departamento possui especificamente em gerência dos projetos. Em seguida, abordará como o Sharepoint estava sendo usado nos projetos (base de dados de projetos, repositório de informações e ambiente colabora<vo) e como as ferramentas Access e Excel suportavam a manipulação dos dados, geração de relatórios e painéis de indicadores. Prós e contras da solução adotada serão apresentados e discu<dos. Posteriormente, o processo de adoção do JIRA e Confluence será apresentado abordando as a<vidades realizadas, principais dificuldades, prós e contras das ferramentas, soluções adotadas e lições aprendidas.
Por fim, recomendações a outras organizações serão discu<das no final da apresentação. Audiência Esta apresentação não requer pré-­‐requisitos de conhecimentos técnicos e o público alvo são, principalmente, gerentes de projeto e especialistas em ferramentas e processos. Porém qualquer envolvido em projetos de desenvolvimento de soMware pode se beneficiar dos itens discu<dos nesta apresentação. Breve biografia
Fernanda Kussama Pellegrini é Bacharel em Ciência da Computação (1998) pela Universidade Federal de São Carlos (UFSCar) e Especialista em Engenharia de SoMware (2001) e Engenharia da Qualidade (2006) pela Universidade Estadual de Campinas (UNICAMP). Iniciou sua carreira profissional como estagiária na IBM, em 1998. Depois disso, trabalhou com desenvolvimento de soMware no CPqD, ADC e Motorola. Nessas empresas teve oportunidade de vivenciar diferentes fases do desenvolvimento de soMware, como análise de requisitos, programação, testes e implantação de sistemas no cliente. Na Motorola, em 2003, começou a trabalhar com Processos e Qualidade de SoMware, área em que atua desde então. Na Robert Bosch trabalhou também com 41
Trilha da Indústria
qualidade e processos de desenvolvimento de hardware e sistemas de 2009 a 2011. Nessa empresa, implantou um processo de auditorias internas. Desde setembro de 2012, trabalha no SIDI (Ins<tuto Samsung para Desenvolvimento da Informá<ca) como Coordenadora do PMO (Process and Project Management Office), implantando processos de gerenciamento de projetos e suportando os projetos na tomada de decisões. Tem experiência na área de garan<a e controle da qualidade, definição e melhoria de processos, auditorias, lições aprendidas, ISO 9000, TL 9000, ISO/TS 16496, OHSAS 18000, ISO 14001, ISO 19011, CMMI e em metodologias e ferramentas Seis Sigma para desenvolvimento de processos e produto. De 2004 a 2014 fez parte do grupo de coordenação do SPIN-­‐Campinas. Currículo Laqes: hqp://laqes.cnpq.br/2633039522080838
Ta<ane Valim Greco é estudante do 3o ano do curso de Sistema de Informação na Pon<ucia Universidade Católica de Campinas (PUC-­‐Campinas) e técnica em Telecomunicações pelo Colégio Técnico da Unicamp -­‐ Campinas (COTUCA). Desde o início de 2013 trabalha no SIDI (Ins<tuto Samsung para Desenvolvimento da Informá<ca) como Analista do PMO (Project Management Office -­‐ Escritório de Gerenciamento de Projetos). Antes disso, ainda no SIDI, atuou por cinco anos na área de Testes de SoMware e foi estagiária no CPqD (Centro de Pesquisa e Desenvolvimento) por X anos. Possui cer<ficação CSPO (Cer<fied Scrum Product Owner) da Scrum Alliance e fez o treinamento de Auditoria Interna pela Buerau Veritás. Currículo Laqes: hqp://laqes.cnpq.br/8772846539318430
Thomas Jan Dedding está cursando o úl<mo ano do curso de Engenharia da Computação da Pon<ucia Universidade Católica de Campinas (PUC Campinas) e desde 2012, faz estágio no SIDI (Ins<tuto Samsung para Desenvolvimento da Informá<ca) na área de PMO (Project Management Office -­‐ Escritório de Gerenciamento de Projetos). Dentre suas a<vidades está a construção de painéis de indicadores (dashboards) u<lizando as ferramentas do pacote MicrosoM Office (Sharepoint, Access e Excel), customização do JIRA, suporte as auditorias internas e suporte ao uso do Sharepoint, todas associadas a implantação de processos de desenvolvimento de soMware e gerenciamento de projetos. Possui cer<ficação CSPO (Cer<fied Scrum Product Owner) da Scrum Alliance e fez o treinamento Desenvolvimento Móvel com iOS oferecido pela Caelum -­‐ Ensino e Inovação. Currículo Laqes: hqp://laqes.cnpq.br/6633186145820148 42
Trilha da Indústria
Uma Ferramenta para Gestão Integrada de Projetos
Simone Vasconcelos Silva, Leonardo Barroso da Silva, Matheus Soares Sales,
Filipe Arantes
Núcleo de Engenharia de Software (NES) – Instituto Federal de Educação, Ciência e
Tecnologia Fluminense (IFFluminense)
Campos dos Goytacazes – RJ – Brasil
{simonevsinfo,leo.barroso.silva,matheus.soares.sales,filran}@gmail.com
1. Resumo
1.1. Descrição da Palestra
Esta palestra tem como objetivo apresentar uma ferramenta de gerência de projetos
chamada Gestão Integrada, desenvolvida pelo Núcleo de Engenharia de Software do
Instituto Federal de Educação, Ciência e Tecnologia Fluminense.
A ferramenta baseia-se em um framework eletrônico capaz de agregar em único
local todas as informações dos projetos de uma organização, favorecendo os projetos
desenvolvidos de forma colaborativa, ajudando a eliminar a redundância de documentos
e ferramentas diversas, reduzindo o desperdício causado pela alocação ineficiente de
recursos e a duplicação de esforços em projetos.
A palestra apresentará a metodologia e as tecnologias utilizadas para o
desenvolvimento da ferramenta, assim como as suas fases (inicial, intermediária e
atual). Para cada fase serão apresentados os métodos e guias utilizados, as
funcionalidades desenvolvidas e os exemplos práticos de utilização em instituições do
Governo Federal.
Na apresentação da fase inicial da ferramenta será possível verificar que a
mesma atende as dez áreas do conhecimento do PMBOK (Project Management Body of
Knowledge) através de funcionalidades integradas e templates, além de fornecer todos
os resultados esperados para o processo Gerência de Projetos (GPR) do MPS.Br
(Melhoria do Processo de Software Brasileiro) no nível G.
Na apresentação da fase intermediária da ferramenta será possível verificar que a
mesma agregou novas funcionalidades, tais como: ambiente para o Project Model
Canvas (integrado com as funcionalidades que atendem as áreas do conhecimento do
PMBOK); opção de gerenciar requisitos e tarefas através do método kanban;
modelagem de processos através do BPMN (Business Process Modeling Notation) de
forma integrada aos projetos; apresentação automática dos projetos; e gerenciador de
reuniões.
Na apresentação da fase atual da ferramenta será possível verificar que a mesma
contém a funcionalidade Project Model Canvas no modo Quadro Inteligente, ou seja, os
componentes (canvas, post-its e stakeholders) são manipulados através de movimentos
e toques na superfície do quadro inteligente. Este modo facilita a elaboração do plano
43
Trilha da Indústria
do projeto de forma interativa e colaborativa através da participação das partes
interessadas.
Esta ferramenta é um projeto que encontra-se em constante melhoria, logo estão
sendo desenvolvidas novas funcionalidades que agregam o framework Scrum; ambiente
com simuladores para facilitar o aprendizado da gerência de projetos e de processos; e
mapeamento do planejamento estratégico integrado aos processos e aos projetos.
A ferramenta Gestão Integrada é utilizada para apoiar a gerência de projetos
mantidos pelas seguintes instituições do Governo Federal: Ministério da Educação
(MEC) através da SETEC (Secretaria de Educação Profissional e Tecnológica);
Ministério das Comunicações (MC) através do projeto Formação GESAC; e Instituto
Federal de Educação, Ciência e Tecnologia Fluminense (IFFluminense) através de
diversos campus e diretorias.
A referida ferramenta recebeu o prêmio de “Melhor Projeto do Ano de 2013” na
categoria “Inovação” pela revista Mundo Project Management.
1.2. Benefícios e Conhecimentos para os Participantes
Pode-se citar os seguintes benefícios e conhecimentos que serão proporcionados aos
participantes:
•
Conhecimento sobre Gerência de Projetos de acordo com PMBOK e MPS.Br;
•
Conhecimento sobre Gerência de Processos;
•
Conhecimento sobre o método Project Model Canvas;
•
Benefício da apresentação de uma metodologia e ferramenta para integração e
automatização dos conhecimentos citados acima;
•
Benefício da apresentação de exemplos de utilização da ferramenta em
instituições do Governo Federal.
1.3. Sumário da Palestra
•
Introdução;
•
Objetivo;
•
Benefícios;
•
Metodologia;
•
Métodos e Guias;
•
Tecnologia;
•
Fases da Ferramenta: Inicial, Intermediária e Atual;
•
Resultados Obtidos;
•
Comparação com outras Ferramentas;
•
Considerações Finais;
•
Principais Referências.
44
Trilha da Indústria
2. Audiência
2.1. Tipo de Profissional
Gerentes e equipes de projetos; gerentes e equipes de processos; analistas de negócios e
requisitos; desenvolvedores mais experientes e professores.
2.2. Pré-requisitos de Conhecimento Técnico
Conhecimento básico de MPS.Br e PMBOK.
3. Breve Biografia
Palestrante: Simone Vasconcelos Silva
3.1. Formação
•
Doutora em Computação pelo Universidade Federal Fluminense (UFF);
•
Mestre em Engenharia de Produção pela Universidade Estadual do Norte
Fluminense (UENF);
•
Especialista em Melhoria de Processos de Software (UFLA) e em Análise de
Sistemas (UCAM);
•
Profissional certificada em Processos de Negócios – CBPP pela ABPMP
Internacional;
•
Profissional certificada ScrumMaster® (CSM).
3.2. Experiência Profissional e Afiliação Atual
•
Professora da área de Informática do IFFluminense desde 1997 (Afiliação atual);
•
Diretora de Avaliação Institucional do IFFluminense;
•
Coordenadora da Pós-Graduação em Análise e Gestão de Sistemas de
Informação do IFFluminense;
•
Coordenadora dos Núcleos de Pesquisa em Engenharia de Software (NES) e em
Gerência de Processos e Qualidade em Serviços (GproQS) do IFFluminense;
•
Possui mais de 10 anos de experiência na área de Gestão de Projetos (incluindo
gerência de projetos no Ministério da Educação e no Ministério das
Comunicações) e mais de 20 anos de experiência em desenvolvimento de
sistemas.
3.3. Experiências Prévias como Palestrante
Apresentou palestras e artigos em diversos eventos, tais como:
•
SBQS (Simpósio Brasileiro de Qualidade de Software);
•
WGPS (Workshop de Gerência de Projetos de Software);
•
WAMPS (Workshop Anual do MPS.Br);
•
Ciclo de projetos do PBQPS (Programa Brasileiro da Qualidade e Produtividade
de Software) do Ministério da Ciência e Tecnologia;
45
Trilha da Indústria
•
IWSSIP (International Conference on Systems, Signals and Image Processing);
•
SEKE (International Conference on Software Engineering and Knowledge
Engineering);
•
ENEGEP (Encontro Nacional de Engenharia de Software);
•
SIMPEP (Simpósio de Engenharia de Produção);
•
Fenasoft,
•
BPM Day;
•
PMI Day;
•
REDITEC (Reunião dos Dirigentes das Instituições Federais de Educação
Profissional e Tecnológica);
•
CONIF (Conselho Nacional das Instituições da Rede Federal de Educação
Profissional e Tecnológica);
•
FDI (Fórum de Desenvolvimento Institucional das Instituições da Rede Federal
de Educação Profissional e Tecnológica);
•
SETEC (Secretaria de Educação Profissional e Tecnológica);
•
Óptima (Congreso Chileno de Investigación Operativa);
•
CLAIO (Congresso Latino-Iberoamericano de Pesquisa Operacional);
•
Evento de Premiação dos Melhores Projetos do Ano de 2013 da revista Mundo
Project Management;
•
Evento na área de Qualidade na Capital Humano da FGV;
•
Congresso do Instituto Superior de Ensino do CENSA.
3.4. Página com informações profissionais e/ou Currículo Lattes
•
Endereço para acessar o Currículo Lattes:
http://lattes.cnpq.br/5602424371704966
•
Endereço para acessar o Linkedin:
http://br.linkedin.com/pub/simone-vasconcelos-d-sc-cbpp-csm/30/727/a5b/
46
Trilha da Indústria
Auditorias e verificações: importantes ferramentas
de suporte a gestão de projetos
Resumo
Este trabalho apresenta a experiência do PMO (Project Management Office - Escritório de
Gerenciamento de Projetos) do SIDI (Samsung Instituto de Desenvolvimento para Informática) na
implantação e realização de auditorias internas e verificações, serviços de governança prestados
ao departamento onde atua (Soluções Locais).
O departamento de Soluções Locais tem o objetivo de produzir soluções de software que
contribuam para o aumento de vendas dos produtos Samsung, principalmente smartphones e
tablets, tornando-os mais atrativos. O desenvolvimento dos projetos é feito por parceiros externos
e o papel do grupo é gerenciar todas as etapas do desenvolvimento das soluções, incluindo
aspectos técnicos. Como características importantes deste departamento e seus respectivos
projetos, podemos citar:
•
Variedade de parceiros externos distribuídos entre as regiões Norte e Nordeste do Brasil
•
Grande volume de projetos desenvolvidos paralelamente
•
Grande quantidade de recursos humanos externos ao SIDI alocados nos projetos
•
Diversidade de soluções desenvolvidas (desde aplicações para smartphones, até soluções
cliente-servidor; soluções B2B, B2C e plataforma; diversos sistemas operacionais e
plataformas.
Tudo isso gera uma grande quantidade de dados e informações tornando o ambiente complexo de
ser gerenciado pela organização. Por isso, o PMO que auxilia este departamento, implanta serviços
de governança, que incluem definição de processos, implantação e disseminação das regras de
controle de projetos e de qualidade, alinhamento de processos e regras com as áreas afetadas
pelos resultados do departamento (stakeholders), monitoramento de dados e informações de
projetos, auditorias internas e verificações, entre outros.
Esta apresentação mostrará como as auditorias e verificações realizadas pelo PMO são feitas
(responsabilidades, ferramentas, procedimento) e como suportam não só o gerenciamento dos
projetos, mas também a governança do departamento. São elas:
47
Trilha da Indústria
•
Auditorias de fechamento de projeto: garante que os artefatos exigidos pelos processos
de desenvolvimento de software e gerenciamento de projetos existem e seguem os
padrões pré-estabelecidos de qualidade. Garante, também, que requisitos de qualidade
de software sejam cumpridos, assegurando a correta implantação de outros serviços de
governança.
•
Verificações automáticas da base de dados de projetos: garante que as informações dos
projetos, principalmente marcos, estão consistentes entre si, aumentando a confiabilidade
e integridade dos dados históricos da organização, base para relatórios organizacionais
enviados aos stakeholders do departamento. São realizadas de forma automática, pois a
grande quantidade de dados demandaria um esforço humano grande além de aumentar a
chance de erros nas verificações.
•
Geração e análise dos painéis de indicadores: o objetivo desta atividade não é a
verificação de dados em si, mas ao analisar os indicadores ou ao gerá-los, podem-se
encontrar inconsistências na base de dados de projetos que iniciam ações corretivas.
Muitas vezes, encontram-se situações não previstas nos processos iniciando um processo
de melhoria contínua.
Todas estas verificações dão visibilidade aos gerentes de projetos e alta administração sobre o
andamento dos projetos ao fornecerem evidências objetivas e dados quantitativos, confiáveis a
respeito deles. Além do mais colaboraram com a melhoria continua dos processos, prevenindo e
corrigindo suas falhas e também identificando oportunidades de melhoria.
Um dos próximos passos na melhoria dos processos de governança está voltado para que falhas
nas inserções de dados na base de dados de projetos sejam evitadas, minimizando a necessidade
de verificações e auditorias. Para isso, a ferramenta JIRA esta sendo implantada em substituição
ao Sharepoint, para armazenamento de dados de projetos e também para suporte as auditorias
internas. Esta alteração minimizará a necessidade de uso de outras ferramentas como Excel e
Access para manipulação e visualização de dados.
Além disso, o PMO tem como desafio que as regras e processos seguidos pelos projetos e times de
desenvolvimento se tornem cada vez mais transparentes aos usuários, ou seja, que sejam seguidas
sem que estes percebam que estão conformes com um processo pré-determinado, diminuindo a
resistência a processos e conseqüentemente a mudanças.
Assim, a agenda desta apresentação abordará os seguintes tópicos:
•
SIDI e departamento de Soluções Locais
48
Trilha da Indústria
•
Macro-processo de desenvolvimento de software e gerenciamento de projetos
•
Conceitos de governança, auditorias e verificações
•
PMO e os serviços de governança oferecidos
•
Auditorias e verificações realizadas pelo PMO
•
Próximos passos
•
o
Auditoria Interna
o
Verificações Automáticas
o
Geração de Painéis de Indicadores e Análise de Métricas
Desafios
Audiência
Esta apresentação não requer pré-requisitos de conhecimentos técnicos e o público alvo são,
principalmente, gerentes de projeto, auditores e especialistas/engenheiros de qualidade de
software.Porém qualquer envolvido em projetos de desenvolvimento de software pode se
beneficiar dos itens discutidos nesta apresentação, por tratar de ferramentas genéricas e
abrangentes. Conceitos necessários para entendimento da apresentação serão abordados
rapidamente, para alinhamento dos participantes.
Breve biografia
Fernanda Kussama Pellegrini é Bacharel em Ciência da Computação (1998) pela Universidade
Federal de São Carlos (UFSCar) e Especialista em Engenharia de Software (2001) e Engenharia da
Qualidade (2006) pela Universidade Estadual de Campinas (UNICAMP). Iniciou sua carreira
profissional como estagiária na IBM, em 1998. Depois disso, trabalhou com desenvolvimento de
software no CPqD, ADC e Motorola. Nessas empresas teve oportunidade de vivenciar diferentes
fases do desenvolvimento de software, como análise de requisitos, programação, testes e
implantação de sistemas no cliente. Na Motorola, em 2003, começou a trabalhar com Processos e
Qualidade de Software, área em que atua desde então. Na Robert Bosch trabalhou também com
qualidade e processos de desenvolvimento de hardware e sistemas de 2009 a 2011. Nessa
empresa, implantou um processo de auditorias internas. Desde setembro de 2012, trabalha no
SIDI (Instituto Samsung para Desenvolvimento da Informática) como Coordenadora do PMO
(Process and Project Management Office), implantando processos de gerenciamento de projetos e
suportando os projetos na tomada de decisões. Tem experiência na área de garantia e controle da
49
Trilha da Indústria
qualidade, definição e melhoria de processos, auditorias, lições aprendidas, ISO 9000, TL 9000,
ISO/TS 16496, OHSAS 18000, ISO 14001, ISO 19011, CMMI e em metodologias e ferramentas Seis
Sigma para desenvolvimento de processos e produto. De 2004 a 2014 fez parte do grupo de
coordenação do SPIN-Campinas.
Currículo Lattes: http://lattes.cnpq.br/2633039522080838
Tatiane Valim Greco é estudante do 3º ano do curso de Sistema de Informação na Pontifícia
Universidade Católica de Campinas (PUC-Campinas) e técnica em Telecomunicações pelo Colégio
Técnico da Unicamp - Campinas (COTUCA). Desde o início de 2013 trabalha no SIDI (Instituto
Samsung para Desenvolvimento da Informática) como Analista do PMO (Project Management
Office - Escritório de Gerenciamento de Projetos). Antes disso, ainda no SIDI, atuou por 5 anos na
área de Testes de Software e foi estagiária no CPqD (Centro de Pesquisa e Desenvolvimento) por X
anos. Possui certificação CSPO (Certified Scrum Product Owner) da Scrum Alliance e fez o
treinamento de Auditoria Interna pela Buerau Veritás.
Currículo Lattes: http://lattes.cnpq.br/8772846539318430
Thomas Jan Dedding está cursando o último ano do curso de Engenharia da Computação da
Pontifícia Universidade Católica de Campinas (PUC Campinas) e desde 2012, faz estágio no SIDI
(Instituto Samsung para Desenvolvimento da Informática) na área de PMO (Project Management
Office - Escritório de Gerenciamento de Projetos). Dentre suas atividades está a construção de
paineis de indicadores (dashboards) utilizando as ferramentas do pacote Microsoft Office
(Sharepoint, Access e Excel), customização do JIRA, suporte as auditorias internas e suporte ao uso
do Sharepoint, todas associadas a implantação de processos de desenvolvimento de software e
gerenciamento de projetos. Possui certificação CSPO (Certified Scrum Product Owner) da Scrum
Alliance e fez o treinamento Desenvolvimento Móvel com iOS oferecido pela Caelum - Ensino e
Inovação.
Currículo Lattes: http://lattes.cnpq.br/6633186145820148
50
Trilha da Indústria
O Uso da Ferramenta Trello na Implementação do Modelo
MPS para Software, Nível G de Maturidade, em uma
Empresa de Micro Porte
Aruanda Simões Gonçalves Meiguins1, Sandro Ronaldo Bezerra Oliveira2
1
Gol Software – Av. Nazaré, 272, Sala 201 – Nazaré – 66035-170 – Belém - PA - Brasil
2
Programa de Pós-Graduação em Ciência da Computação – Universidade Federal do
Pará (UFPA), Rua Augusto Corrêa, 1 – Guamá – 66075-110 – Belém - PA - Brasil
[email protected], [email protected]
1. Tópicos de Interesse
•
•
•
•
•
Técnicas e Metodologias Ágeis;
Melhoria do Processo de Software;
Qualidade do Processo de Software;
Gerência de Projetos e de Requisitos de Software;
Tecnologias para Desenvolvimento de Sistemas.
2. Resumo
A qualidade tornou-se um diferencial no mercado, e não é diferente no desenvolvimento
de software, pois ela está diretamente ligada à satisfação do cliente, ao atendimento dos
requisitos desse software. Assim, faz-se necessário ambientar-se de tal maneira que se
possa criar produtos de qualidade. Esses ambientes são formados de acordo com os
modelos de qualidade, e é nesse contexto que será tratado o MPS.BR nesta
apresentação.
O modelo MPS.BR foi definido utilizando para sua base técnica as normas
ISO/IEC 12207:2008 e ISO/IEC 15504-2, e o modelo CMMI-DEV® (Capability
Maturity Model Integration for Development), refletindo assim a necessidade de
melhoria dos processos de desenvolvimento de software. O modelo de qualidade
escolhido faz parte do programa MPS.BR, o MR-MPS-SW – Modelo de Referência do
MPS para Software, por ser capaz de atender as exigências internacionais para
avaliação, definição e melhoria dos processos de software. Este modelo tem o intuito de
atender principalmente as empresas brasileiras. Dentre esses processos destaca-se os
processos constantes no primeiro nível de maturidade, a Gerência de Projetos e a
Gerência de Requisitos, processos foco desta apresentação, pertencentes ao nível G na
evolução dos níveis de maturidade do MPS.BR.
O processo de Gerência de Requisitos (GRE) tem como objetivo acompanhar a
evolução dos requisitos e sua consistência com os outros produtos de trabalho da
produção do software. O processo de GRE é um conjunto de atividades que ajudam a
equipe de projeto a identificar, controlar e rastrear requisitos e modificações de
requisitos em qualquer época, à medida que o projeto prossegue. Este processo não
pretende coletar, desenvolver, detalhar requisitos, e sim acompanhar e administrar as
inconsistências e mudanças que um requisito pode gerar, verificando até onde vai o
impacto da mudança: planos do projeto, estimativas de tempo e custo, recursos
humanos.
Já o objetivo do processo de Gerência de Projetos (GPR) é estabelecer e manter
planos que definem as atividades, recursos e responsabilidades do projeto, bem como
51
Trilha da Indústria
prover informações sobre o andamento do projeto que permitam a realização de
correções quando houver desvios significativos no desempenho do projeto. Gerir
projetos inclui um conjunto de práticas gerenciais e técnicas que permite à equipe de
software definir um roteiro, enquanto ela se move em direção à sua meta estratégica e
seus objetivos táticos. Ainda, Gerência de Projetos é a disciplina de planejar, organizar e
gerenciar recursos com o intuito de atingir os objetivos e metas do projeto.
Essas características inerentes aos processo de GPR e GRE são melhor
gerenciadas quando se automatiza/sistematiza o processo através da utilização de
ferramentas, pois implicam na redução de esforço e tempo, devido a diminuição da
necessidade de documentação agilizando o processo como um todo. A prática do uso de
ferramentas para sistematizar/automatizar atividades de processo é um dos fatores que
impacta diretamente a melhoria de processo de software.
Deste modo, esta apresentação tem por objetivo mostrar o caso de sucesso de
uma empresa de desenvolvimento de software na implementação dos processos de
Gerência de Projetos e Gerência de Requisitos, utilizando a ferramenta de software livre
Trello (https://trello.com/), de forma a alcançar uma metodologia sistematizada de
implementação de um programa de melhoria da qualidade organizacional para atender
aos resultados esperados constantes nos processos do nível de maturidade G do
MPS.BR. Esta metodologia possui a junção de uma metodologia ágil com um modelo
de qualidade tradicional, tendo adaptações quando necessárias. As metodologias ágeis
usadas foram as que se destacam pelas atividades práticas de gerenciamento de projetos,
bem como algumas técnicas aplicadas a estas metodologias.
O Trello é uma ferramenta colaborativa para gerenciamento de projetos, com
muitos recursos e usa o paradigma kanban desenvolvida pela empresa Fog Creek. Com
o Trello é possível emular os “quadros” que são comuns em técnicas de gerenciamento
ágil como Scrum e Kanban. Outras vantagens são a existência de uma API, facilidade
de trabalho em equipe, facilidade de mover tarefas entre quadros e reorganizá-las,
compatibilidade com dispositivos móveis, a politica de dados onde a ferramenta informa
que o usuário é o dono de seus dados e ele pode usar esses dados em outros sistemas por
exemplo para gerar relatórios dos projetos com outras ferramentas.
Como solução para minimizar o cenário apresentado, a empresa Gol Software
(empresa privada paraense cujo principal foco é o desenvolvimento de soluções
corporativas em plataforma Web, além de atuar na área de Business Intelligence) foi
uma das empresas vencedoras do Edital de Seleção Pública para Melhoria do Processo
de Empresas Paraenses de Software, usando o MPS.BR. Assim, durante o trabalho de
implementação das práticas constantes neste modelo, a empresa manteve sua cultura
ágil alinhada às práticas de maturidade.
Ao final deste projeto de implementação, definiu-se um Guia de Implementação
dos Processos do Nível G do MPS.BR usando a ferramenta Trello, adotando
metodologias ágeis, cujo foco está em orientar a adequação dos processos de software
organizacionais aos dois contextos. O guia atende principalmente as empresas de
desenvolvimento de software na implementação do programa de definição e melhoria
dos processos organizacionais na área de software, além da investigação e da
disseminação do conhecimento nas práticas propostas pelos modelos de qualidade de
software, na adoção de ferramentas de software livre e no uso das metodologias ágeis.
52
Trilha da Indústria
Desta forma, entende-se que a apresentação permitirá a pesquisadores e
empreendedores acesso a serviços em Qualidade de Software, Ferramenta de Software
Livre e Metodologias Ágeis. Para isso, o foco da apresentação é direcionado a alguns
segmentos principais: a) adequação das recomendações dos processos constantes no
nível de maturidade G do MPS.BR para atendimento das funcionaliades da Ferramenta
Trello e das práticas existentes em Metodologias Ágeis; b) discussão do Guia para a
Implementação da Melhoria do Processo usando características da Qualidade de
Software, da Sistematização de Processo e das Metodologias Ágeis; c) apresentação do
Estudo de Caso realizado na Gol Software com foco na análise de casos de uso da
implementação da Qualidade de Software, Sistematização do Processo e Agilidade; d)
adequação dos ferramentais de apoio com foco no atendimento dos resultados esperados
das práticas constantes nos modelos de qualidade e metodologias ágeis, e das
funcionalidades existentes na Ferramenta Trello; e e) disseminação do conhecimento em
Fundamentos Ágeis, Sistematização do Processo e Fundamentos em Programas de
Melhoria do Processo de Software para atender ao mercado nacional e global.
Assim, como sumário prévio da apresentação pode-se listar os tópicos:
•
•
•
•
•
•
•
Overview sobre Metodologias Ágeis, Sistematização do Processo e Modelos de
Maturidade do Processo de Software;
A Cultura de Desenvolvimento de Software da Gol Software;
O Estudo de Caso da Implementação do MR-MPS-SW usando Metodologias
Ágeis e a Ferramenta Trello no Contexto de Software da Gol Software;
Os Ferramentais (Modelos, Procedimentos, Softwares, etc.) de Apoio à
Implementação de Melhoria do Processo de Software na Gol Software;
A Avaliação Oficial da Gol Software no Modelo MR-MPS-SW a partir das
evidências geradas pela Ferramenta Trello;
Pontos Fortes e Fracos, e Oportunidades de Melhorias na Implementação do
Processo da Gol Software a partir do uso da Ferramenta Trello;
Principais Pontos de Atenção na Implementação do MR-MPS-SW usando
Metodologias Ágeis e a Ferramenta Trello (Lições Aprendidas e Melhores
Práticas).
3. Audiência
Para esta apresentação o perfil dos profissionais que se beneficiarão com as informações
a serem tratadas/discutidas pelos palestrantes é bem abrangente, a saber: desde
empresários do ramo desenvolvimento de software que tenham interesse na
implementação dos processos organizacionais usando práticas contantes em modelos de
qualidade a partir do uso de ferramentas de software; passando por diferentes perfis
(gerentes/líderes de projetos, equipes de desenvolvimento, testadores, etc.) envolvidos
no processo de desenvolvimento de software; até alunos e professores de Universidades
que trabalham com pesquisa/extensão no contexto da melhoria do processo de software
organizacional.
Como pré-requisito de conhecimento técnico para o público interessado na
apresentação, este deve ter o entendimento básico das filosofias constantes em
ferramentas de software de gestão de demandas, bem como o entendimento da cultura
presente nos programas de melhoria dos modelos MPS.BR e CMMI.
4. Breve Biografia dos Palestrantes
Como biografia dos autores/palestrantes desta apresentação, tem-se:
53
Trilha da Indústria
•
•
Aruanda Simões Gonçalves Meiguins, cursa doutorado no Programa de PósGraduação em Engenharia Elétrica da UFPA, é mestre em Ciência da
Computação pela Universidade Federal de Santa Catarina (2001) e bacharel em
Ciência da Computação pela Universidade Federal do Pará (1998). É Gerente de
Desenvolvimento da Gol Software e atuou como professora do Centro
Universitário do Pará (CESUPA). Apresentou inúmeras palestras e participou de
várias conferências na área da Ciência da Computação. Atua como pesquisadora
principalmente nas áreas de mineração de dados, visualização de informação e
algoritmos evolucionários. Atuou como coordenadora de projetos de pesquisa e
inovação apoiados pela FINEP, FAPESPA e CNPq. Currículo Lattes disponível
em http://lattes.cnpq.br/5586729353238501;
Sandro Ronaldo Bezerra Oliveira, é professor adjunto da Universidade Federal
do Pará desde 2008, nos cursos presentes na Faculdade de Computação e no
Programa Pós-Graduação em Ciência da Computação, tendo sob sua
responsabilidade a orientação de alunos com trabalhos de pesquisa em nível de
doutorado, mestrado, conclusão de curso e iniciação científica. Mantém
cooperação de pesquisa com a Universidade de Coimbra e o Centro de
Informática da UFPE. Os seus interesses de pesquisa concernem a especificação
de abordagens (técnicas, métodos, ferramentas de software livre, etc.) para a
implementação de modelos e normas para a qualidade do processo de software
organizacional. Em particular, ele possui experiência no uso dos modelos MRMPS-SW e CMMI e normas ISO/IEC 12207, ISO/IEC 15504, ISO 9126,
MEDE-PROS e CERTICS para a implementação e avaliação de processos e
produtos de software organizacionais. Durante seu doutoramento, o candidato
fez seu programa (2004-2007) no Centro de Informática da Universidade
Federal de Pernambuco (CIn/UFPE), sob a supervisão do Prof. PhD. Alexandre
Marcos Lins de Vasconcelos que é especialista em tecnologia de processos de
software a partir do uso da Qualidade de Software. Sandro vem ativamente
participando de inúmeros projetos de pesquisa na área de Qualidade de
Software, sendo coordenador de projetos financiados peloo CNPq, CAPES,
FAPESPA, SECTI, dentre os quais destaca-se o SPIDER – Software Process
Improvement: DEvelopment and Research, que recebeu em 2012 o
Prêmio Dorgival Brandão Júnior referente ao Ciclo 2011 do Programa
Brasileiro da Qualidade e Produtividade em Software, concedido pela Secretaria
de Política de Informática - Ministério da Ciência, Tecnologia e Inovação
(SEPIN-MCTI). Sandro é editor associado do periódico sobre Engenharia de
Software para o Journal of Software Engineering Research and Development
(JSERD), SpringerOpen Journal. Em termos de conferências, o mesmo já foi
revisor e apresentador em diversas conferências nacionais e internacionais como
CLEI (2013), SBQS (várias edições), WAMPS (várias edições), etc. Currículo
Lattes disponível em: http://lattes.cnpq.br/2080791630485427.
5. Agradecimentos
Este trabalho recebeu apoio financeiro da SECTI – Secretaria do Estado do Pará em
Ciência, Tecnologia e Inovação, a partir do Edital 02/2012 de Seleção Pública para
Melhoria do Processo de Software de Empresas Paraenses em Software. Além disso,
está inserido no escopo do Projeto SPIDER, instituído na Universidade Federal do Pará.
54
Trilha da Indústria
Uma Ferramenta para Gerenciamento de Infraestruturas
de Computação em Nuvem
Leandro M. Nascimento1,2, Julio C. Damasceno1,2,3, Rodrigo E. Assad1,
Vinícius C. Garcia1,3, Pedro H. F. Neves1,3, Silvio R. L. Meira1,3
1
2
USTO.RE Software e Serviços LTDA – Porto Digital
Recife – PE – Brasil
Depto. de Informática (DEINFO) – Univ. Federal Rural de Pernambuco (UFRPE)
Recife – PE – Brasil
3
Centro de Informática (CIn) – Univ. Federal de Pernambuco (UFPE)
Recife – PE – Brasil
{leandro.nascimento,xjulio,assad,vinicius,pedro}@usto.re,
[email protected]
Abstract. The continuous search for computing resources at low costs has
leveraged cloud computing popularization in corporations of different size.
Besides this reality, there is a need for cloud computing administration tools
that make easier and automate the creation and maintenance of cloud
infrastructures. This work presents a tool named uCloud Console™,
developed by USTO.RE, for this purpose which brings, as a differential
feature, the presentation and management of the cloud infrastructure as a
visual model, allowing simple properties edition and automatic deployment in
virtualization server.
Resumo. A busca contínua por recursos computacionais a um baixo custo
impulsionou a popularização da computação em nuvem que vem dominando o
cenário em corporações de diferentes tamanhos. Atrelada a essa realidade,
surge a necessidade de utilização de ferramentas de administração de
infraestruturas de computação em nuvem que facilite a criação e manutenção
de tais estruturas de forma automatizada. Este trabalho apresenta uma
ferramenta chamada uCloud Console™, desenvolvida pela USTO.RE, para
esse fim e que tem como diferencial a apresentação de um modelo visual da
infraestrutura, permitindo a edição de propriedades de forma simples e
implantação automática em servidor de virtualização.
1. Introdução
Uma definição bem aceita de computação em nuvem estabelecida pelo NIST (Instituto
Americano de Padrões e Tecnologia) assume que “Computação em nuvem é um modelo
que permite o acesso ubíquo, conveniente e sob demanda de recursos computacionais
compartilhados e configuráveis, tais como, redes, servidores, armazenamento,
aplicações e serviços, que podem ser rapidamente provisionados e entregues ao usuário
com um esforço mínimo de gerenciamento ou de interação com o provedor de serviços”
[Mell and Grance 2011].
Seguindo essa perspectiva, é notável a popularização de plataformas elásticas de
computação em nuvem, também chamadas de plataformas de virtualização, como os
55
Trilha da Indústria
serviços oferecidos pela Amazon e Google, entre outros, culminando no barateamento
do uso de tais serviços. Este cenário acaba facilitando a transferência da
responsabilidade de processamento e armazenamento de informações, originalmente
feitos dentro de pequenas corporações a um custo alto, para grandes corporações que
adotam computação em nuvem a um baixo custo. Em outras palavras, não faz mais
sentido para qualquer empresa que está surgindo e que tem orçamento limitado montar
toda uma infraestrutura de TI para rodar seus sistemas de controle, mas sim subcontratar
uma infraestrutura de computação em nuvem que pode atender a demanda corrente e
futura de tal empresa. Em termos práticos, computação em nuvem atende a demandas
de elasticidade de infraestrutura. Uma vez que são necessários mais recursos
computacionais para atender a uma determinada necessidade, tais recursos podem ser
rapidamente instanciados.
Existem algumas ferramentas para administração de plataformas de
virtualização, como o AWS Management Console1 e o VMware® vCenter™
Operations Management Suite™2, por exemplo. Entretanto, algumas necessidades
específicas não suportadas como: migração de máquinas virtuais (VM) baseadas em
heurísticas parametrizadas; definição da configuração das máquinas virtuais; execução
de scripts e perfis automáticos de instalação de pacotes; definição de políticas de
segurança customizadas; monitoramento proativo; possibilidade de manipulação visual
das estruturas de uma nuvem; entre outros requisitos.
Com o objetivo de atender a essas necessidades de gerenciamento de
infraestruturas de computação em nuvem e com a premissa de usar uma linguagem
visual para tal, este trabalho apresenta a uCloud Console™, uma ferramenta
desenvolvida pela USTO.RE3 e de propriedade da mesma.
2. uCloud Console – uma Ferramenta para Gerenciamento de
Infraestruturas de Computação em Nuvem
A uCloud Console™ é uma solução baseada na criação de modelos visuais para
representar uma infraestrutura em nuvem. O usuário da ferramenta literalmente desenha
os elementos que quer que sejam criados em um servidor de virtualização e, através da
ferramenta, executa o deploy automático do modelo visual. A partir do modelo, é
possível editar propriedades de cada um dos elementos, como a quantidade de memória
ou número de CPUs de uma determinada máquina virtual a ser criada, assim como
apresentado na Figura 1.
2.1. Arquitetura e Tecnologias Adotadas
Para desenvolver a uCloud Console™, nós utilizamos o Eclipse Modeling Framework
(EMF) em conjunto com o Eclipse Graphical Modeling Framework (GMF), que provê
um conjunto de componentes para geração de código e desenvolvimento de editores
gráficos baseados no EMF.
A Figura 2 resume a arquitetura da uCloud Console™. O editor gráfico
apresenta um conjunto de possíveis estruturas a serem manipuladas visualmente no
diagrama como: máquina virtual (VM), pool de máquinas virtuais, balanceador de
1
AWS Management Console - http://aws.amazon.com/pt/console/
VMware® vCenter™ Operations Management Suite™ - http://www.vmware.com/br/products/vcenteroperations-management/
3
Usto.re - http://usto.re/
2
56
Trilha da Indústria
carga, interfaces de rede e endereços IP para cada máquina virtual. Uma vez criado o
modelo visual, a ferramenta faz validação automática do mesmo, com base em diversas
condições. Por exemplo, não é possível haver um pool de VMs sem nenhuma VM
adicionada, ou não é possível ter um diagrama que não tenha nenhum pool de VMs. Ou
ainda, não é possível adicionar um endereço IP numa interface de rede que não seja
compatível com a máscara de rede, entre outros possíveis erros de validação.
Figura 1. Exemplo de modelo visual manipulado pela uCloud Console™. Em
destaque, vê-se o conjunto de propriedades de um elemento do modelo.
Arquitetura uCloud
API REST
Núcleo uCLoud
API
XenServer
Base de dados MySQL
Editor gráfico
(console)
Figura 2 – Arquitetura da uCloud Console™.
Depois de realizada a validação do modelo e nenhum erro é encontrado, o
usuário pode então clicar no botão que realiza a implantação do modelo no servidor de
virtualização. O editor gráfico então se comunica com o módulo de núcleo da uCloud
através de uma API REST. O núcleo persiste o modelo do usuário numa base de dados
MySQL possibilitando posterior recuperação do último estado do modelo implantado.
Após persistência do modelo, o núcleo acessa o servidor de virtualização Citrix®
XenServer4 através de uma API própria disponibilizada. O acesso à API do XenServer é
todo controlado e mantido pelo núcleo uCloud.
A ferramenta encontra-se atualmente em fase alpha de desenvolvimento e várias
funcionalidades a serem implementadas envolvem a disponibilização de uma interface
Web de interação com o usuário final e a apresentação do modelo visual com
4
Citrix® XenServer - http://www.citrix.com.br/downloads/xenserver.html
57
Trilha da Indústria
informações atualizadas em tempo real, como a quantidade de memória atualmente
consumida por uma determinada VM, por exemplo.
2.2. Estrutura da Palestra
A apresentação da ferramenta será feita seguindo a estrutura a seguir:
1. Apresentação do palestrante (2 minutos)
2. Contexto e motivação (5 minutos)
a. Introdução à computação em nuvem
b. Desafios e problemas – Apresentação dos desafios e problemas que
motivaram a proposição da solução UCloud
3. Técnicas usadas na criação da ferramenta (5 minutos)
a. Conceitos sobre o desenv. de linguagens visuais / Trabalhos relacionados
4. Demonstração da ferramenta uCloud Console™ (13 minutos)
a. Descrição dos requisitos implementados
b. Hands-on – execução ao vivo da ferramenta para demonstração
5. Considerações finais (5 minutos)
a. Lições aprendidas
b. Estado atual de desenvolvimento e próximos passos
c. Respondendo perguntas da audiência
3. Audiência
Esta apresentação está voltada para praticantes de Ciência da Computação de qualquer
área, que tenham interesse em computação em nuvem, ou organizações que desejam
aperfeiçoar o gerenciamento dos recursos computacionais distribuídos e por ela
utilizados, sejam em uma nuvem privada, pública, ou híbrida. A apresentação pode ser
interessante para administradores de sistemas, usuários de ferramentas de virtualização
como VMware® e engenheiros de software interessados em entender o processo de
criação de linguagens específicas de domínio, neste caso, linguagens visuais.
4. Biografia do Palestrante
Graduado (2005), mestre (2008) e doutor (2014) em Ciência da Computação pela
Universidade Federal de Pernambuco, Leandro M. Nascimento ensina desde 2008 e
passou a ser professor da Universidade Federal Rural de Pernambuco desde 2011.
Leandro lecionou cursos em diversas áreas para turmas de graduação e de pósgraduação e tem sua pesquisa direcionada para área de engenharia de software e
linguagens específicas de domínio. Leandro já atuou como engenheiro de sistemas por
mais de cinco anos e atualmente é consultor de desenvolvimento da USTO.RE.
5. Agradecimentos
Este trabalho foi parcialmente apoiado pelo Instituto Nacional de Engenharia de
Software (INES5), financiado pelo CNPq e FACEPE, concessão 573964/2008-4, APQ1037-1.03/08 e APQ-1044-1.03/10 (Proc. CNPq: 475743/2007-5 e 140060/2008-1).
Referências
Mell, P. and Grance, T. (2011). The NIST definition of cloud computing. National Institute of Standards
and Technology (USA). http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf.
5
INES – www.ines.org.br
58
Trilha da Indústria
Text Generation from Business Process Models
Raphael de Almeida Rodrigues1 , Leonardo Guerreiro Azevedo1,2 ,
Kate Revoredo1 , Henrik Leopold3
1
Graduate Program in Informatics (PPGI)
Federal University of the State of Rio de Janeiro (UNIRIO)
Av. Pasteur 438 – Urca – Rio de Janeiro – RJ – Brazil – 22290-240
2
IBM Research - Brazil
Av. Pasteur 138 & 146 – Botafogo – Rio de Janeiro – RJ – Brazil – 22290–240
3
WU Vienna, Welthandelsplatz 1, 1020 Vienna, Austria
{raphael.rodrigues, azevedo, katerevoredo}@uniriotec.br,
[email protected], [email protected]
1. Presentation Summary
Process modeling is a widely used concept for understanding, documenting and
also redesigning the operations executed by organizations. The most important
artifacts resulting from the activity of process modeling are so-called business process
model [Ko et al. 2009]. These models are created by using specific notations as for
instance BPMN [OMG 2011]). The validation of process models is usually driven
by business analysts who are familiar with the concept of a process model, but not
with the business related details the model depicts. Domain experts, on the other
hand, have deep knowledge about the business domain, but in many cases do not
have the skills to read business process models. For them, it is easier reading a
natural language text than trying to understand the logic behind a process model
[Leão et al. 2013]. Hence, natural language texts represent an important input for
the interaction between business analyst and domain expert.
Natural language Generation (NLG) is the activity of generating natural
language texts from a machine’s system representation, as a knowledge base or a
logic form [Ehud Reiter 1997]. A NLG system can be seen as a translator that
converts a computer-based representation into a natural language representation.
In order to achieve this goal, NLG systems must make decisions about how to
represent concepts through words. Therefore, NLG systems combine knowledge
about the specific language and the domain where the application is going to be
used in order to automatically generate reports, explanations, help messages, and
several other types of texts [Dale and Reiter 2000].
The most common use of NLG is to improve systems with the capacity of
extracting linguistic information from a machine artifact to produce a natural language text. For non-expert users it is easier to understand the text than the machine artifact. Hence, NLG use reduce the need for training the workforce on specific concepts and technologies used to represent the machine artifacts’ information
[Ehud Reiter 1997]. For instance, NLG can be used to automate routine documents
generation, such as generation of product purchase confirmation emails with specific
information about the client and the product.
59
Trilha da Indústria
This presentation aims at demonstrating a generic technique that supports
the generation of natural language texts from process models [Leopold et al. 2012]
[Leopold et al. 2013] [Rodrigues 2013]. The technique is capable of automatically
generating natural language text that fully describes the process modeled using
the BPMN notation. The defined approach is flexible, and thus can be used with
different languages such as English, Portuguese, and German. The steps undertaken
during the text generation process are explained in detail in order to fully understand
the technique and its phases. The main topics of this presentation are:
• NLG and the Three-Phase Pipeline Architecture
• Examples of NLG systems [Reiter 2007]
• Text Generation from BPMN Process Models
– Linguistic Information Extraction [Polyvyanyy et al. 2011]
– RPST tree generation [Polyvyanyy et al. 2011]
– Text Structuring [Meteer 1992]
– DSynT message generation [Dalianis 1999]
– Message Refinement [Stede 1994]
– Message Realization [Lavoie and Rambow 1997]
• Final Remarks
Attendees will have the opportunity to learn NLG in a broad perspective
with practical examples, and gain knowledge on how to apply NLG to generate text
from business process models.
2. Audience
This presentation is recommended for any professional or student interest in learning
about natural language generation, especially from business process models.
We recommend attendees have initial knowledge on business process model
design. However, those who have never dealt with business process models will gain
general knowledge about benefits and characteristics of using NLG.
3. Biography
3.1. Raphael de Almeida Rodrigues
Raphael de Almeida Rodrigues is Bachelor in Information Systems (2013) by Federal University of the State of Rio de Janeiro (UNIRIO). Part of his course was
undertaken in Universidad de Salamanca (Spain). He is master student since 2014
with Graduate Program in Information Systems(PPGI) at UNIRIO. His research is
mainly on Artificial Intelligence, with focus on text processing and machine learning.
He has already worked as Software Analyst and System Architect. More specifically,
he is engaged in the following topics: IT planning and refactoring, software quality,
software developing processes, techniques for automatic code analysis, middleware
development, reuse, and software architecture. During his bachelor course he worked
during seven months with the SAP Rearch Dresden, Germany, under the supervision
of Bart-Jan van Putten. He has performed several activities in consulting work for
different companies (e.g. Cetip, Furnas, Ipiranga and SERPRO) through a partnership with the Software Engineering Laboratory (LES) of PUC-Rio.
60
Trilha da Indústria
3.2. Leonardo Guerreiro Azevedo
D.Sc. Leonardo G. Azevedo is Researcher with IBM Research Brazil (2013), Professor with Federal University of the Sate of Rio de Janeiro (UNIRIO) (2009), and
member of Graduate Program in Informatics at UNIRIO (2009). He received a PhD
degree(D.Sc.) and master degree in Science, in Systems and Computation Engineering from Graduate Program in Engineering (COPPE/PESC) at Federal University
of Rio de Janeiro (UFRJ) (2005 and 2001), and a bachelor degree in Informatics from
UFRJ (2000). Part of his PhD was done in FernUniversität in Hagen, Germany,
under the supervision of Dr. rer. nat. Ralf Hartmut Güting (2004). His research areas include Distributed Systems, Service-Oriented Architecture, Cloud Computing,
Business Process Management, Model-Driven Architecture, Business Rules, Spatial
Database, and Approximate Query Processing. He has also worked as Research
Consultant, and System Analyst and Project Manager for several companies, such
as Brazilian Navy, Brazilian Defense Ministry, Embratel, and Petrobras. His research has been published, among others, in DSS, ICEIS, ECIS, BPMDS, IADIS
Applied Computing, IADIS Information Systems, GeoInfo, GeoInformatica, SOSE.
He is a board member of Brazilian and international program committees.
3.3. Kate Revoredo
Kate Revoredo obtained her D.Sc. degree in Computer Science from COPPE/UFRJ
(2009). During the year 2006 she worked for six months at the University of Freiburg,
Freiburg (Germany). She is a Professor at UNIRIO (Federal University of the State
of Rio de Janeiro), Brazil. Her experience and research work focus on machine learning, data mining, social media analytics and ontology alignment. She coordinates
and participates in research projects in those areas, with funding from Brazilian
government agencies, including CNPq and FAPERJ. She participates in several program committees of national and international conferences and workshops, and is a
member of the Brazilian Computer Society and the Special Comission in Artificial
Intelligence.
3.4. Henrik Leopold
Dr. rer. pol. Henrik Leopold is assistant professor with the Institute for Information Business at the Vienna University of Economics and Business. He received
a PhD degree (Dr. rer. pol.) as well as a master degree in information systems
from the Humboldt University Berlin and a bachelor degree in information systems
from the Berlin School of Economics. Before his graduation he worked for several
departments of the pharmaceutical division of Bayer in Germany and the USA. In
July 2013, he completed his doctoral thesis on Natural Language in Business Process Models. His current research interests are business process modelling, natural
language processing, and process architectures. The results of his research have been
published, among others, in IEEE Transactions on Software Engineering, Decision
Support Systems, and Information Systems. He has been a visiting researcher at
the Eindhoven University of Technology (April-July 2010) and Federal University
of the State of Rio de Janeiro (UNIRIO) (March-April 2012, funded by DAAD).
Since 2011 he is also a board member of the Berlin BPM Community of Practice
(http://www.bpmb.de).
61
Trilha da Indústria
References
Dale, R. and Reiter, E. (2000). Building natural language generation systems. Studies in Natural Language Processing. Cambridge University Press.
Dalianis, H. (1999). Aggregation in natural language generation. Computational
Intelligence, 15(4):384–414.
Ehud Reiter, R. D. (1997). Building applied natural language generation systems.
Natural Language Engineering 1.
Ko, R. K., Lee, S. S., and Lee, E. W. (2009). Business process management (bpm)
standards: a survey. Business Process Management Journal, 15(5):744–791.
Lavoie, B. and Rambow, O. (1997). A fast and portable realizer for text generation systems. In Proceedings of the fifth conference on Applied natural language
processing, pages 265–268. Association for Computational Linguistics.
Leão, F., Revoredo, K., and Baião, F. (2013). Learning well-founded ontologies
through word sense disambiguation. In Intelligent Systems (BRACIS), 2013
Brazilian Conference on, pages 195–200. IEEE.
Leopold, H., Eid-Sabbagh, R.-H., Mendling, J., Azevedo, L. G., and Baião, F. A.
(2013). Detection of naming convention violations in process models for different
languages. Decision Support Systems, 56:310–325.
Leopold, H., Mendling, J., and Polyvyanyy, A. (2012). Generating natural language
texts from business process models. In Advanced Information Systems Engineering, pages 64–79. Springer.
Meteer, M. W. (1992). Expressibility and the problem of efficient text planning. St.
Martin’s Press, Inc.
OMG (2011). Business process model and notation (bpmn) version 2.0. http:
//www.bpmn.org/.
Polyvyanyy, A., Vanhatalo, J., and Völzer, H. (2011). Simplified computation and
generalization of the refined process structure tree. In Web Services and Formal
Methods, pages 25–41. Springer.
Reiter, E. (2007). An architecture for data-to-text systems. In Proceedings of the
Eleventh European Workshop on Natural Language Generation, pages 97–104.
Association for Computational Linguistics.
Rodrigues, R. (2013). Um Framework Genérico para Geração de Texto em Linguagem Natural a partir de Modelos de Processo de Negócio. Bachelor thesis in Information Systems – Federal University of the State of Rio de Janeiro (UNIRIO).
Stede, M. (1994). Lexicalization in natural language generation: A survey. Artificial
Intelligence Review, 8(4):309–336.
62
Trilha da Indústria
Terceirização na implementação de testes: “os dois lados
da moeda”
Raquel Dias1, Gerson Albuquerque2, Abel Gripp1, Danielo G. Gomes2, Italo
Linhares de Araújo2, Ismayle de Sousa Santos2, Leodercio Lima Filho2, Rossana
Maria de Castro Andrade2
1
AsGa S.A
{raquel.dias, abel.gripp}@asga.com.br
2
GREat – Grupo de Redes de Computadores, Engenharia de Software e Sistemas Universidade Federal do Ceará (UFC) – Fortaleza – CE – Brasil
{gerson, dgomes, italoaraujo, ismaylesantos,leoderciolima,
rossana}@great.ufc.br,
1. Resumo
Teste de software, segundo [Myers et al. 2011], é o processo de executar um software
com o intuito de encontrar erros. Para identificar tais erros, é verificado o quanto do
comportamento do sistema está de acordo com o comportamento esperado especificado
nos requisitos. Assim, o teste permite garantir uma maior qualidade aos sistemas
desenvolvidos [Liu et al. 2005].
Apesar da importância do teste, essa atividade é uma das mais onerosas
[Shamsoddin-motlagh 2012, Santos et al. 2011]. Isso porque testar requer, dentre outras
coisas, conhecimento especializado, tempo e ferramentas adequadas. Cabe ressaltar que
o tempo gasto com o teste pode chegar a 50% do tempo necessário para desenvolver a
aplicação [Myers et al. 2011] e pode chegar a 50% dos custos envolvidos com o
desenvolvimento de um sistema [Myers et al. 2011, Liu et al. 2005, Hierons et al. 2009].
Devido ao custo e tempo necessários para a atividade de testes, muitas empresas
começam a ter dificuldades em realizá-las por completo, principalmente quando o
tempo e os recursos são escassos ou reduzidos. Segundo Torkar e Mankefors (2003),
60% dos desenvolvedores afirmam que essa atividade é a primeira a ser excluída
quando a empresa se encontra nessas condições. Dessa forma, uma solução adotada tem
sido a terceirização dessa atividade. A principal vantagem da terceirização dos testes é
que a empresa contratante não precisa se preocupar em ter uma equipe de testes e nem
em montar uma infraestrutura para esse propósito.
A AsGa1 S.A é uma empresa 100% brasileira, dedicada no desenvolvimento,
fabricação e fornecimento de equipamentos e soluções de Acesso Óptico, Elétrico e
Digital para Redes de Telecomunicações. Buscando melhorar seu processo de teste de
software e iniciar uma parceria academia-indústria, a AsGa executou um projeto em
parceria com o GREat2 (Grupo de Redes de Computadores, Engenharia de Software e
Sistemas), laboratório localizado na Universidade Federal do Ceará (UFC) e ligado ao
1
2
http://www.asga.com.br/
http://www.great.ufc.br/
63
Trilha da Indústria
Departamento de Computação da UFC, o qual ficou responsável por implementar testes
em um dos seus produtos. O laboratório tem experiência com o desenvolvimento para
dispositivos móveis e possui um subgrupo, a Célula de Testes e Qualidade de Software3
(CTQS), responsável pelas áreas de testes e qualidade de software do GREat.
Esta palestra relata então essa experiência de terceirização dos testes, destacando
tanto as dificuldades e lições aprendidas da equipe do GREat que implementava os
testes, quanto da empresa AsGa que terceirizava os mesmos para o GREat. Além disso,
na palestra será dado um destaque especial para as tomadas de decisões por parte das
duas equipes e do gerenciamento das atividades em equipes geograficamente distantes,
além da justificativa da escolha das ferramentas utilizadas, destacando pontos positivos
e negativos do seu uso neste projeto. As ferramentas utilizadas podem ser classificadas
em três categorias:
 Ferramentas de comunicação: uma vez que a AsGa e o GREat/UFC estão em
sítios geograficamente separados, fizemos o uso de ferramenta de áudio
conferência (e.g. Skype);
 Ferramentas para acompanhamento das atividades: i) Trello4: para o quadro
kanban; ii) Planilhas eletrônicas: para o gráfico Burndown; e iii) Microsoft
Project5: para controle dos recursos e do cronograma do projeto;
 Ferramentas de desenvolvimento: i) Selenium6, para os testes funcionais; ii)
TestNG7, para execução e relatório dos testes executados; e iii) JBehave8, cujo
objetivo era facilitar o BDD (Behavior Development Driven).
2. Agenda da Apresentação
Na apresentação serão abordados os seguintes tópicos:

Terceirização de teste, seus benefícios e desafios;

Tomada de decisões durante o planejamento e execução do projeto;

Ferramentas e artefatos utilizados, focando no uso prático dos mesmos;

Definição e acompanhamento de atividades em equipes geograficamente
distribuídas; e

Lições aprendidas durante a parceria.
3. Audiência
Como nossa palestra foca na terceirização dos testes, nosso público-alvo se estende para
a comunidade acadêmica e industrial. A comunidade acadêmica pode se beneficiar dos
resultados apresentados com a identificação de pesquisas que podem ser feitas para
melhorar o processo de terceirização da atividade de testes. As empresas, por sua vez,
3
http://www.great.ufc.br/ctqs
http://trello.com/
5
http://office.microsoft.com/en-001/project/
6
http://docs.seleniumhq.org/
7
http://testng.org/doc/index.html
8
http://jbehave.org/
4
64
Trilha da Indústria
podem perceber os benefícios da terceirização de atividades e tomar todas as lições
aprendidas como base para futuras parcerias desta natureza.
4. Biografia dos Palestrantes
Raquel Dias possui Mestrado em Engenharia Elétrica, na área de reconhecimento de
fala, pela Universidade Estadual de Campinas (2000). Graduação em Engenharia
Elétrica pela Universidade Federal do Pará (1997). Atualmente trabalha como
coordenadora de sistemas na AsGa S.A. Experiência em pesquisa e desenvolvimento na
área de Gerenciamento de Redes, atuando principalmente nas seguintes áreas: Teste de
software, integração de produtos, treinamento, homologação de produto e análise de
requisitos.
Gerson Albuquerque, possui graduação em Telemática com ênfase em
Telecomunicações pelo Instituto Federal de Educação, Ciência e Tecnologia do Ceará
(2006), e pós graduação em Sistemas Web em J2EE (2008) pela Universidade de
Fortaleza e MBA em Gerência de Projetos pela Fundação Getúlio Vargas (2010).
Atualmente trabalha como Gerente de Projetos e de TI no laboratório do GREat/UFC.
Experiência em pesquisa e desenvolvimento na área de dispositivos móveis.
Referências
Hierons, R. M., Bogdanov, K., Bowen, J. P., Cleaveland, R., Derrick, J., Dick, J., Gheorghe, M., Harman, M., Kapoor, K., Krause, P., Lüttgen, G., Simons, A. J. H., Vilkomir, S., Woodward, M. R., and Zedan, H. (2009). Using formal specifications to
support testing. ACM Comput. Surv., 41(2):9:1–9:76.
Liu, Z., Gu, N., and Yang, G. (2005). An automate test case generation approach: using
match technique. In Computer and Information Technology, 2005. CIT2005. The Fifth
International Conference on, pages 922–926.
Myers, G., Sandler, C., and Badgett, T. (2011). The Art of Software Testing. ITPro
collection. Wiley.
Santos, I. S., Santos, A. R., and Neto, P. A. S. (2011). Reusing functional testing in order to decrease performance and stress testing costs. In International Conference on
Software Engineering and Knowledge Engineering, pages 1–5, Miami Beach. Proceedings of the 23rd International Conference on Software Engineering and Knowledge
Engineering.
Shamsoddin-motlagh, E. (2012). A review of automatic test cases generation. International Journal of Computer Applications, 57(13):25–29. Published by Foundation of
Computer Science, New York, USA.
Torkar, R. and Mankefors, S. (2003). A survey on testing and reuse. In Proceedings on
IEEE International Conference on Software: Science, Technology and Engineering,
2003. SwSTE’03., pages 164–173.
65
Trilha da Indústria
Uma Proposta de Solução para Distribuição de Conteúdos
Educacionais
Jean L. Brasil1, Vinicius C. Garcia1, Rodrigo E. Assad2, Mauricio Carvalho2
1
Centro de Informática – Universidade Federal de Pernambuco (CIn/UFPE)
Caixa Postal 50.740-560 – Recife – PE – Brazil
2
USTO.RE Software e Serviços LTDA
Caixa Postal 50.030-210 – Recife – PE – Brazil
{jlbfc, vcg}@cin.ufpe.br, {assad, mauricio}@usto.re
Abstract. The objective of the present work is to propose a solution to the
obstacles encountered in the distribution and access to educational content
digital, also known as open educational resources, in public schools due to the
lack of broadband. The proposal also has the full use of the education
resources provided by the MEC and, in addition, provide the means for
teachers, educators and students can share among themselves their own
content. The presentation will be structured as follows: problems related to
the distribution of educational content, the concept of Educational Cloud and
the solution itself.
Resumo. O presente trabalho tem como objetivo propor uma solução aos
obstáculos encontrados na distribuição e acesso a conteúdos educacionais
digitais, também conhecidos como recursos educacionais abertos, na rede
pública de ensino devido à carência de banda larga. A proposta também visa
o completo aproveitamento do acervo educacional fornecido pelo MEC e,
além disso, possibilitar os meios para que professores, pedagogos e alunos
possam compartilhar entre si seus próprios conteúdos. A apresentação estará
estruturada da seguinte forma: problemas relacionados à distribuição de
conteúdos educacionais, o conceito de Nuvem Educacional e a solução em si.
1. Problemas Relacionados à Distribuição de Conteúdos Educacionais
A infraestrutura de telecomunicações no Brasil continua sendo uma grande barreira para
a distribuição de conteúdos educacionais. Enquanto usuários domésticos de banda larga
possuem comumente acesso a links de Internet de 10 Mbps nos grandes centros para uso
familiar por cerca de 3 a 4 membros por domicílio, a situação na rede pública, cujas
condições serão apresentadas a seguir, não possui o mesmo cenário.
Alunos da rede pública de ensino não possuem acesso à Internet banda larga,
necessário para usufruir da vasta quantidade e variedade de conteúdo educacional de alta
qualidade disponível gratuitamente na Web, e apesar da quase universalização de
conexões Internet nas escolas (93% possuem) [CETIC.br 2012], a banda média instalada
na rede pública é ainda insuficiente para o tráfego de conteúdo educacional em
quantidade adequada ao aprendizado personalizado. A velocidade de acesso mais
comum nas escolas públicas é 2 Mbps [CETIC.br 2012], link fornecido pelo PNBL.
66
Trilha da Indústria
A barreira de acesso fica clara quando consideramos que uma escola pública
média no Brasil possui cerca de 280 alunos. Este cenário deixaria 40% dos alunos sem a
possibilidade de usufruir de qualquer conteúdo online, enquanto 60% consumiriam, no
máximo, 10 minutos de vídeo aulas por dia, obrigatoriamente dentro do ambiente da
escola. Ainda segundo a pesquisa TIC Educação 2012, 60% dos alunos da rede pública
possuem computador em casa e 44% acessam a Internet utilizando celulares e
smartphones. O laboratório de informática vem caindo como principal local de uso de
Internet (-17% sobre 2011) e as salas de aula apresentam forte tendência de subida
(+46% sobre 2011).
Estes dados implicam numa nova realidade de necessidade de conectividade
dentro das escolas, onde se torne possível capitalizar a presença destes dispositivos para
uso educacional. As redes Wi-Fi presentes na escola normalmente resumem-se, quando
disponíveis, a poucos roteadores de uso doméstico fornecidos pelo programa Proinfo.
Por outro lado, o MEC possui em seu acervo através do Portal do Professor e do
Portal do Domínio Público mais de 30.000 objetos educacionais contendo vídeos, aulas
em áudio, apresentações, testes, livros, etc. Todo este conteúdo educativo não encontra
potencial de aproveitamento nas centenas de milhares de tablets a serem adquiridos por
um grande problema de infraestrutura de acesso que não será sanado facilmente nos
próximos anos.
É neste contexto que a USTO.RE desenvolve, em conjunto com o MEC e o
Fundo Nacional de Desenvolvimento da Educação (FNDE), o conceito da plataforma de
Nuvem Educacional, que é uma solução abrangente para apoio ao aprendizado escolar, e
que é composta por: Pontos de Acesso Wi-Fi, Media Center, Nuvem Central Privada e
uma plataforma de armazenamento e compartilhamento de conteúdo. A solução em si,
bem como seus componentes citados, será descrita na Seção a seguir.
2. A Nuvem Educacional
Com a chegada dos dispositivos móveis às salas de aula, alunos e professores têm a
oportunidade de utilizar a tecnologia a partir de qualquer lugar para acessar
informações, consumir conteúdo e desenvolver atividades educacionais relacionadas
com o currículo escolar ou extracurriculares.
Para esta premissa ser confirmada, se faz necessária a implantação de uma
infraestrutura de conectividade e disponibilidade de conteúdo. Do contrário, os tablets
educacionais e smartphones se comportarão como ilhas isoladas dentro do ambiente
escolar, inibindo seu principal potencial tecnológico transformador ao não oferecer uma
alternativa clara, fácil e veloz de acesso a conteúdo educacional apropriado, relevante e
de qualidade.
Os principais problemas a serem enfrentados nesse cenário são: a carência de
cobertura Wi-Fi apropriada no ambiente escolar, à baixa velocidade das conexões
Internet disponíveis nas escolas e a ausência de uma plataforma adequada ao
compartilhamento e consumo de conteúdo educacional. A Nuvem Educacional
soluciona estes três principais vetores com uma solução composta por:
Pontos de Acesso Wi-Fi de alta cobertura, alta capacidade e alta velocidade:
Permitem que todos os tablets de alunos e professores possam se conectar em alta
67
Trilha da Indústria
velocidade à rede da escola a partir de qualquer ponto: salas de aula, bibliotecas, salas
dos professores e laboratórios, permitindo o acesso a conteúdos multimídia (vídeos,
aulas, áudio) que estão disponíveis no Media Center da escola.
Media Center: Equipamento hospedado dentro de cada escola, que atua como
um servidor de cache de conteúdo que permite o acesso local a centenas de gigabytes de
arquivos. Aqui se encontra o Portal de acesso a objetos educacionais, onde conteúdos
disponibilizados pelo MEC, secretarias de educação e pelos próprios professores e
alunos das escolas podem ser pesquisados e acessados localmente, através dos Pontos de
Acesso presentes na escola, sem a necessidade de conexões de Internet de alta
velocidade. O link Internet da escola é utilizado pelo Media Center para sincronizar os
conteúdos educacionais do mesmo com a Nuvem Central Privada.
Nuvem Central Privada: Módulo central de controle da plataforma que permite
que professores e pedagogos possam inserir e acessar seu conteúdo a partir de qualquer
local (de suas casas, da secretaria de educação ou das escolas, por exemplo). Este
módulo também mantém uma cópia de segurança dos principais dados hospedados nos
Media Centers das escolas. Sempre que um conteúdo é inserido na Nuvem Central por
um professor, por exemplo, esse conteúdo é sincronizado com o Media Center da escola
no qual ele leciona. Os alunos, por sua vez, podem consumir o conteúdo disponibilizado
pelo professor para os seus tablets, através da conexão com algum dos Pontos de Acesso
da escola.
A solução conta ainda com uma plataforma de armazenamento e
compartilhamento de conteúdo que permite que professores compartilhem arquivos com
alunos que, por sua vez, podem copiar estes arquivos para seus smartphones ou tablets e
visualizá-los em suas casas, permitindo o aprendizado personalizado, no ritmo de cada
aluno e no local preferido, mesmo sem possuir conexão Internet de alta velocidade em
suas residências.
Para alcançar o objetivo ao qual a solução se propõe, uma arquitetura
operacional de distribuição e configuração da infraestrutura da Nuvem Educacional foi
projetada, levando em consideração as restrições identificadas na seção anterior. A
Figura 1 ilustra o diagrama operacional da Nuvem Educacional do FNDE.
Figure 1. Diagrama operacional da Nuvem Educacional FNDE
68
Trilha da Indústria
Conforme pode ser visualizado no Diagrama operacional da Nuvem
Educacional, a solução proposta utiliza os diversos Pontos de Acesso para fornecer a
conectividade aos demais dispositivos clientes do Media Center da escola. Por meio
destes dispositivos de rede, é possível criar “sub redes” dentro das escolas
possibilitando, por exemplo, a segmentação de redes por salas de aula, ambientes de
apoio a aprendizagem como a biblioteca ou auditórios, refeitórios e, claro, a rede do
próprio Media Center.
O Media Center é o dispositivo que estará conectado a Internet e a partir dele
toda Nuvem Educacional estará disponível para a escola. A partir dos algoritmos e
tecnologias utilizadas na construção da Nuvem Educacional, a largura de banda
disponível para a conexão do Media Center à Internet não se torna um fator impeditivo
para a transferência de objetos educacionais para as escolas, por exemplo.
A Nuvem Educacional torna possível que alunos das escolas públicas vençam a
barreira imposta pela carência de banda larga ao acesso de conteúdo de qualidade. Os
Media Centers podem ser atualizados pela Nuvem Central e já contam com mais de
30.000 objetos educacionais do Portal do Professor e Portal do Domínio Público, ambos
do MEC. A solução aqui proposta visa o completo aproveitamento deste acervo e, além
disso, ofertar a possibilidade e os meios para que professores, pedagogos e alunos da
rede pública de ensino possam compartilhar entre si seus próprios conteúdos.
Atualmente, a solução em desenvolvimento já com os componentes da mesma citados,
se encontra no estágio de Prova de Conceito com os clientes FNDE e CAPES.
3. Audiência
Os principais beneficiados com a apresentação serão profissionais da área de educação,
tais como secretários e gestores de educação, pedagogos, professores e alunos.
Profissionais de TI, tanto da área de análise e desenvolvimento de software, assim como
de redes, e que tenham interesse em soluções de distribuição de conteúdos educacionais
também poderão ser beneficiados.
4. Breve Biografia
Jean L. Brasil. Bacharel em Sistemas de Informação (Faculdade de Alagoas/FAL 2009) com experiência em análise e desenvolvimento de software para Web.
Atualmente é Mestrando em Ciência da Computação pelo CIn/UFPE e Engenheiro de
Software na empresa USTO.RE, onde trabalha no desenvolvimento de soluções para
distribuição de conteúdos educacionais e para armazenamento de dados em cloud
computing. Sem experiência de apresentações em congressos.
Lattes: <http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4446009T6>
Referências
CETIC.br. (2012) “TIC Educação 2012: Pesquisa sobre o uso das tecnologias de
informação
e
comunicação
nas
escolas
brasileiras”,
http://www.cetic.br/educacao/2012, Dezembro.
69
Trilha da Indústria
Um processo de desenvolvimento de software na gestão
municipal, utilizando métricas de qualidade
Euristenho Queiroz de Oliveira Júnior
SEPOG – Secretaria de Planejamento, Orçamento e Gestão da Prefeitura de Fortaleza
Abstract. Given the numerous environmental factors present in the
Municipalities, and forward the various traditional and agile development
methodologies, this study aims to present a hybrid development process of
software, presenting data demonstrating its success for use through quality
metrics to resolve conflicts in the IT industry with the development of new
projects versus maintenance of deployed systems. The idea is not simply
merge points of intersection between the methodologies, but rather to
highlight the junction techniques in the development of a municipal
government environment.
Resumo. Diante dos inúmeros fatores ambientais presentes nas Prefeituras
Municipais, e frente as diversas metodologias tradicionais e ágeis de
desenvolvimento, este trabalho se propõe a apresentar um processo de
desenvolvimento de software híbrido, apresentando dados que comprovem seu
sucesso de utilização, por meio de métricas de qualidade, para resolver
conflitos do setor de TI com o desenvolvimento de novos projetos versus
manutenção de sistemas implantados. A ideia não é simplesmente mesclar
pontos de intercessão entre as metodologias, mas evidenciar a junção das
técnicas no ambiente de desenvolvimento de uma Prefeitura Municipal.
1. Descrição da Palestra
Uma das grandes dificuldades dos profissionais que gerenciam projetos, e
coordenam equipes de desenvolvimento de software no setor público, é analisar,
desenhar e propor um modelo de processo de desenvolvimento de sistemas adaptado as
características particulares das esferas públicas.
Diante dos inúmeros métodos de desenvolvimento e das práticas empregadas em
cada metodologia, sejam elas tradicionais ou ágeis, é bem verdade que o conhecimento
aprofundado teórico sobre a metodologia e como funciona a sua utilização, não garante
o sucesso da equipe na entrega de produtos de qualidade.
Segundo Souza e Reinhard (2012), deve ser levado em consideração os fatores
ambientais do ambiente público, as características técnicas, políticas e organizacionais
em projetos, nos quais em seu trabalho, Souza e Reinhard não afirmam ou negam a
aplicabilidade das chamadas “melhores práticas” no gerenciamento de projetos, e
70
Trilha da Indústria
propõem para trabalhos futuros, propostas de trabalho para a elaboração de um processo
de desenvolvimento de software para equipes de TI de Prefeituras que desejam entregar
software de qualidade.
A Secretaria de Planejamento, Orçamento e Gestão da Prefeitura Municipal de
Fortaleza (SEPOG) possui uma equipe de TI, a qual precisa gerenciar 8 sistemas
implantados, 3 projetos em fase de implantação e 40 projetos a serem aprovados para
desenvolvimento. Contudo, existe uma limitação quanto ao número de pessoas no
quadro funcional para atender com qualidade as diferentes demandas com os mais
variados tipos de clientes.
Este trabalho descreve um estudo de caso sobre o cenário da SEPOG de forma a
responder o seguinte questionamento: Como um processo de desenvolvimento de
software adaptativo, definido para cada projeto, aliando técnicas motivacionais a equipe,
com a utilização de métricas de qualidade no processo de construção/manutenção de
cada sistema e com a mesma equipe para os diferentes sistemas, pode produzir atender
satisfatoriamente seus clientes?
Essa realidade que não é só vivenciada pela SEPOG, mas por outras instituições
públicas, os quais anseiam por um estudo acadêmico que possa ser apresentado a estas
secretarias, de como enfrentar estes obstáculos, de forma a: atender os requisitos de
qualidade de software fornecidos por estas instituições; gerenciar os conflitos de
interesses entre os departamentos solicitantes do Órgão; buscar a satisfação no uso das
soluções por seus usuários, alinhada às metas exigidas pela Alta Direção.
1.2 Avaliação do Trabalho
A solução proposta neste trabalho, realiza um levantamento em três cenários
diferentes, dois deles no âmbito da administração municipal de Fortaleza, mais
precisamente nos órgãos ETTUFOR (Empresa de Trânsito e Transporte Urbano de
Fortaleza) e SEPOG (Secretaria de Planejamento, Orçamento e Gestão) e o último
cenário no órgão do Estado do Ceará chamado SEPLAG (Secretaria de Planejamento e
Gestão do Estado do Ceará), órgãos escolhidos por existirem as melhores práticas
empregadas no desenvolvimento de software dentre as equipes de tecnologia de suas
administrações públicas. O Cenário da Secretaria do Estado foi escolhida, para que
possamos observar uma variável de estrutura organizacional diferente da municipal,
buscando aplicar técnicas de pesquisa experimental em ambientes reais, desenvolvendo
metodologias científicas do tipo qualitativa indutiva com estudos de caso controle.
Para um dos cenários da administração municipal de Fortaleza (ETTUFOR),
juntamente com o outro cenário do Estado (SEPLAG), foi realizado um levantamento de
dados, com questionários e entrevistas sobre pontos chaves, que servirão de
fundamentação observacional sobre os processos de desenvolvimento de sistemas
existentes, realizando uma metodologia investigativa.
Para o outro cenário da Prefeitura Municipal de Fortaleza (SEPOG),
levantaremos o status em que se encontra o desenvolvimento de software neste
71
Trilha da Indústria
laboratório, e logo após, aplicaremos inferências sobre o processo de desenvolvimento
de software, introduzindo o modelo de processo de desenvolvimento de software com
métricas eficazes de qualidade voltado especificamente para Gestão Pública, proposto
neste trabalho, com base nos conhecimentos outrora abordados nos capítulos da seção
fundamentação teórica. Neste contexto, utilizamos a modalidade de pesquisa do tipo
Pesquisa Ação, objetivando testar e realizar amostras dos resultados colhidos,
inspecionando e analisando as conformidades, aderências e satisfações dos clientes para
com o modelo proposto nesta dissertação.
Ao final, apresentarei resultados gráficos que evidenciam a produtividade do
processo aplicado, demonstrando indicadores de desempenho e pesquisas de satisfação
dos clientes, que comprovam a utilização deste processo de desenvolvimento voltado
para a gestão de TI, objetivando uma solução prática, de como aplicar técnicas na gestão
pública, para resolver conflitos de demandas de desenvolvimento de sistemas
implantados versus novos sistemas, utilizando a mesma equipe.
2. Audiência
Este trabalho possui o objetivo de apresentar aos profissionais de Tecnologia da
Informação (TI), voltados especificamente a área de gerenciamento de projetos e
desenvolvimento de sistemas, compreendendo desde desenvolvedores, analistas,
arquitetos, gerentes de projetos, coordenadores de TI, engenheiros de software, dentre
outros que estejam interessados em adquirir maiores conhecimentos no processo de
desenvolvimento de software em ambientes públicos municipais.
3. Biografia
Euristenho Queiroz de Oliveira Júnior
Brasileiro, natural de Fortaleza, 32 anos de idade, casado. Especialista em Engenharia de
Software e Mestrando em Engenharia de Software no CESAR (Centro de Estudos e
Sistemas Avançados do Recife ). Tenho 10 anos de carteira assinada, dentre os quais 7
anos de serviços prestados para a Prefeitura Municipal de Fortaleza, atravessando
gestões, dentre os quais exerci os cargos de Desenvolvedor, Analista de Sistemas,
Gerente de Projetos, Coordenador de Qualidade de Software, Coordenador de
Desenvolvimento de Sistemas. Durante esta jornada já implantei 8 sistemas corporativos
na Prefeitura: Sistema de Protocolo/Gestão Eletrônica de Documentos, Sistema de
Frotas, Sistema de Almoxarifado, Sistema de Catálogo Único de Itens, Sistema de
Compras, Sistema de Consignações Bancárias, Sistema de Ponto Eletrônico, Sistema de
Controle Hospitalar e estou em fase de implantação do Sistema de Patrimônio já com as
72
Trilha da Indústria
novas normas da NBCASP. Gerenciando diferentes equipes, e linguagens de
programação, trabalhando com algumas combinações de complexidade e particularidades
em cada projeto.
Fui Professor em 2012 do curso de Especialização em Sistemas WEB da Faculdade de
Juazeiro do Norte, Palestrante da Infobrasil 2011 sobre o tema Gerenciamento de
Conteúdo. Integrante de 2 Bancas de Graduação do curso Sistemas de Informação na
Faculdade 7 de Setembro em Fortaleza.
4. Referências
Enock Godoy de Souza, Nicolau Reinhard , GESTÃO DE PROJETOS DE SISTEMAS
DE INFORMAÇÃO NO SETOR PÚBLICO: UMA REVISÃO DA LITERATURA,
Anais do I SINGEP – São Paulo – SP – Brasil – 06 e 07/12/2012 .Disponível em:
https://repositorio.uninove.br/xmlui/bitstream/handle/123456789/105/91-357-1-DR
%20gestao%20de%20proj%20de%20sist%20de%20inf.pdf?sequence=1
Acessado em: 19 de Março de 2014
Longo, Rose Mary Juliano and Vergueiro, Waldomiro Gestão da Qualidade em Serviços
de Informação no setor Público: características e dificuldades para sua implementação.
Revista Digital de Biblioteconomia e Ciência da Informação, 2003, vol. 1, n. 1. [Journal
article (On-line/Unpaginated)] Disponível em: http://eprints.rclis.org/6265/1/RDBCILongo.pdf
Acessado em 25 de Março de 2014
Alessandra Zoucas, Marcello Thiry, Técnicas para Engenharia de Modelos de
Capacidade de Processo de Software, publicado na 2nd International Workshop on
Advanced
Software
Engineering
–
13/11/2009.
Disponível
em:
http://softwarepublico.gov.br/5cqualibr/6-publicacoes-e-artigos/view/vetordesenvolvedores-de-software/artigospublicados/ZoucasThirySalvianoWASE2009TecnicasMFMOD.pdf
Acessado em: 25 de março de 2014
Osborne, D., & Gaebler, T. (1997). Reinventando o Governo: Como o espírito
empreendedor está transformando o setor público. 9. ed. Brasília, DF: Editora MH
Comunicação.
REZENDE, D. A. Planejamento de informações públicas municipais: guia para planejar
sistemas de informação, informática e governo eletrônico nas prefeituras e cidades. São
Paulo: Atlas, 2005
Rainey, H. G. (1997). Understanding and Managing Public Organizations. 2. ed. San
Francisco, CA: Jossey-Bass Publishers.
73
Trilha da Indústria
USTORE: Uma plataforma de computação em nuvem privada
para apoio a e-Science.
Jose Fernando S. Carvalho1 , Vinı́cius C. Garcia1 , Rodrigo E. Assad2 , Vinod Rebelo3
1
2
Centro de Informática – Universidade Federal de Pernambuco (UFPE)
Brasil, PE.
Dpto. Est. e Informática – Universidade Federal Rural de Pernambuco (UFRPE)
Brasil, PE.
3
Dpto. Ciência da Computação – Universidade Federal Fluminense (UFF)
Niterói, RJ.
[email protected],{jfsc,vcg}@cin.ufpe.br, [email protected], [email protected]
Abstract. The term e-Science refer to the access of scientific collaborations provided by research communities through a specific computational infrastructures.
However, the conception of such infrastructures presents challenges due to the
computational power demanded by solutioning problems found on research areas. Therefore, this work presents the software USTORE platform, a Brazilian
answer to challenges identified on conception of Eu-Brazil OpenBio environment, a Brazilian and European effort focused on sharing scientific collaborations in biodiversity area.
Resumo. e-Science é um termo que representa o uso de uma infraestrutura
computacional capaz de viabilizar e facilitar o compartilhamento e acesso a recursos criados por comunidades cientı́ficas em suas determinadas áreas. No entanto, o desenvolvimento dessas infraestruturas apresentam desafios especı́ficos
provenientes de cada área de pesquisa. Nesse contexto, esse trabalho apresenta
a plataforma de software USTORE, uma resposta brasileira aos desafios encontrados na concepção do ambiente Eu-Brazil OpenBio, uma infraestrutura computacional de e-Science focada no compartilhamento de resultados cientı́ficos
no ramo da biodiversidade.
1. Introdução
Fundamentalmente a ciência avançada basea-se em quatro pilares: I) Teoria; II) Experimentos; III) Técnicas Computacionais; e IV) Infraestrutura Computacional. No ramo da
biodiversidade, a teoria pode ser representada como um modelo matemático para prever um futuro crescimento demográfico de determinada espécie de planta em uma região.
Os experimentos apontam o trabalho empregado em laboratórios e na análise de material. Por outro lado, as técnicas computacionais permitem simulações computacionais
baseadas em fatores como o tipo de clima e terreno [Riedel et al. 2008].
O quarto pilar é a base para a criação do termo e-Science, referindo-se ao acesso
dos recursos cientı́ficos através de uma infraestrutura computacional [Taylor 2014].
Também conhecida como e-infraestrutura, o principal objetivo dessa infraestrutura computacional é permitir o uso de tecnologias de computação em grade ou computação em
74
Trilha da Indústria
nuvem a fim de facilitar as rotinas utilizadas pelas comunidades cientı́ficas e consequentemente viabilizar novas colaborações [Riedel et al. 2008].
No entanto, problemas comuns encontrados em comunidades cientı́ficas como a
biológica ou médica (também conhecidas como ciências da Vida), por exemplo, demandam uma estrutura e um poder computacional não convencionais, tornando o desenvolvimento e manutenção de e-infraestruturas um desafio crı́tico [Demchenko et al. 2012].
Nesse contexto, esse trabalho apresenta a USTORE, uma plataforma de nuvem
privada brasileira utilizada na composição da e-infraestrutura Eu-Brazil OpenBio, o resultado de um esforço brasileiro e europeu para o compartilhamento de colaborações
cientı́ficas no ramo da biodiversidade do planeta [EU-BrazilOpenBio 2013]
1.1. Benefı́cios e conhecimentos
Além de compartilhar a experiência obtida no desenvolvimento do sistema de armazenamento, indexação, distribuição e compartilhamento da e-infraestrutura do Eu-Brazil
OpenBio, serão apresentados os conceitos e objetivos do projeto, a arquitetura de software
adotada para atender as demandas da comunidade cientı́fica internacional, caracterı́sticas
técnicas do processo de desenvolvimento de software adotado, os principais desafios encontrados pelo time de desenvolvedores, o processo de pesquisa, as tecnologias adotadas
e o processo de implantação na Universidade Federal Fluminense.
1.2. Agenda
Serão apresentados os detalhes técnicos e conceituais da e-infraestrutura referente ao projeto Eu-Brazil OpenBio, a experiência e conhecimento adquiridos com o desenvolvimento
de um sistema de armazenamento, indexação, distribuição e compartilhamento para a
comunidade cientı́fica, como se desenvolveu a pesquisa até a criação do produto USTORE, qual o modelo de computação em nuvem adotado, a arquitetura adotada, modelo
de replicação dados. Também, selecionou-se as principais diferenças entre ferramentas
semelhantes, a implantação da plataforma na Universidade Federal Fluminense, os principais desafios e soluções, projetos atuais novos casos de uso. Por último virão as perguntas
e informações para contato.
Tópicos utilizados para o desenvolvimento da apresentação
• e-Science e e-infraestrutura;
• Projeto Eu-Brazil OpenBio;
Ecossistema da e-infraestrutura EU-Brazil OpenBio
Eu-Brazil OpenBio e USTORE;
• Plataforma em nuvem de apoio a e-Science (USTORE);
Armazenamento, indexação,
Modelo de computação em nuvem adotado;
Modelo arquitetural;
Processo de desenvolvimento de software(ferramentas, linguagens, testes);
• Principais desafios e soluções;
• Trabalhos relacionados;
• Projeto piloto na Universidade Federal Fluminense;
• Próximos passos;
75
Trilha da Indústria
2. Audiência
Essa apresentação é direcionada a estudantes, professores e profissionais envolvidos com
a área de engenharia de software, sistemas distribuı́dos, biologia e e-Science. Também,
esse trabalho é voltado a biólogos e pesquisadores de comunidades cientı́ficas que
busquem contribuições multi-disciplinares na solução de problemas em sua áreas.
3. Palestrantes
Jose Fernando: Realizou apresentações para o grupo EU-Brazil OpenBio, organizador e
apresentador do evento PHP-PB II e III, apresentador do projeto USTORE e MidiaCenter
na RNP, Coordenador de implantação e apresentador técnico do produto USTORE. Possui
graduação em Sistemas de Informação pelo Instituto de Educação Superior da Paraiba
(2008), mestrado em Ciência da Computação pela Universidade Federal de Pernambuco
(2012) e desenvolve pesquisa sobre e-Science Big Data como Doutorando no grupo de
pesquisa ASSERT (UFPE). Foi professor e coordenador do curso Superior em Analise e
Desenvolvimento de sistemas pela Universidade Norte do Pará (2010 a 2012) e professor
assistente do curso de Ciência da Computação pelo Centro Universitário de João Pessoa
- UNIPE (2013 a 2014). Também, foi representante técnico do Centro de Estudos e
Sistemas Avançados do Recife (C.E.S.A.R) no projeto Eu-Brazil OpenBio de 2011 até o
final do projeto em 2013. Lattes: http://lattes.cnpq.br/2792145552349233.
Vinı́cius Cardoso: Possui graduação em Ciência da Computação pela Universidade Salvador (2000), mestrado em Ciência da Computação pela Universidade
Federal de São Carlos (2005) e doutorado pela Universidade Federal de Pernambuco
(2010). Durante 5 anos (2005 a 2010) atuou como Engenheiro de Sistemas, Consultor e Pesquisador em Reuso de Software no Centro de Estudos e Sistemas Avançados
do Recife (C.E.S.A.R). Tem experiência na área de Ciência da Computação, com ênfase
em Reengenharia de Software, Desenvolvimento Baseado em Componentes, Desenvolvimento de Software Orientado a Aspectos, Linha de Produtos de Software e Adoção de
Reuso de Software. Nos últimos anos tem desenvolvido pesquisas intensivas e avançadas
em Computação em Nuvem, Sistemas de Armazenamento Escaláveis, Governança de
TIC, Cidades Inteligentes e Internet das Coisas com um foco principal em melhorias
para a indústria brasileira e para a melhoria do estado da prática destas áreas. Lattes:http://lattes.cnpq.br/6613487636748832.
Rodrigo E. Assad: Possui graduação em Ciências da Computação pela Universidade Federal da Paraı́ba (1999), Mestrado em Ciência sda computação pela UFPE na
área de Segurança de Sistemas. Possui doutorado pela UFPE na área de Segurança,
com enfoque na área de segurança no desenvolvimento de software. É Membro do
OWASP - Open Web Application Security Project, diretor de pesquisa e inovação da
IKEWAI e fundador da USTO.RE empresa especializada em armazenamento de dados em nuvem. Tem experiência na área de Ciência da Computação, com ênfase
em Teleinformática, segurança e performance, atuando principalmente nos seguintes
temas: redes de computadores, tecnologia da informação, performance e maquina
virtual, segurança de aplicações e de ambientes e computação nas nuvens. Lattes:
http://lattes.cnpq.br/3791808485485116.
Vinod Rebello: Possui graduação em Computer Science and Electronics e
doutorado em Computer Science ambos da Universidade de Edimburgo (Reino Unido).
76
Trilha da Indústria
Atualmente é Professor Associado III da Universidade Federal Fluminense. Tem experiência na área de Ciência da Computação, com ênfase em computação paralela e distribuı́da, atuando principalmente nos seguintes temas: computação em grades e nuvens;
middleware e operação de cyberinfraestruturas; aplicações autônomas; escalonamento de
tarefas; tolerância a falhas; portais e aplicações cientı́ficas; programas MPI; certificação
digital; infraestrutura de chaves publicas, gestão de identidade e cybersegurança. Lattes:
http://lattes.cnpq.br/8795680989708219.
References
Demchenko, Y., Zhao, Z., Grosso, P., Wibisono, A., and de Laatko, C. (2012). Addressing big data challenges for scientific data infrastructure. In IEEE 4th International
Conference on Cloud Computing Technology and Science.
EU-BrazilOpenBio (2013). Open data and cloud computing e-infrastructure for biodiversity across europe and brazil. EU-Brazil OpenBio.
Riedel, M., Streit, A., Wolf, F., and Lippert, T. (2008). Classification of different approaches for e-science applications in next generation computing infrastructures. In
Fourth IEEE International Conference on eScience.
Taylor, J. (2014). What is e-Science? Imperial College Lodon.
77
Trilha da Indústria
Uma Abordagem para Indexação e Buscas Full-Text Baseadas
em Conteúdo para Sistemas de Armazenamento em Nuvem
Marco André Santos Machado1 , Frederico Araújo Durão2 ,
Rodrigo Elia Assad3 , Vinicius Cardoso Garcia1
1
Centro de Informática
Universidade Federal de Pernambuco (UFPE)
50.740-560 – Recife – PE – Brasil
2
Departamento de Ciência da Computação
Universidade Federal da Bahia (UFBA)
40.170-110 – Salvador – BA – Brasil
3
Departamento de Informática e Estatística
Universidade Federal Rural de Pernambuco (UFRPE)
52171-900 – Recife – PE – Brasil
[email protected], [email protected], [email protected], [email protected]
1. Resumo
A cada dia nós produzimos mais dados que, em muitos casos, são armazenados em meios
digitais. A previsão é que o tamanho desse “universo digital” chegue a quase 8 ZettaBytes
em 2015. Essa grande quantidade de dados gerados pode ser armazenada em nuvem
utilizando o conceito de armazenamento em nuvem, que é um dos serviços que fornecem
recursos para armazenamento e serviços baseados em servidores remotos baseados na
computação em nuvem. Logo, o armazenamento em nuvem está apto para prover serviços
de armazenamento a um baixo custo com maior confiabilidade e segurança.
Um sistema para armazenamento em nuvem pode ser desenvolvido sobre uma
arquitetura peer-to-peer (P2P), como mostrado na Figura 1. Esta arquitetura oferece diversos benefícios como, por exemplo, estratégias para evitar gargalos de forma eficiente e
pontos únicos de falha. Além disso, com esta arquitetura é possível usar o espaço disponível nos peers para armazenar dados, devendo, para isso, levar em consideração atributos
como replicação de dados, segurança, seleção de peers com alta disponibilidade, etc.
Figura 1. Arquitetura de um sistema de armazenamento em nuvem utilizando
arquitetura P2P
Com os dados armazenados em nuvem, também é importante que o usuário possa
encontrá-los com facilidade. Particularmente, as buscas full-text baseadas em conteúdo
78
Trilha da Indústria
ainda são um desafio para sistemas baseados em arquitetura P2P. Com isso essa palestra
tem como objetivo descrever a abordagem para extração e indexação de conteúdo dos arquivos, de forma que permita que sejam realizadas buscas full-text, utilizada pelo Ustore,
um sistemas de armazenamento em nuvem baseados em arquitetura P2P, e o desempenho
alcançado.
1.1. Ustore
O Ustore é uma ferramenta de armazenamento em nuvem baseada em uma arquitetura
P2P híbrida que tem como objetivo armazenar dados com baixo custo e de forma que os
mesmos não se tornem indisponíveis com eventuais problemas na rede. Os dados a serem
armazenados são quebrados em pedaços menores de tamanho pré-definido, chamados de
chunks. Os chunks são armazenados em outros peers da rede, utilizando para isto os
recursos ociosos disponíveis na rede. Estes peers podem, por exemplo, ser computadores
da própria empresa utilizados para outros fins, mas que possuam espaço livre em disco
suficiente para serem compartilhados. A utilização deste modelo faz com que o Ustore
garanta um baixo custo para o armazenamento.
A arquitetura do Ustore consiste de uma arquitetura P2P híbrida em três camadas,
onde há peers representando papéis distintos compondo a solução final e a comunicação
entre as entidade internas do sistema é feita através da plataforma JXTA, que é protocolo
P2P baseado em mensagens XML para o desenvolvimento de aplicativos distribuídos.
A Figura 1.1 mostra os tipos de peers do Ustore:
• Cliente Ustore: possui os dados a serem salvos e disponibiliza o espaço livre para
armazenar chunks;
• Servidor Ustore: disponibiliza os serviços para serem utilizados pelos clientes e
compõem as federações.
• Super peer: informa ao cliente, ao entrar na rede, onde estão os servidores. Também funciona como peer relay, ou seja, ele permite a troca de mensagens entre
clientes que estejam em redes diferentes.
• Peer Servidor de Busca: responsável por indexar e realizar buscas full-text
Figura 2. Representação da arquitetura do Ustore.
79
Trilha da Indústria
1.2. Indexação de Dados
Cada cliente do Ustore possui a capacidade de indexar e responder consultas. Também
foi criado um servidor exclusivo para indexação do conteúdo dos arquivos salvos pelos
usuários. Os clientes do Ustore e o Servidor de Busca possuem componentes específicos
para a realização de indexação e buscas full-text. A indexação dos metadados é feita
localmente no próprio cliente que está efetuando o backup e acontece paralelamente ao
backup do mesmo. Além disso, estes metadados também são enviados para o Servidor
de Busca através de uma mensagem JXTA assíncrona. Quando esta chega ao servidor, os
metadados que ela contém são indexados no índice global. O índice local permite que o
usuário faça uma consulta síncrona a seus próprios arquivos. Já o índice global, permite
que o usuário faça uma consulta levando em consideração todos os arquivos indexados
pelo Ustore. Entretanto o servidor pode se tornar um gargalo no sistema e se transformar
em um ponto de falha.
1.3. Consulta de Dados
A consulta local permite que o cliente do Ustore faça uma consulta de forma síncrona
ao seu próprio índice. Esta consulta irá retornar somente os resultados restritos àquele
cliente. A consulta também pode ser realizada em um ou mais servidores de busca. Nesta
abordagem o Ustore localiza os servidores e, caso exista mais de um, escolhe um aleatoriamente, e envia para o mesmo a consulta desejada. O servidor que recebe a consulta,
faz uma consulta no seu índice local e, caso a quantidade de resultados não alcance um
mínimo estipulado, este servidor encaminhará a consulta para um outro servidor, recomeçando o ciclo. Este ciclo durará até que a quantidade mínima de resultados seja alcançada
ou até que não exista mais servidores disponíveis não consultados. Após a finalização os
resultados são retornados para o cliente inicial.
1.4. Avaliação Experimental
Foram feitas medições da precisão, recall e F-measure utilizando o Ustore com a abordagem proposta, utilizando um conjunto de 100 artigos com a palavra-chave “cloud computing”, ordenados pela quantidade de vezes que foram citados em outros artigos acadêmicos indexados no site da Scopus. Os testes foram realizados considerando-se somente os
15 primeiros resultados retornados. Para a consulta local obtivemos uma taxa de precisão
de 0.45, uma taxa de recall de 0.35 e a F-measure de 0.39. Para a consultado utilizando
o servidor de busca obtivemos uma taxa de precisão de 0.5, uma taxa de recall de 0.35
e a F-measure de 0.41. As taxas de precisão próximas a 0.5 indicam que a abordagem
proposta consegue desempenho similar a outras abordagem de busca baseadas em P2P
encontradas na literatura. Já as baixas taxas de recall apontam que ajustes são necessários
para que o sistema encontre mais documentos considerados relevantes.
2. Audiência
CEO’s, gerentes de TI, administradores de sistemas, entusiastas da computação em nuvem.
Pré-requisitos: conhecimentos básicos de peer-to-peer, computação em nuvem e recuperação de informação.
80
Trilha da Indústria
3. Breve biografia
Palestrante: Marco André Santos Machado
Possui mestrado em Ciências da Computação pela Universidade Federal de Pernambuco
(2013) e graduação em Análise de Sistemas pela Universidade do Estado da Bahia (2010).
Tem experiência na área de Ciência da Computação, com ênfase em Engenharia de Software, Sistemas Distribuídos, Recuperação de Informação e Computação em Nuvem atuando principalmente nos seguintes temas: armazenamento em nuvem, sistemas peer-topeer, indexação e recuperação de informação
Currículo lattes: http://lattes.cnpq.br/9735346642847699
Frederico Araújo Durão
Frederico Durão realizou seu pós-doutorado atuando como pesquisador e coordenador
técnico do projeto Ustore. Em 2012, obteve seu PhD em Ciência da Computação pela
Universidade de Aalborg, Dinamarca. Antes, obteve seu Bacharelado em Ciência da
Computação na Faculdade Ruy Barbosa em 2004 e seu mestrado em Ciência da Computação na Universidade Federal de Pernambuco, em 2008. Atualmente é professor da
Universidade Federal da Bahia onde leciona e participa de atividades de pesquisa e desenvolvimento nas áreas de Web Social e Recuperação da Informação.
Currículo lattes: http://lattes.cnpq.br/6271096128174325
Rodrigo Elia Assad
Possui graduação em Ciências da Computação pela Universidade Federal da Paraíba
(1999), Mestrado em Ciência sda computação pela UFPE na área de Segurança de Sistemas. Possui doutorado pela UFPE na área de Segurança, com enfoque na área de segurança no desenvolvimento de software. É Membro do OWASP - Open Web Application
Security Project, diretor de pesquisa e inovação da IKEWAI e fundador da USTO.RE
empresa especializada em armazenamento de dados em nuvem. Tem experiência na área
de Ciência da Computação, com ênfase em Teleinformática, segurança e performance,
atuando principalmente nos seguintes temas: redes de computadores, tecnologia da informação, performance e maquina virtual, segurança de aplicações e de ambientes e computação nas nuvens.
Currículo lattes: http://lattes.cnpq.br/3791808485485116
Vinicius Cardoso Garcia
Possui graduação em Ciência da Computação pela Universidade Salvador (2000), mestrado em Ciência da Computação pela Universidade Federal de São Carlos (2005) e doutorado pela Universidade Federal de Pernambuco (2010). Durante 5 anos (2005 a 2010)
atuou como Engenheiro de Sistemas, Consultor e Pesquisador em Reuso de Software
no Centro de Estudos e Sistemas Avançados do Recife (C.E.S.A.R). Tem experiência na
área de Ciência da Computação, com ênfase em Reengenharia de Software, Desenvolvimento Baseado em Componentes, Desenvolvimento de Software Orientado a Aspectos,
Linha de Produtos de Software e Adoção de Reuso de Software. Nos últimos anos tem
desenvolvido pesquisas intensivas e avançadas em Computação em Nuvem, Sistemas de
Armazenamento Escaláveis, Governança de TIC, Cidades Inteligentes e Internet das Coisas com um foco principal em melhorias para a indústria brasileira e para a melhoria do
estado da prática destas áreas.
Currículo lattes: http://lattes.cnpq.br/6613487636748832
81
Trilha da Indústria
Um Caso Real de Desenvolvimento e Implantação de
Workflow em Ambiente de Telecom
Fabı́ola Souza F. Pereira, Emı́lio Carvalho Dias,
Geovana F. Nevreden Cardoso, Cádimo D. Raposo
1
Algar Telecom – Uberlândia – MG – Brazil
{fabiolas,emilio,geovana,cadimo}@algartelecom.com.br
Abstract. The company Algar Telecom has developed and implemented its own
CRM (Customer Relationship Management) system, so called Algar CRM. The
purpose of this lecture is to present how the workflow module of the CRM works
at Algar, highlighting its ability to be extensible and highly configurable. The
focus is on the architecture of the module and the tools used. At the end, the real
gains will be presented.
Resumo. A empresa Algar Telecom desenvolveu e implantou seu próprio sistema de CRM (Customer Relationship Management), chamado Algar CRM. O
objetivo desta palestra é apresentar como funciona o módulo de workflow do
Algar CRM, destacando sua capacidade de ser extensı́vel e altamente configurável. O foco será na arquitetura do módulo e nas ferramentas utilizadas. Ao
final, serão apresentados os ganhos reais obtidos.
1. Ideia Geral
Um dos sistemas mais importantes e complexos dentro da empresa é o CRM (Customer
Relationship Management). É ele o responsável por criar o primeiro contato com o cliente
e sensibilizar os demais sistemas dentro de uma empresa, fazendo a cadeia girar.
A Algar Telecom, detentora da marca CTBC, é uma empresa com sede em
Uberlândia-MG, que atua no mercado de telecomunicações do Brasil central, oferecendo
serviços de voz e dados. Em 2013, como parte de uma decisão estratégica, foi iniciado
o desenvolvimento interno de um novo sistema de CRM: o Algar CRM. A iniciativa foi
fundamentada na necessidade que a empresa sempre teve de possuir um sistema mais extensı́vel e facilmente adaptável às novas regras e modelos de negócio e, principalmente,
à legislação brasileira. A arquitetura funcional do Algar CRM é mostrada na Figura 1.
Os módulos destacados em verde escuro correspondem à parte estruturante do sistema.
Nesta palestra, o foco é apresentar o módulo de workflow do Algar CRM.
Um CRM deve ser projetado para fazer acontecer os fluxos de negócio dentro da
empresa, já que é o primeiro ponto de contato com o cliente. E é aı́ que entra a importância
do módulo de workflow. O workflow é o responsável por integrar as regras de negócio da
empresa ao sistema, facilitando, assim, a manutenção e evolução do mesmo em relação
aos novos requisitos que surgem a todo momento.
O módulo de workflow foi concretizado através do Workflow Engine, um sistema
para criação e configuração de workflows que consegue, de maneira dinâmica, alinhar
o CRM às necessidades do negócio. A proposta desta apresentação é detalhar como o
82
Trilha da Indústria
Figura 1. Arquitetura funcional do Algar CRM
Workflow Engine foi projetado e desenvolvido, destacando como é feita a configuração e
integração dele com o restante do sistema, bem como as tecnologias utilizadas para tal.
A principal contribuição deste trabalho está na arquitetura do sistema de workflow:
configurável, modularizável e compatı́vel com desenvolvimento incremental. De maneira
geral, como o Algar CRM possui uma arquitetura baseada na especificação OSGI 1 , o
Workflow Engine faz proveito desse recurso para conseguir interpretar e executar as regras de negócio configuradas no sistema. Vale ressaltar que tal módulo foi construı́do
utilizando a ferramenta OSWorkflow2 e a originalidade está na adaptação de tal ferramenta ao contexto do Algar CRM.
2. Resumo
O objetivo da palestra é apresentar a ferramenta Workflow Engine desenvolvida como
um módulo estruturante do sistema de CRM da empresa Algar Telecom. O foco será na
arquitetura altamente configurável e reutilizável obtida como resultado deste trabalho.
2.1. Agenda
1. Contextualização
Apresentação da empresa e do contexto de telecom. Discussão acerca das tentativas de implantar CRMs terceiros e justificativa da decisão de desenvolver um
CRM in-house.
2. Por que uma engine de workflow personalizada?
Discussão acerca da necessidade de construir um mecanismo de execução de regras e simulação de estados totalmente personalizado.
3. Workflow Engine
Aqui será detalhada toda a arquitetura do Workflow Engine, que foi baseada na
ferramenta OSWorkflow, bem como as ferramentas utilizadas para seu desenvolvimento.
1
2
http://www.osgi.org/
http://www.opensymphony.com/
83
Trilha da Indústria
4. Convertendo uma regra de negócio em um workflow
Exemplo prático de como criar um workflow com suas regras, condições e
validações aplicadas ao negócio e exemplos de workflows em produção, com regras reais de telecom.
5. Lições aprendidas
Detalhamento das experiências em produção e análise de performance e escalabilidade em ambiente de produção. Aqui serão apresentados os ganhos reais que o
módulo de workflow trouxe para a empresa.
6. Trabalhos futuros
Descrição do roadmap da Algar Telecom em relação à ferramenta desenvolvida.
3. Audiência
A palestra é voltada principalmente para profissionais arquitetos de software e desenvolvedores de sistemas. Serão abordados diversos exemplos técnicos em relação às ferramentas e tecnologias utilizadas. Além disso, como se trata de um estudo de caso, é destinada
a pesquisadores com interesse em ver a implementação da teoria colocada em produção
dentro de uma empresa de telecomunicações. Não há pré-requisitos técnicos.
4. Biografias
Fabı́ola Souza Fernandes Pereira
Doutoranda e mestre em Ciência da Computação pela Universidade Federal de
Uberlândia (UFU) na área de Banco de Dados. Graduada em Ciência da Computação
também pela UFU. Tem experiência na área de mineração de dados, atuando principalmente com personalização de consultas e mineração de preferências do usuário. É
analista de desenvolvimento de soluções na Algar Telecom (CTBC) há 3 anos, com experiência em arquitetura e desenvolvimento de plataformas de telecom (CRM, Coreo).
Trabalha com ferramentas como: Cassandra, Hadoop, Solr, WSO2, Memcached, Mahout
e Scribe. Possui MBA em Gestão de Projetos pela FGV (Fundação Getúlio Vargas) e
certificações SCJP e ITILv3. Atuou como palestrante em diversos eventos, dentre eles:
FISL14, WSO2Con London, XIII JEEL e XXV SBBD.
Emı́lio Carvalho Dias
Analista de desenvolvimento de soluções na Algar Telecom e bacharel em Ciência
da Computação pela Universidade do Triângulo (UNITRI). Portador da certificação SCJP
e ampla experiência em desenvolvimento Java EE, middlewares VoIP e serviços de telefonia. Certificado LPI 1 e aprovado na prova 201 da certificação LPI 2. Já realizou
diversas contribuições para projetos open source de telecomunicações. Desenvolvimento
de soluções robustas com tecnologias como Hadoop, Cassandra, Memcached dentre outros. Conhecimentos sólidos em protocolos e tecnologias de segurança da informação
para aplicações WEB e SOA.
Geovana Fonseca Nevreden Cardoso
Bacharel em Ciência da Computação pela Universidade Federal de Uberlândia
(UFU) e Especialista em Redes de Computadores e em Gestão de Pessoas na UFU. Atualmente trabalha como analista e arquiteta de desenvolvimento de soluções na Algar Telecom. Ampla experiência em desenvolvimento Java, Java EE e C, desenvolvimento de
84
Trilha da Indústria
plataformas de telecom e sistemas corporativos WEB, especificação de sistemas e modelagem de dados. Desenvolvimento de produtos como gateway para conversão entre os
protocolos de rede TCP/IP e X.25 e cliente de email que utiliza a tecnologia ISO X.400.
Trabalha com ferramentas como: Solr, WSO2, Memcached, Scribe e Oracle.
Cádimo Duarte Raposo Jr
Analista de desenvolvimento de soluções na Algar Telecom e bacharel em Sistemas de Informação pela Universidade do Triângulo (UNITRI). Possui certificação OCJP
6. Ampla experiência em sistemas de CRM legados e evoluções. Atuou em desenvolvimento de sistemas na área de logı́stica (armazenagem, roteirização, recebimento e
expedição de mercadorias). Experiência com desenvolvimento em .NET, Java, PowerBuilder e PL/SQL.
85
Trilha da Indústria
On the Importance of Separating Business and Technology in
Information Management Applications
Rafael Chaves
Abstratt Technologies
Florianópolis – SC – Brazil
[email protected]
Abstract. Information management applications are all about understanding
the business domain and providing domain­centric features that help the
various business stakeholders. Technology is just a means to an end, and the
way it is traditionally applied, where business knowledge becomes tightly
coupled to the implementation stack, it also becomes an inherent threat to the
longevity of the application.
This presentation will propose that, in order to avoid that, one should strive to
keep the encoding of the business domain knowledge as removed from the
implementation technology as possible. It will cover different strategies
towards accomplishing that goal, culminating on model­driven development
with executable models, an approach that promotes complete separation
between business and technology. The end result is software that is much
easier to adapt to changes of both business and technological nature.
1. Session Description
The primary value of an information management application for an organization is in how well it encodes knowledge of the business domain and helps streamline and automate activities of that organization. However, much of the effort in developing such
applications is wasted dealing with technological aspects, which in comparison, pale in importance. Worse – as any modern technologies today do not take very long to become
obsolete, what once was considered an asset, slowly but surely turns into a liability to the application. If the business cannot afford the usually highly expensive process of modernization, the end result is a legacy codebase that is stuck in outdated technology.
This presentation starts from the premise that coupling business knowledge with technology, while unfortunately being a way of life for most teams building business applications, is a terrible idea. But it does not have to be like that. The presentation will cover strategies for decoupling business knowledge from technology that are incremental improvements over the status quo. And it will conclude by positing that the approach of model­driven development with executable models [Mellor, 2002], while requiring a significant change on the way software is built, is very effective at fully breaking the dangerous business­technology tangle apart, leading to applications that are much easier to build and adapt to changes in both business and technology fronts. The presentation will include a demonstration of a tool that follows the approach.
86
Trilha da Indústria
2. Target Audience
The target audience includes professionals from both industry and academia. The target audience from the industry includes architects, developers, and requirement analysts working on information management applications. From academia, it includes researchers interested in modularity, aspects, reuse (including both domain knowledge and architecture reuse), rapid development of business applications and model­driven development.
3. Presenter Bio
Rafael Chaves has been a professional in software development since 2000, having spent much of his career divided between writing system­level software and tools, and coding and architecting business applications. After spending around 10 years living and working in Canada (Ottawa and Victoria), he now lives in Florianópolis.
He has a B.S. (2000) and a M.Sc. (2004) in Computer Science from Universidade Federal de Santa Catarina. His master's thesis was on aspects and model­
driven development with executable models [Chaves, 2004].
At the IBM Ottawa Lab (Ottawa, 2002­2006), he was a committer in the Eclipse Project [Eclipse], where he was part of the Platform Core team, and later a developer in the Jazz collaboration platform [Jazz], where he was part of the Source Control Client team. At Genologics (Victoria, 2008­2013), which produces a Lab Information Management System (LIMS) for next­generation DNA sequencing [Genologics], he was a senior developer and later architect, where he focused on back­end and system­
level features, including a sample tracking workflow engine, a REST API and an agent for running customer extensions.
Since 2013, Rafael has been working as Abstratt Technologies' only employee (and founder), focusing on building Cloudfier, a model­driven platform for rapid development and deployment of business applications [Cloudfier], and providing consulting on modernization of product codebases and technical mentoring for development teams [Abstratt]. He also develops the TextUML Toolkit, an open­source tool for UML modeling that uses a textual notation [TextUML], and Kirra, a multi­
language API for business applications [Kirra].
Throughout the years, Rafael has presented on model­driven development, Cloudfier and TextUML at various Java user group meetings, Eclipse DemoCamps and student­led conferences in Canada and Brazil, and recently two The Developer Conference editions (Porto Alegre, 2013, and Florianópolis, 2014) [TDC]. For more information, see resume at: http://blog.abstratt.com/rafael­
chaves­resume/
References
Mellor, S. and Balcer, M. (2002). Executable UML: A Foundation for Model­Driven Architecture, Addison­Wesley.
87
Trilha da Indústria
Chaves, R. (2004). Aspectos e MDA: Criando Modelos Executáveis Baseados em Aspectos. Available at <https://repositorio.ufsc.br/xmlui/handle/123456789/87201>. Visited in June 2014.
Eclipse. Eclipse Project web site. Available at <https://eclipse.org/eclipse/>. Visited in June 2014.
Jazz.net. Jazz web site. Available at <http://jazz.net/>. Visited in June 2014.
Genologics. Genologics web site. Available at <http://genologics.com/>. Visited in June
2014.
Cloudfier. Cloudfier web site. Available at <http://cloudfier.com>. Visited in June 2014.
TextUML. TextUML Toolkit web site. Available at <http://textuml.org>. Visited in June 2014.
Kirra. Kirra web site. Available at <http://github.com/abstratt/kirra>. Visited in June 2014.
Abstratt. Abstratt Technologies web site. Available at <http://abstratt.com>. Visited in June 2014.
TDC. The Developer's Confererence web site. Available at <http://www.thedevelopersconference.com.br/>. Visited in June 2014.
88

Documentos relacionados

I CBSoft 2015

I CBSoft 2015 Daniel#Lucrédio!>!UFSCar! Eduardo#Guerra#@!INPE! Fernando#Trinta!>!UFC! Frederico#Durão!>!UFBA! Gleison#Santos!>!UNIRIO! Higor#Souza#@!IME>USP! Leandro#Nascimento!>!UFRPE! Marcelo#Fantinato!>!EACH>...

Leia mais

- Agile Brazil

- Agile Brazil source code, reducing its cost even in advance phases of the application development. Test Driven Development is a software development technique, widely used with other agile methods, where the un...

Leia mais