Você está na página 1de 10

Atabaque: Uma ferramenta livre para modelagem de

processo de forma cooperativa


Serge Rehem1, Viviane Malheiros1
1
Serpro – Serviço Federal de Processamento de Dados. Salvador – BA – Brasil
{serge.rehem, viviane.malheiros@serpro.gob.br}

1. Introdução
A definição e evolução de processos não são tarefas triviais. A manutenção eficiente
dos ativos documentados, incluindo a garantia da integridade do processo, pode ser
uma atividade onerosa, complexa e propensa a erros. Por isso, é importante prover
ferramentas automatizadas para apoiá-la. Essa foi a motivação para a concepção da
ferramenta livre Atabaque, cuja premissa é separar o conteúdo do processo da sua
forma de apresentação.
Para empresas que utilizam/ pretendem utilizar processos documentados em formato de
sistemas de hipermídia, Atabaque possibilita uma manutenção, mais ágil e livre de
erros, de todos os processos corporativos.
Para as comunidades de Software Livre, Atabaque pode ser de grande valia. Como uma
ferramenta livre, Atabaque pode ser lida, estudada, modificada ou evoluída por qualquer
interessado. Recentemente, a ferramenta foi aprovada no SourceForge como Open
Source (http://sourceforge.net/projects/atabaque).
Atabaque pode ser muito útil para a comunidade de engenharia de software já que
processos, sua documentação e a disseminação do conhecimento embutido nos
processos, são temas cada vez mais explorados.
Este artigo apresenta Atabaque e sua aplicação em um Estudo de Caso.

2. Definição de Processos e sua Evolução


De acordo com o dicionário da língua portuguesa, processo significa “maneira de
operar, de agir”. O processo indica “quem faz o que”, “quando” e “como” para que um
objetivo seja atingido. Os processos podem ser documentados/ disponibilizados de
várias formas. O foco deste trabalho é nos processos que são (ou serão) documentados
em formato de sistemas hipermídia.
A definição/manutenção de processos é uma tarefa muito complexa, lastreada em
conhecimento e suscetível a vários tipos de problemas, agrupados aqui em duas
categorias: problemas semânticos e problemas de exibição.
Os problemas semânticos são relacionados com o conteúdo, o significado de cada
ativo do processo. Exemplos: definição equivocada de termos; fórmulas de cálculo
erradas; definição de procedimentos burocráticos e pouco eficientes.
Os problemas de exibição são aqueles relacionados com a forma como os ativos
documentados do processo são disponibilizados, por exemplo: tamanho e tipo de fonte;
links quebrados e inconsistentes; alinhamento; cores; e consistência entre a forma de
exibição e o conteúdo semântico que está sendo exibido.
Os dois tipos de problema precisam ser, paulatinamente, eliminados do processo
documentado. Ambos demandam tempo e recurso e podem influenciar negativamente
na qualidade do processo e, por conseqüência, na qualidade do produto final. Ainda que
sejam mais simples de identificar e corrigir, os problemas de exibição podem
comprometer a obtenção de conhecimento e promover resistência à sua utilização, além
de gerar descrédito no seu conteúdo. Provavelmente, problemas de exibição impactarão
a usabilidade do processo.
3. Atabaque e modelagem de processo cooperativa
Um processo documentado em hipermídia pode ser elaborado e evoluído tal qual um
software. Nesse sentido, uma estratégia possível para a sua manutenção é utilizar as
características do desenvolvimento de Software Livre (SL). O desenvolvimento e
utilização de SL vêm sendo popularizados desde de 1985, quando Richard Stallman
fundou a FSF (Free Software Foundation, 2006). Seu aspecto fundamental é o código-
fonte estar livremente disponível para ser lido, estudado ou modificado por qualquer
interessado.
A Atabaque está consonante com o movimento de SL de duas formas: (1) seu uso
facilita a incorporação das características do SL à definição/ evolução de processos; (2)
foi concebida e será disponibilizada como um SL, para que possa ser lida, estudada ou
modificada por qualquer interessado.
A partir da primeira perspectiva tem-se que a definição/ evolução de processos pode ser
descentralizada, colaborativa e executada por grupos de usuários finais que tenham
motivação pessoal e interesse na melhoria do processo. Nesse sentido, a utilização de
Atabaque pode ser conveniente, permitindo que os criadores e mantenedores de
processos se preocupem eminentemente com os problemas semânticos, e não com os
problemas de exibição.
Para representação do conteúdo do processo foi escolhida a linguagem XML1 (BRAY,
2004), por se tratar de um padrão aberto e baseado em arquivos puramente texto, de
fácil compreensão. Um processo definido/ mantido em XML é facilmente lido por
humanos, convertido para bancos de dados relacionais, transformado para exibição em
HTML2 e integrado com ferramentas visuais de modelagem de processo.
A utilização de XML, e sua possível exibição em HTML tem o benefício indireto de
permitir a utilização de browsers para a navegação dos processos, o que pode trazer
ganhos para usabilidade como: (i) facilidade de aprendizado, o processo deve ser
fácil de aprender; (ii) permanência, deve ser fácil lembrar-se como navegar pelo
processo, para que o usuário eventual possa retomar o seu uso após longo período sem
usá-lo, sem precisar aprender os procedimentos de novo; (iii) acessibilidade,
flexibilidade para a sua utilização por pessoas com necessidades especiais, bem como
a utilização em diferentes ambientes e situações, e através de vários equipamentos ou
navegadores; (iv) satisfação, o processo deve ser agradável de usar, agradando
subjetivamente aos usuários.
A transformação de XML para HTML se dá através da linguagem XSL - eXtensible
Stylesheet Language (ADLER, 2001), também um padrão aberto baseado em XML,
criado para processar toda estrutura hierárquica de um documento XML gerando uma
saída normalmente em formato texto, HTML ou outro XML. De forma simplificada, um
arquivo XSL define as regras de transformação de um documento XML.

4. Atabaque em um Estudo de Caso


Atabaque foi aplicada em um estudo de caso, para sua validação e identificação de
oportunidades de melhoria. Devido à familiaridade dos autores com processos de
desenvolvimento, foi escolhido o PSDS – Processo SERPRO de Desenvolvimento de
Soluções.
O PSDS, e o Programa SERPRO de Melhoria do Desenvolvimento de Soluções
(PSMDS), que trata de sua evolução, são apresentados na Seção 4.1, quando descritos
1XML (eXtensible Markup Language) é uma linguagem baseada em texto, criada pelo consórcio W3C, que está se tornando um
padrão para troca de informações entre sistemas.
2 HTML (Hyper Text Markup Language) é uma linguagem de marcação de hipertexto utilizada para construção de páginas Web,
visualizadas através de programas chamados navegadores (ou browsers).
os aspectos relevantes à aplicação de Atabaque. Mais informações sobre o PSDS e o
PSMDS estão em Malheiros et al. (2006).

4.1 Melhoria de Processo no SERPRO


O objetivo do PSDS é fornecer um processo de software padronizado e dinâmico às
suas equipes de desenvolvimento. Sua estrutura está baseada em macro-atividades, um
conjunto relacionado de atividades que podem ser referentes tanto a atividades de
Engenharia de Software quanto de Gestão (MALHEIROS, MENDONÇA NETO,
FARIAS, 2002). Concebido como uma ferramenta Web, o site do PSDS é livremente
inspirado em elementos do RUP (KRUCHTEN, 1999; RUP, 2005) e do PMBoK -
Project Management Body of Knowledge - (PMI, 2004), adaptados às melhores
práticas definidas no modelo CMMI (Capability Maturity Model Integration) (SEI, 2002).
Dentre os componentes do PSDS pode-se destacar: papéis, artefatos, atividades,
subatividades, ferramentas, dentre outros.
Para manter e evoluir o processo, o SERPRO criou PSMDS. O programa foca em duas
frentes de trabalho: evolução contínua do processo de desenvolvimento e
institucionalização do processo nas mais de 40 unidades de desenvolvimento do
SERPRO. Dos vários papéis organizacionais definidos para atacar essas frentes. Para
os mais relevantes para a compreensão deste artigo são o GE (Grupo Especialista) e o
PSMPS - Projeto Estratégico de Melhoria do Processo - equivalente ao Software
Engineering Process Group – SEPG (SEI, 2002) do CMMI.
O PSMPS é responsável por facilitar a definição e melhoria do processo de
desenvolvimento. Os GE são os mantenedores dos ativos do processo e estão
organizados de acordo com as macroatividades do PSDS. Esse é o público alvo
direto de Atabaque, no estudo de caso. Atualmente são 13 GE (ex.: Gestão de
Projetos, Teste de Software, Requisitos), cujos objetivos são apoiar o PSMPS na
análise de propostas de melhoria, estimando ganhos e perdas de cada proposta e o
tempo necessário para implementá-la; e realizar as alterações que foram aprovadas pelo
PSMPS. Todos os participantes dos GE têm dedicação parcial às atividades de
melhoria e atuam prioritariamente como analistas, projetistas, líderes de projeto,
testadores, entre outros. Esses grupos trabalham de forma descentralizada e o
resultado do seu trabalho depende fortemente do entusiasmo e dedicação pessoal dos
membros das equipes. São mais de 100 pessoas envolvidas na evolução do processo,
que hoje acontece de forma manual, através de alteração direta do HTML das centenas
de páginas do processo.
Além da estrutura organizacional, alguns números são importantes, para entender a
dimensão e complexidade de uma manutenção/ evolução do PSDS (versão 6.0):
documentação composta por 4.094 arquivos, distribuídos por 339 pastas. Deste total,
1238 arquivos estão no formato HTML. Cada arquivo HTML tem a sua própria descrição
das características de exibição, tornando a manutenção manual do processo
desgastante.

4.2 Aplicação da Ferramenta Atabaque

4.2.1. Definindo o Processo


Para iniciar o uso do Atabaque é preciso definir o Processo (que está sendo
documentado) e seus componentes. A partir daí, os componentes do processo
serão chamados de área de conhecimento.
Como o PSDS é extenso, a ferramenta foi aplicada em um subconjunto contendo os
seus principais elementos. O processo de exemplo recebe aqui o nome PADS –
Processo Atabaque de Desenvolvimento de Soluções. A Figura 1 mostra as relações
entre as entidades (atributos não estão representados) do PADS, que também são
válidas para o PSDS.

Figura 1- Entidades do PADS

4.2.2. Distribuição de papéis


Para se obter sucesso na aplicação de um modelo fundamentado na cooperação entre
os participantes (proposta de Atabaque), é necessário ter um objetivo bem definido e
uma comunidade que trabalhe com entusiasmo. A organização e coordenação dos
trabalhos são fundamentais, especialmente dada a alta probabilidade das atividades
acontecerem distribuída e simultaneamente. A utilização da ferramenta pressupõe a
divisão de responsabilidades entre diferentes papéis, que podem ser exercidos por uma
ou mais pessoas.
Quadro 1 – Papéis e Responsabilidades para utilização de Atabaque
Papel Responsabilidades
Administrador a) Montar a estrutura de diretórios do sistema;
b) Definir a estrutura do site do processo a ser gerado, criar e manter os arquivos XSL;
c) Preparar as folhas de estilo usadas no site
d) Manter a integridade dos dados (usando preferencialmente um sistema de controle de versões);
e) Gerar e publicar as versões oficiais do processo;

Conhecimento requerido:
É preciso ter um conhecimento mais profundo de XML, XSL, DTD.

OBS: Normalmente terá trabalho maior no início, na preparação da primeira versão do processo que,
definido, passará por contínua evolução e, se for o caso, reestruturação. Na organização inicial dos
trabalhos o administrador poderá atuar como um líder para manter desenvolvedores motivados.
Desenvolvedor
a) Criar os Editores Visuais XML para facilitar a edição de conteúdo pelos Usuários.

Conhecimento requerido:

É necessário conhecimento de Orientação a Objetos e programação em Java.


OBS: Como Atabaque é uma ferramenta livre, é esperado que seus desenvolvedores tenham perfil de
cooperação, se comuniquem com regularidade, tenham motivação e interesse na manutenção da
ferramenta
Usuário a) Criar e manter o conteúdo das áreas de conhecimento, atualizando o sistema de controle de
versão a cada modificação.

Conhecimento requerido:
Normalmente são os especialistas naquelas áreas de conhecimento das quais são responsáveis. É
desejável conhecimento básico de XML e do uso de um sistema de controle de versão.

OBS: Para que também a modelagem do processo ocorra de forma cooperativa, é esperado que os
usuários de Atabaque também tenham perfil de cooperação, se comuniquem com regularidade e
tenham motivação e interesse na evolução do processo
4.2.2. Preparando a Infra-Estrutura
Definido o processo, é preciso “traduzir” cada área de conhecimento em uma “lei de
formação” do arquivos XML, definindo o conjunto válido de elementos em cada tipo de
arquivo XML. Por exemplo, um artefato é composto de: identificador; nome; descrição; e
link para um arquivo modelo. A leis de formação deve ser definida usando o arquivos
Document Type Definition (DTD). Criados os DTDs que definem os arquivos XML que
comporão o processo, é recomendável que o administrador gere a versão inicial dos
documentos XML, como ponto de partida para os usuários que vão incluir conteúdo no
processo.
A próxima tarefa do administrador é definir a forma de apresentação de cada arquivo
XML. Cada documento XSL gera uma página correspondente HTML para apresentar o
conteúdo de uma forma amigável. É importante manter o HTML gerado de forma mais
“limpa” possível, evitando ao máximo colocar questões de formatação como tamanhos e
tipos de fonte, cores de fonte e de fundo, formatações de tabela (tamanhos e cores de
borda), etc. Todas essas definições serão configuradas em folhas de estilos
(Cascading Style Sheets3), arquivos externos referenciados pelas páginas HTML. O
administrador deverá criar os DTS, XSL e XML inicial para cada uma das áreas de
conhecimento do processo. Para organizar todos esses arquivos, Atabaque necessita
da estrutura de diretórios padrão exibida no Quadro 2. Em main4 são localizados os
arquivos XML e HTML estáticos. Em config, os arquivo necessários para a correta
geração do site do processo.
Quadro2 – Estrutura de Diretórios Padrão

Diretório
Arquivos
Config css arquivos de folhas de estilos, com extensão css
dtd arquivos DTD, definindo os tipos de documento XML possíveis
images arquivos de imagens/ícones utilizadas
js arquivos de código JavaScript que podem ser utilizados nas páginas HTML
xsl arquivos XSL definindo as regras de transformação para HTML
html html - arquivos HTML estáticos
Main xml arquivos XML contendo os dados do processo

Para definir a estrutura geral do site do processo, Atabaque define um arquivo XML
especial, localizado no diretório main. O processo.xml, que também possui um arquivo
XSL associado, responsável por gerar a exibição associada ao processo. Sem a criação
do processo.xml, as páginas HTML seriam geradas de forma “solta”, não existindo uma
página principal, mas apenas um conjunto de arquivos que definem conteúdo e exibição
de cada componente do processo.

4.2.4. Editando conteúdo


A Figura 1 exibe o conteúdo da macroatividade Gestão de Projetos do PADS, sem o
compromisso de detalhar as atividades que a compõem, apenas para oferecer um
exemplo didático. Por questões de espaço, apenas alguns trechos são mostrados.

3As folhas de estilo são um mecanismo simples de adionar estilos (fontes, cores, espaçamento, etc.) a documentos Web (HTML,
XML ou XHTML). Informações em )http://www.w3.org/Style/CSS.
4 Por ser uma ferramenta livre, alguns termos em inglês são utilizados. O objetivo é permitir colaboração além das fronteiras
brasileiras.
Figura 1 – XML da macroatividade Gestão de Projetos

Para evitar a edição direta dos arquivos XML, o conteúdo pode ser mantido através de
Editores Visuais associados a cada área de conhecimento do processo. Por serem
dependentes da estrutura dos arquivos XML, os editores são criados por
desenvolvedores Java, como foi citado anteriormente, utilizando facilidades fornecidas
por Atabaque.
As telas gráficas para edição do conteúdo do processo são uma grande vantagem de
Atabaque. Verdadeiras aplicações podem ser construídas, agregando funcionalidades
antes praticamente impossíveis (se considerada a edição direta de conteúdo em HTML,
ou mesmo em XML). A gama de opções é vasta: validações de preenchimento,
exclusão/atualização em cascata, uso de máscaras de edição, verificações de
integridade. A Figura 4 ilustra o uso do editor visual para o arquivo XML exibido na
Figura 1.
Figura 2 – Alterando a macroatividade Gestão de Projetos usando o Editor Visual

A geração do site é feita por uma aplicação Java que lê um arquivo processo.xml e
executa todas as trasformações de XML em HTML para cada área de conhecimento e
copia os arquivos para um diretório de saída. Os arquivos “fonte” ficam localizados nos
diretórios config e main. Na pasta de saída (site) ficam os arquivos “compilados”, ou
seja, os HTML gerados e todos os demais necessários para a correta exibição do
conteúdo. A Figura 3 exibe os arquivos do PADS.

Figura 3 – Arquivos “fonte” (pastas main e config) e “compilados” (pasta site) do PADS

O resultado esperado do trabalho colaborativo dos envolvidos com a criação/


manutenção do processo é um site padronizado, livre de erros e fácil de navegar. O
navegador lateral esquerdo (treeview) permite acesso rápido a todos os componentes
do processo. A Figura 4 mostra a macroatividade Gestão de Projeto do PADS.

Figura 4 – Site do PADS, criado com Atabaque

Na sua primeira versão, o Atabaque provê integração com o NetBeans 5.0, ambiente de
desenvolvimento integrado (IDE – Integrated Development Environment) escrito em
Java que vem obtendo muito investimento da Sun Microsystems e ganhando novas
features e novos adeptos rapidamente. A grande vantagem é ter tudo o que se precisa
(edição de diferentes tipos de arquivo; integração com sistemas de controle de versão,
execução de aplicações ou plugins, programação em Java) em um único ambiente. As
principais funcionalidades já disponíveis para o NetBeans são:
• Processo Modelo – o usuário pode criar um processo “pré-pronto”, que contém a
estrutura de diretórios padrão e alguns arquivos de exemplo, servindo como ponto
de partida para a criação de um novo processo.
• Plugin para Editor Visual – com o arquivo XML aberto, o usuário pode acionar
diretamente o Editor Visual correspondente.
• Plugin para Gerador de Site – com apenas um clique num novo botão na Barra de
Ferramentas o site é gerado.

5. Conclusão e trabalhos futuros


A ferramenta Atabaque mostrou-se um instrumento efetivo para a geração de um
processo e manipulação de seu conteúdo. Entre os benefícios de sua utilização foram
observados:
(a) rápida geração de páginas HTML, uma vez definidos os arquivos XSL e XML;
(b) reutilização da estrutura das páginas (XSL) proporcionando agilidade na geração de
novas páginas e minimização de problemas de inconsistência no formato das
páginas;
(c) facilidade de alteração no formato padrão das áreas de conhecimento (elemento do
processo), exigindo a manutenção de apenas um arquivo XSL, ao invés de vários
arquivos HTML, como é necessário na abordagem de implantação atual do PSDS;
(d) redução de erros de exibição (tamanho, tipo e cor de texto, links e tabelas) em
função de todas as características de formatação de uma área de conhecimento
estarem concentradas em um único XSL;
(e) possibilidade de manutenção no site por pessoas com um baixo conhecimento da
tecnologia Web.
Atabaque tem um grande potencial de contribuição para a gestão de conteúdo de
processos em geral. Aliás, da forma com que foi concebida, ela pode ser utilizada para
manutenção de qualquer tipo de conteúdo, não necessariamente um processo.
Para o SERPRO, além de contribuir para a evolução do PSDS, a ferramenta pode ser
customizada para a evolução de todos os processos usam a tecnologia Web. Como
trabalho para um futuro mais imediato, sugere-se a incorporação de Atabaque para a
manutenção do PSDS, já que sua validade para a manutenção desse processo pôde ser
contatada através do estudo de caso.
A ferramenta foi vencedora no ConSerpro 2006 (Congresso Serpro de Tecnologia e
Gestão Aplicadas a Serviços Públicos). Sua aplicação está sendo iniciada no PSDS e
estudada para o Portal QoSRF (Qualidade de Serviços de Informação na SRF),
construído baseado na experiência da SRF e Serpro e cujo objetivo é centralizar a
documentação do processo de desenvolvimento de software da Secretaria da Receita
Federal (SRF).
Atabaque se posiciona como importante contribuição para comunidades de SL e de
engenharia de software. Sendo uma ferramenta livre, foi aprovada para publicação no
SourceForge (http://sourceforge.net/projects/atabaque) para ser lida, estudada e
evoluída por interessados.
Seu uso facilita a incorporação de características do SL à definição/ evolução de
processos. Os processos podem ser mantidos de forma colaborativa. Modelos de
processo por área (engenharia de software, gestão de projetos, gerenciamento de
serviços de TI, etc.) podem ser facilmente criados e compartilhados. Processos inteiros
podem ser disponibilizados e diversos padrões de exibição HTML poderão surgir. Ao
invés de algo restrito a grandes organizações e poucas pessoas, a modelagem de
processos passa a ser tratada por empresas de diferentes naturezas e tamanhos,
envolvendo profissionais de diversas áreas, não necessariamente relacionadas a TIC.
Assim, pode-se alcançar uma melhor gestão organizacional, auxiliada por processos
bem definidos, mantidos, entendidos, utilizados e continuamente melhorados.

Referências
ADLER, Sharon et al. Extensible Stylesheet Languagem (XSL) Version 1.0. World Wide
Web Consortium Recomendation, out. 2001. Disponível em
<http://www.w3.org/TR/xsl> Acesso em: jun. 2006.
BRAY, Tim et al. Extensible Markup Language (XML) 1.0 (Second Edition). World Wide
Web Consortium Recommendation, 4 fev. 2004. Disponível em
<http://www.w3.org/TR/REC-xml> Acesso em: jun. 2006.
BORGES, L. S., FALBO, R. A. Gerência de Conhecimento sobre Processos de
Software In: VIII Workshop de Qualidade de Software - XV SBES, Rio de Janeiro.
Anais do VIII Workshop de Qualidade de Software, 2001.
CLARK, James; DeRose, Steve. XML Path Language (XPath) Version 1.0. World Wide
Web Consortium Recomendation, 16 nov. 1999. Disponível em
<http://www.w3.org/TR/xpath> Acesso em: jul. 2006.
ISO – International Organization for Standarization. ISO/IEC 15504. Software Process
Assessment. 1998.
ISO – International Organization for Standarization. ISO 9000-3. Quality Management
and Quality Assurance Standards. Part 3. Guidelines for the application of ISO 9001
to the development, supply and maintenance of software.1991.
KRUCHTEN, P. (1999). The Rational Unified Process. Addison-Wesley, USA.
MALHEIROS, V., Mendonça Neto, M., Farias, L.“Uma abordagem de Gerência de
Projetos de Software, sob o enfoque da Gestão do Conhecimento”. In:2a Jornada
Ibero-americana de Engenharia de Software e Engenharia de Conhecimento,
Salvador. Anais JIISIC2002.
MALHEIROS, V. Paim, F.R., Guzzo, H., Mendonça Neto, M. “Uma Abordagem para
Melhoria Contínua do Processo de Desenvolvimento de Software”. In: V Simpósio
Brasileiro de Qualidade de Software – SBQS 2006.ISBN 85-7669061-6.
MEGGINSON, David. The Official Web Site for SAX. 05 mai. 2000. Disponível em
<http://www.saxproject.org> Acesso em: jul. 2006.
PMI - Project Management Institute (2004) “A Guide to the Project Management Body
of Knowledge (PMBOK Guide)”. Disponível em http://www.pmi.org/. Acesso em jul.
2005.
RAYMOND, E. S. The Cathedral and the Bazaar. O´Reilly & Associates, 1999.
REFSNES, Jan E. XML DTD - An Introduction to XML Document Type Definitions.
Disponível em <http://www.xmlfiles.com/dtd> Acesso em: jun. 2004.
RUP – IBM Rational Unified Process. “Rational Unified Process”. Disponível em:
http://www-306.ibm.com/software/awdtools/rup/ Acesso em jul. 2005.
SEI – Software Engineering Institute. “Capability Maturity Model Integration versão 1.1”
(2002). Disponível em: http://www.sei.cmu.edu/cmm/. Acesso em jun. 2005.
THOMPSON, Henry S. et al. XML Schema Part 1: Structures. World Wide Web
Consortium Recomendation, 2 mai. 2001. Disponível em:
<http://www.w3.org/TR/xmlschema-1> Acesso em: jun. 2006.

Você também pode gostar