Controlle: Ferramenta de Apoio à Gerência de Requisitos Fernando Nascimento 1, Marcus Teixeira 1, Marcello Thiry 2 e Alessandra Zoucas 2 1 Khor Tecnologia da Informação Rod. SC 401, Km 01 n 600 Ed. Alfama SL 403, João Paulo Cep: 88030-911 Florianópolis SC Brasil {fernando, marcus} @khor.com.br 2 (II-MPS.BR) Incremental Tecnologia em Informática Ltda. R. Delminda Silveira 740/1002 Agronômica Cep: 88025-500 Florianópolis SC Brasil {thiry, zoucas}@incremental.com.br Abstract. Under the Incremental Tecnologia consultancy, an implementing insitution (II-MPS), the Khor Tecnologia da Informação has evaluated the software Controlle adherence over the managing requisite process over the MR-MPS:2011, level G. On this perspective, this article presents an analysis describing how each expected result is achieved and evidenced, consolidating the processes and identifying improvement opportunities at the software. Resumo. A empresa Khor Tecnologia da Informação, sob consultoria dos especialistas da instituição implementadora (II-MPS) Incremental Tecnologia, avaliou a aderência da ferramenta Controlle ao processo de Gerência de Requisitos do nível G do MR-MPS:2011. Nessa perspectiva, apresenta-se uma análise descrevendo como cada resultado esperado é alcançado e evidenciado, consolidando os processos e identificando oportunidade de melhorias na ferramenta. 1. Introdução De acordo com os níveis de maturidade estabelecidos em modelos de referência de processos reconhecidos como o MR-MPS [SOFTEX 2011] e o CMMI-DEV [SEI 2010], a Gerência de Requisitos (GRE) é um processo que deve ser implementado desde o início de um programa de melhoria de processos. Isto ressalta a relevância deste processo para a qualidade de software. Um estudo sobre a continuidade da execução dos processos de software em empresas avaliadas no MR-MPS destaca que empresas enfrentam dificuldades em manter a rastreabilidade bidirecional entre requisitos e produtos de trabalho [ALMEIDA et al. 2011]. Outro fator discutido sobre o processo GRE foi que tal dificuldade pode estar associada a pouca disponibilidade de ferramentas automatizadas para garantir a rastreabilidade bidirecional de modo efetivo [ALMEIDA et al. 2011]. O resultado de outra pesquisa corrobora com a discussão de que para a melhoria de processo de software ser efetiva é preciso contar com ferramentas que apóiem as atividades previstas nos processos [MENDES et al. 2010]. Atualmente, a abordagem mais utilizada por empresas que visam executar a rastreabilidade bidirecional ainda é usar aplicativos de planilha eletrônica. Entretanto, algumas empresas tem buscado abordagens automatizadas para reduzir o esforço empregado na implementação e continuidade da execução de processos de software como a GRE [MARQUES et al. 2010]. 146
Controlle: Ferramenta de Apoio à Gerência de Requisitos No sentido de apoiar a execução do processo GRE, a ferramenta Controlle foi idealizada. Ela permite identificar, detalhar, registrar mudanças, organizar e rastrear os requisitos e outros produtos de trabalho produzidos durante o desenvolvimento de um projeto, proporcionando menor esforço e maior eficiência à equipe do projeto. Este artigo tem por objetivo, apresentar uma avaliação da aderência das funcionalidades desta ferramenta às práticas do processo GRE do modelo MR-MPS [SOFTEX 2011]. A avaliação da aderência da ferramenta foi realizada pela empresa Khor TI com o apoio da instituição implementadora (II-MPS) Incremental Tecnologia durante as consultorias de implementação do nível G do modelo. Neste período, novas funcionalidades foram desenvolvidas e oportunidades de melhoria identificadas visando dar maior suporte aos resultados esperados. O artigo é organizado da seguinte forma: a seção 2 apresenta as principais funcionalidades, formas de licenciamento e modos de acesso à ferramenta; a seção 3 descreve como os resultados esperados podem ser atingidos com o uso da ferramenta e as oportunidades de melhoria; por último a seção 4 apresenta as considerações finais. 2. Principais Funcionalidades do Controlle O Controlle é uma ferramenta flexível, projetada para adaptar-se ao processo e à metodologia definido por cada empresa ou projeto, seja ela ágil ou tradicional. É possível definir atributos e configurar os artefatos que serão produzidos durante o ciclo de vida do projeto, possibilitando o gerenciamento dos produtos de trabalho. Através da sua utilização é possível responder as seguintes questões: Qual a fonte de um determinado requisito ou mudança? Por que o requisito existe? Quais outros requisitos estão relacionados a ele? Como o requisito se relaciona com o sistema? Quais produtos de trabalho são afetados por um determinado requisito ou mudança? As principais funcionalidades do sistema são: Gerenciar e desenvolver requisitos de forma colaborativa, integrando Equipe Técnica, Gerente de Projetos e Cliente. Formar uma base de conhecimento e histórico de informações que será utilizada durante todo o ciclo de vida do produto ou projeto. Gerenciar processo de mudança: solicitação, acompanhamento, análise de impacto e registro do plano de implementação. Manter a rastreabilidade vertical e horizontal entre requisitos e produtos de trabalho, estabelecendo níveis de decomposição e dependência entre os produtos. Obter informações sobre o andamento do projeto, mostrando através de gráficos e tabelas a evolução do desenvolvimento dos requisitos. 147
Controlar versões dos produtos e projetos, identificando os requisitos implementados, bugs corrigidos e mudanças disponibilizadas em cada versão. A ferramenta Controlle pode ser licenciada nas seguintes modalidades: Licença de uso permanente: nesta modalidade, a licença não expira e o cliente tem a possibilidade de contratar os serviços de suporte e atualização à parte. SaaS (Software as a Service): esta modalidade é indicada para clientes que não queiram ou não tenha condições de manter a aplicação em uma infraestrutura própria. O pagamento pode ser mensal, semestral ou anual e inclui suporte e atualização; O valor do licenciamento é calculado através do número de usuários nomeados (com cadastro ativo no sistema) ou acesso simultâneo. Uma versão de demonstração está disponível pelo link: http:// controlle.khor.com.br (empresa: controlle; usuário: wamps; senha: 28wamps10). 3. Aderência ao Processo de Gerência de Requisitos 3.1. GRE1 O entendimento dos requisitos é obtido junto aos fornecedores de requisitos A Figura 1 apresenta uma parte da tela de cadastro de requisitos, possibilitando a inclusão de atributos personalizados, imagens, links e arquivos externos, além de identificar também o fornecedor do requisito. Apenas fornecedores previamente cadastrados no projeto podem ser vinculados aos requisitos. Figura 1. Registro do Requisito. 148
Controlle: Ferramenta de Apoio à Gerência de Requisitos Os requisitos identificados devem ser agrupados em uma baseline de requisitos. Uma baseline identifica o escopo de um projeto, produto, ou até mesmo iterações. Este agrupamento pode ser feito no registro do requisito ou na tela de cadastro de baseline que é parcialmente apresentada na Figura 2. O registro de aceite dos requisitos é obtido diretamente na ferramenta. Basta alterar o status da baseline para, por exemplo, Aprovada pelo Fornecedor de Requisitos e solicitar que o fornecedor de requisitos registre seu comprometimento com a lista de requisitos definida na baseline. Este registro gera um log com as informações do usuário autenticado e é uma comprovação que aquele usuário concorda com a mudança de status. A ferramenta dispõe de um relatório com o histórico destas informações. O ciclo de vida dos requisitos e de uma baseline pode ser configurado pelo usuário, adequando-se a realidade de cada empresa ou projeto. Figura 2. Registro de Baseline. Para este resultado foi identificado como oportunidade de melhoria disponibilizar um histórico mostrando as alterações que foram feitas nos requisitos, possibilitando comprovar a evolução do seu entendimento. 3.2. GRE2 Os requisitos são avaliados com base em critérios objetivos e um comprometimento da equipe técnica com estes requisitos é obtido Neste resultado a equipe técnica irá avaliar os requisitos e, quando aprovado, o status da baseline deverá ser alterado para Aprovada pela Equipe Técnica. Após esta aprovação, todos os integrantes da equipe deverão registrar seu comprometimento. A oportunidade de melhoria identificada no GRE1 (histórico de alterações do requisito) também seria útil para o GRE2, permitindo identificar as modificações que foram feitas em decorrência da avaliação do requisito. Além disso a ferramenta poderia permitir o cadastro dos critérios de aceitação de requisitos definidos pela unidade organizacional. 149
3.3. GRE3 A rastreabilidade bidirecional entre os requisitos e os produtos de trabalho é estabelecida e mantida A rastreabilidade pode ser mantida de duas maneiras na ferramenta: na própria tela de cadastro de produto de trabalho apresentada na Figura 3, ou de modo visual, pelo diagrama de produtos apresentado na Figura 4. A ferramenta permite relacionar um produto de trabalho a qualquer outro produto: requisitos, protótipos de tela, casos de uso, classes, tabelas, arquivos de código, ata de reunião, questionário etc. Além disso, podem ser relacionados produtos de outros projetos. Também é possível definir o tipo (composição, indireto, dependência, etc.) e a direção do relacionamento. Figura 3. Produtos Relacionados. No diagrama os tipos de produto de trabalho (requisito, protótipo de tela, caso de uso, código fonte, tabela) são apresentados em formas e cores diferentes. Também é possível diferenciar rastreabilidade horizontal e vertical, visualizar informações detalhadas dos produtos e navegar entre eles. Estas funcionalidades auxiliam na análise de impacto e também na identificação de novos relacionamentos. Figura 4. Diagrama Rastreabilidade Visual. 150
Controlle: Ferramenta de Apoio à Gerência de Requisitos 3.4. GRE4 Revisões em planos e produtos de trabalho do projeto são realizadas visando a identificar e corrigir inconsistências em relação aos requisitos Para apoiar o atendimento desta prática, a equipe pode, durante as revisões, utilizar um checklist juntamente com os mecanismos de rastreabilidade para identificar o relacionamento entre requisitos e outros produtos de trabalho. Analisando os relacionamentos, é possível definir quais produtos deverão ser alterados. Isto é possível porque a ferramenta permite o registro de qualquer produto envolvido no processo. Neste resultado esperado foi identificado como uma possibilidade de melhoria disponibilizar um relatório apontando prováveis inconsistências entre os produtos de trabalho (ex.: código fonte sem requisito, caso de uso sem requisitos). Este relatório também poderia ser utilizado para o acompanhamento das ações corretivas das inconsistências encontradas. 3.5. GRE5 Mudanças nos requisitos são gerenciadas ao longo do projeto A ferramenta Controlle apóia o ciclo de vida de uma mudança de requisitos, desde a solicitação ao acompanhamento de sua implementação. Conforme pode ser observado na Figura 5, além das informações básicas (data, descrição, justificativa e objetivo), o registro da mudança permite identificar o solicitante e o requisito que está sendo alterado (se aplicável). Figura 5. Gerenciamento de Mudança. 151
Para auxiliar na análise de impacto a equipe pode utilizar o diagrama de produtos apresentado anteriormente na Figura 4. Nesta tela é possível navegar entre os produtos e neste momento identificar e registrar quais serão impactados pela mudança. Feito isto, a equipe deve descrever o impacto em cada produto conforme apresentado na Figura 6, e ainda em outros itens como cronograma, custos, esforço, etc. Figura 6. Produtos Impactados. Todo o ciclo de vida da mudança (proposta, aceita, recusada, concluída) também é registrado na ferramenta, permitindo o acompanhamento e gerando um histórico das decisões. Quando a mudança é aceita pela equipe todos os envolvidos devem registrar seu comprometimento. Além disto, deve ser gerada uma nova versão dos requisitos que foram afetados, criando assim um histórico de informações do requisito incluindo a rastreabilidade sobre antes e depois de uma mudança. Caso a mudança tenha gerado um novo requisito, é possível identificar isto na ferramenta, enriquecendo ainda mais a base de informações do requisito e da mudança. 3.6. RAP4 (A partir do nível F) Medidas são planejadas e coletadas para monitoração da execução do processo e ajustes são realizados As medidas planejadas para monitoração e execução do processo de GRE podem ser coletadas diretamente na ferramenta. É possível obter medidas relacionadas ao ciclo de vida de qualquer produto de trabalho, como por exemplo: quantidade de requisitos por status, solicitações de mudança por status, quantidade de requisitos já codificados. Estas medidas também podem ser utilizadas para apoiar decisões de ajustes no processo e podem ser exibidas em forma de tabela ou gráfico, conforme apresentado na Figura 7. 152
Controlle: Ferramenta de Apoio à Gerência de Requisitos Figura 7. Indicadores de Execução do Processo. Desta forma, foi verificado que a utilização da ferramenta Controlle pode apoiar a construção de um repositório de medidas desde os primeiros níveis de maturidade do modelo, permitindo demonstrar aderência à algumas práticas do processo de Medição do nível F de maturidade e ainda apoiar futuramente a realização das práticas do processo Gerência Quantitativa no nível B do modelo. 3.7. Avaliação da Aderência A Tabela 1 apresenta o grau de aderência da ferramenta aos resultados esperados do processo de GRE e para o atributo de processo RAP4 do nível F do modelo MPS. Tabela 1. Avaliação da Aderência da Ferramenta Controlle. Resultados Esperados GRE 3 e 5 GRE 1, 2 e 4 Atributos de Processo RAP 4 (nível F) Avaliação Aderente Aderente com oportunidades de melhoria Avaliação Aderente para o processo de GRE 4. Considerações Finais Este trabalho apresentou a ferramenta Controlle como uma alternativa para a implementação do processo GRE do modelo de referência MPS. Além do atendimento dos resultados esperados deste processo, também foi verificado que a ferramenta ainda apoia o resultado de atributo de processo RAP 4, uma vez que ela oferece medidas para GRE. Embora não tenha sido discutido anteriormente pelo artigo, a ferramenta Controlle ainda apoia o processo de Gerência de Configuração, uma vez que oferece mecanismos para estabelecer e manter baselines de requisitos. Vale ressaltar que a ferramenta não possui integração com outras de gerência de configuração e também não atende a todos os resultados esperados desse processo. Um estudo mais detalhado será publicado em trabalhos futuros. 153
Foram identificadas oportunidades de melhoria nos resultados GRE 1, 2 e 4, mas o atendimento integral já pode ser realizado com o apoio de email e checklists. Os resultados esperados de GRE no nível G de maturidade são alcançados sem esforço adicional, já que um dos objetivos da ferramenta é auxiliar a equipe no dia a dia do projeto. A evolução da aderência do Controlle já está em andamento com a implementação das oportunidades de melhoria identificadas e também com a participação de outras empresas interessadas no uso da ferramenta. Pretende-se, a longo prazo, criar soluções que atendam a outras áreas de processo, como Projeto e Construção, Validação, Verificação, Garantia da Qualidade, entre outros. Como trabalhos futuros propõem-se a avaliação da aderência da ferramenta a outros processos do modelo Gerência de Requisitos, Gerência de Configuração e Medição. Outra proposta seria um comparativo com outras ferramentas disponíveis no mercado. Referências ALMEIDA, C. D. A., MACEDO, T. C., ALBUQUERQUE A. B., (2011). A continuidade da execução dos processos de software em empresas avaliadas no MPS.BR. pp. 135-149, In: X SBQS, Curitiba PR. MARQUES, A. B., RABELO, J., VIEIRA, S. C., CONTE T. (2010). Um Estudo Experimental sobre Abordagens de Apoio à Rastreabilidade de Requisitos. pp. 158-165 In: VI WAMPS, Campinas SP. MENDES F. F., FERNANDES, P. G., OLIVEIRA, J. L., MOTA, C. C., MARTINS, M. D. S., NUNES, R. S. (2010), Análise de Ferramentas para Apoio à Gerência de Projetos e Gerência de Requisitos de Software. pp. 148-157 In: VI WAMPS, Campinas SP. SEI (2010) SOFTWARE ENGINEERING INSTITUTE. CMMI for Development (CMMI-DEV), Version 1.3. Technical Report CMU/SEI-2010-TR-033, 2010. SOFTEX (2011). MPS.BR Melhoria de Processo do Software Brasileiro, Guia de Implementação Parte 1. 2011. Disponível em www.softex.br/mpsbr. 154