Versionamento e Traçabilidade é o módulo de GxTend, a
suíte de ferramentas full-web para gestionar um projeto de desenvolvimento de
software, que permite ter uma visão do projeto através do tempo.
Agora com GxTend é possível acessar a toda a "história" de
todos os elementos da nossa aplicação, em todo momento.
GxTend acompanha a evolução do produto, registrando todos
os elementos modificados no seu repositório interno. Considera-se não só os
"objetos exportáveis" por GeneXus, como também, o conhecimento externo,
estruturas de tabelas e seus respectivos índices, assim como a navegação de cada
um dos objetos versionados.
À medida que evolui o produto, GxTend vai capturando na
sua base de dados a evolução das entidades de interesse e a relação entre essas
entidades (como por exemplo, as referências cruzadas). É possível buscar entre
os objetos versionados, selecionar e comparar as mudanças
realizadas..
Na figura se observa a evolução da tabela VprosTra, onde é
ressaltada a versão atual e se observa que desde a sua criação, sofreu cinco
mudanças. Podem ser visualizados cada uma das estruturas e comparar as mudanças
como foi detalhado no artigo de Ferramentas de Produtividade.
Revisões
É difícil falar de versionado e não incluir o conceito de
Revisões. GxTend permite tirar uma foto ou "snapshot" das versões em um dado
momento, gerando o conceito de revisão. A uma revisão pode-se acrescentar
informação que detalhe o significado dessa "foto" para a organização.
Cada revisão mostra a situação da nossa aplicação em um
dado momento. Podemos gerar a revisão de forma interativa, por exemplo,
associando-a a uma entrega ao cliente ou parametrizar segundo calendário sua
execução, registrando-se como uma revisão automática.
Ao ativar as revisões GxTend ressalta as mudanças na
estrutura da base de dados. Como observamos na seguinte figura, GxTend agrupa
por cor aquelas revisões que correspondem -> mesma estrutura de base de
dados.
Vemos então como o repositório de GxTend, contém toda a
informação da evolução da nossa aplicação e nos oferece as ferramentas
apropriadas para processá-las com flexibilidade.
O usuário pode realizar buscas, selecionar, comparar as
revisões selecionadas, identificando as mudanças no tempo. Pode-se selecionar
uma revisão particular e realizar um browse do estado do projeto em um dado
momento.
Como foi mencionado anteriormente pode-se navegar através
da evolução no tempo de qualquer das entidades da nossa aplicação, em um Kb,
entre diferentes Kbs, ou inclusive entre diferentes clientes, projetos ou
módulos.
E a traçabilidade?
Tanto o Versionamento como a Traçabilidade são aspectos
importantes em todo o desenvolvimento de software. Tanto é assim que são
aspectos requeridos para obter certificados de qualidade.
GxTend permite registrar o motivo da evolução de um
elemento e/ou qualquer outra informação que se queira associar ->
mudança.
Um exemplo pode ser a gestão da incidência que derivou em
uma nova versão de uma entidade, já seja por um novo requerimento ou pela
correção introduzida ante um incidente.
A informação sobre versionado e traçabilidade pode ser
empregada para construir as métricas de interesse da organização, contemplando a
visão dos diferentes atores do projeto.
Da sua interface gráfica, full-web, GxTend permite acessar
-> informação de traçabilidade. Por exemplo, para os objetos de uma Kb GeneXus, é
possível definir uma entrada do tipo "Object ChangeLog", de maneira que em cada
evolução do objeto poderemos contar com a seguinte informação:
Diff entre a versão n e a versão n-1 do objeto. Usuário
que realizou a modificação. Detalhe explicativo da modificação.
O que acontece depois?
Foram mostrados alguns dos usos do módulo de Versionamento
e Traçabilidade de GxTend. Junto com as Ferramentas de Produtividade completa-se
a visão do projeto, tanto através do tempo, como através das KBs. Na próxima
entrega será apresentado o módulo de Controle de Confluência, que oferece opções
para que vários desenvolvedores trabalhem de forma controlada sobre as KBs
consolidadas, organizando o trabalho de forma ágil e evitando a perda de
mudanças.