• Nenhum resultado encontrado

O IMPACTO DO GERENCIAMENTO DE MUDANÇAS NA QUALIDADE E CUMPRIMENTO DE PRAZOS DE UM SOFTWARE

N/A
N/A
Protected

Academic year: 2021

Share "O IMPACTO DO GERENCIAMENTO DE MUDANÇAS NA QUALIDADE E CUMPRIMENTO DE PRAZOS DE UM SOFTWARE"

Copied!
8
0
0

Texto

(1)

Instituto de Educação Tecnológica Pós-graduação

Gestão de Negócios – Turma 12 16 de outubro 2014

O IMPACTO DO GERENCIAMENTO DE MUDANÇAS NA QUALIDADE

E CUMPRIMENTO DE PRAZOS DE UM SOFTWARE

Filipe Teodoro Mendes Lima

RESUMO

Realizou-se um estudo sobre a importância da utilização do modelo de Application Lifecycle Management (ALM) em um Sistema Financeiro que domina o mercado nacional, que necessita de um trabalho minucioso na área de gerência de configuração para manter sua competitividade. Foi realizado um estudo sobre o cenário atual de uma empresa e reuniões com a equipe para levantamento das melhorias que poderiam ser realizadas para as áreas de gerenciamento de versão e gestão de profissionais. Os resultados mostraram que a utilização de um modelo de versionamento adequado facilita o controle e gestão de mudanças no software, favorece o cumprimento de prazos e uma melhor qualidade do produto entregue ao cliente final, de acordo com o solicitado. Portanto, esse modelo de versionamento proposto irá otimizar o trabalho da equipe, proporcionando um produto de melhor qualidade para o cliente.

Palavras-chave: Application Lifecycle Management. Gerência de Configuração.

ABSTRACT

Assignment did a study about the importance of the use of the model of Application Lifecycle Management (ALM) in a system financial that is between the dominant ones of the national market in Brazil, and needs a minute work in the area of Management of Configuration to keep its competitiveness. A study on the current situation of the company and meetings with staff to survey the improvements that could be made in the areas of management and version management professionals was conducted. The results did show that the use of a suitable model versioning facilitates the control and management of software changes, enhances the timeliness and a better quality of product delivered to the end customer, in

(2)

accordance with the request. Therefore, this proposed model versioning will optimize team work, providing a better quality product for the customer.

Keywords: Application Lifecycle Management. Management of Configuration.

1

INTRODUÇÃO

A utilização de softwares nas diversas áreas de negócios tem se mostrada cada vez mais rotineira e importante para uma organização. O gerenciamento das aplicações ou software consiste na aplicação de conhecimentos e habilidades, apoiadas pela utilização de técnicas e ferramentas objetivando atender os requisitos solicitados pelos stakeholders. Esse gerenciamento tem papel determinante para o sucesso de um projeto, sendo fundamental e corresponsável pelo resultado final obtido (PMBOK, 2013).

O gerenciamento das mudanças tem o objetivo ajudar no cumprimento de prazos, reduzir os riscos, aumentar o grau de coesão e confiabilidade do produto de software construído, o que consequentemente o torna mais competitivo (PMBOK, 2013).

Segundo Garcia (2014), a Aplication Lifecycle Management - ALM (Gestão de ciclo de vida de aplicação) é responsável pela união entre a engenharia de software e a gerencia de negócios, guiando todas as fases da construção de um software, desde sua concepção até sua entrega e otimização efetuada no pós-implantação com a geração de novas versões.

A Gerência de Configuração é uma disciplina que possui a finalidade de realizar o controle sobre as mudanças realizadas, mantendo a manutenibilidade, sem que haja perda da integridade e rastreabilidade do ciclo de vida de um software. Sua aplicação é fator determinante para redução da quantidade de erros, maior qualidade do trabalho e maior facilidade no cumprimento dos prazos, o que consequentemente gera um maior controle do projeto e maior satisfação do cliente (FIGUEIREDO et al., 2004).

Em um mercado onde a quantidade de softwares disponíveis é grande e o diferencial está diretamente ligado à confiabilidade e segurança dos dados, um sistema financeiro necessita de um bom gerenciamento, o que torna a adoção da ALM fundamental para sua inserção, progressão e sucesso.

A empresa cujo nome não pode ser divulgado é uma empresa com sede em Belo Horizonte, que possui como um de seus focos a área bancária e será denominada como empresa X. Nela não existe um controle eficiente sobre as mudanças realizadas no sistema, o qual apresenta erros repetidos em funcionalidades, o que causa insatisfação dos clientes.

(3)

Para atender de forma satisfatória os prazos estipulados, sem que haja perda da qualidade é essencial que seja realizada uma gestão minuciosa do ciclo de vida da aplicação. Este trabalho foi desenvolvido com o objetivo de demonstrar a importância de um bom gerenciamento, cumprimento de prazos determinados pela empresa e qualidade na entrega dos resultados.

1.1

Objetivos

O objetivo geral do trabalho é analisar e desenvolver uma arquitetura de organização de um ambiente para ALM em uma empresa do setor de informática.

Os objetivos específicos foram:

 Identificar as necessidades de controle de mudanças em relação ao sistema financeiro na empresa X;

 Aplicar a arquitetura de organização de um ambiente para ALM em uma equipe que trabalha no setor financeiro, onde existe carência deste tipo de trabalho e erros recorrentes que causam insatisfação dos clientes.

2

METODOLOGIA

Este é um trabalho fundamentado em aplicação da teoria na resolução prática. Serão realizados estudos sobre as práticas mais adequadas de gerir as mudanças, no intuído de criar uma proposta viável financeiramente. O estudo foi realizado baseando-se em publicações de artigos científicos, estudos de caso e livros que abordam o assunto.

Foi realizado um estudo sobre o cenário atual da empresa, onde foram verificados como são os formatos e as condições para liberações de novas versões, assim como periodicidade que as versões são atualizadas.

Após esse estudo, foram realizadas reuniões com a equipe responsável pela manutenção do sistema para identificação das necessidades de melhorias na metodologia de gerenciamento de versão, assim como nos processos de controle de pontos mais críticos no sistema. Foram analisadas as propostas e verificadas as dificuldades e viabilidade para implementação.

Com base nos levantamentos efetuados nas reuniões, foi proposta uma forma de otimização para liberações e controle de versões, posteriormente foi realizada a implementação da proposta para controle de mudanças. A proposta passa pelo uso do Team Foundation Server - TFS, o qual oferece recursos para realização de controle de versões e gerenciamento de mudanças. Foram utilizados também os softwares Microsoft

(4)

Excel e Microsoft Project no controle para alocação de profissionais e geração de relatórios de cunho gerencial.

As alterações no sistema foram realizadas através de três tipos de atividades nomeadas de acordo com seu objetivo final, que são:

Ordem de Serviço: melhoria ou adaptação do sistema, podendo ser solicitada pelo cliente ou a partir de sugestão da equipe.

Chamado: erro encontrado no ambiente operacional do cliente ou através de testes efetuados pela equipe, durante o desenvolvimento de outras atividades.

Defeito: diferença na execução de novos casos de testes, onde o cenário obtido na simulação efetuada pela equipe de Qualidade e Processos é diferente do cenário demonstrado na evidência de teste enviada para gravação do caso.

Para elaboração do projeto, que antecede os resultados, foi alterado o padrão de divisão das partes constituintes de um arquivo executável disponibilizado ao cliente, ficando da seguinte forma:

Versão: abrange todas as alterações significativas efetuadas no sistema durante um longo período de tempo. A versão é caracterizada pelos quatro primeiros algarismos que compõe um arquivo executável. Esta foi alterada, simbolizando um marco da nova etapa de versionamento, passando de 06.00.XXX para 07.00.XXX.

Release: demanda planejada e significativa, disponibilizada semanalmente, contendo evoluções naturais ou solicitadas pelos clientes, as quais podem se caracterizar por serem Ordens de Serviço ou Chamados (erros não emergenciais encontrados no ambiente do cliente) que passa por todos os testes automatizados e manuais da equipe de Qualidade e Processos. O release é caracterizado pelos últimos três algarismos de um arquivo executável. Sua incrementação será sucessiva, tendo o primeiro release disponibilizado com a nomenclatura 07.00.001, o segundo 07.00.002 e assim sucessivamente.

Hot-fix: demanda emergencial que não poderá esperar a data de liberação de um novo release para ser enviada ao cliente. É efetuada no código fonte em que ocorreu problema no cliente, passando somente pelo teste manual (somente é reexecutada a evidência de testes criada pelo desenvolvedor) da equipe de Qualidade e Processos. Somente será gerado em caso de erro em ambiente de produção que impede o funcionamento do sistema. A identificação foi feita por letras que farão parte da nomenclatura da versão, começando em 07.00.001AA até, se necessário, 07.00.001ZZ.

Ficou definido que os novos releases para o sistema foram criados semanalmente com o objetivo de disponibilização de uma versão única, proposta para os clientes sempre que houver a necessidade de atualização de uma alteração que impacte significativamente no funcionamento do sistema. O objetivo é eliminar a grande quantidade de versões diferentes e vigentes do sistema. Toda alteração que corresponder a uma nova

(5)

funcionalidade deverá ser desenvolvida em um novo release, sem haver possibilidade de desenvolvimento e liberação para o cliente na versão vigente em seu ambiente de produção e sem passar pelos devidos testes realizados pela equipe de Qualidade e Processos.

Diante disso, foi utilizado o TFS para armazenamento e controle do código fonte, assim como para armazenamento de planilhas de controle gerencial, sendo disponibilizados para consulta de todos os profissionais da equipe com atualização automática para que não haja perda de dados ou controle sem efetividade.

Para dar continuidade e aplicabilidade ao trabalho, foi determinado algumas tarefas que serão realizadas em diferentes dias da semana. Nas sextas-feiras haverá a criação de um novo release, contendo todas as novas funcionalidades e correções de problemas encontrados na semana anterior.

Todos os casos de teste deverão ser rodados até na segunda-feira, abrindo defeitos (diferenças de valores encontradas para o caso de teste desde a última versão catalogada), que serão analisados pelos desenvolvedores se estes novos valores estão corretos. A correção destes defeitos deverá ser realizada até na terça-feira, onde o código fonte é congelado.

Todas as alterações realizadas serão catalogadas em planilhas Microsoft Excel localizadas no TFS, as quais são divididas em planilha de controle de alterações (contempla correções de erros encontrados nos clientes e novas funcionalidades solicitadas) e planilha de controle de defeitos (contempla todas as soluções para os defeitos abertos durante o ciclo de casos de teste efetuado para liberação de um release). Estas contêm a descrição do problema, descrição da solução, funcionalidade a qual se encaixa o problema e versão em que ocorreu o problema, permitindo que sejam construídos gráficos e relatórios para auxiliar a gerência a identificar os pontos mais críticos do sistema e realizar atuação nesses pontos para que o sistema seja evoluído gradativamente.

3

RESULTADOS E DISCUSSÃO

O versionamento do sistema não estava adequado ao fluxo de demandas hoje existentes, o que gera uma quantidade de liberações urgentes, as quais não passam por todos os testes desejados pela equipe de qualidade e processos.

A evolução do sistema ocorre de acordo com a necessidade das demandas solicitadas, sendo, normalmente, gerada uma nova versão a cada dois meses, não havendo necessidade de atualização por parte dos clientes, caso a alteração disponibilizada não contemple seu interesse. Isso acarreta em clientes em versões distintas. Como consequência, isso gera um grande número de versões, uma grande perda de tempo em

(6)

replicações e novos testes, já que muitas vezes mudanças significativas no sistema são implementadas nas versões implantadas no cliente, além da versão mais nova de desenvolvimento.

Novas demandas são, muitas vezes, negociadas para uma data muito próxima. Isso reforça que o ciclo vicioso perpetue e diminua e eficiência e eficácia da equipe, pois são necessários testes manuais por parte do desenvolvedor nas diferentes versões em que são disponibilizadas as alterações, além de aumentar as chances de surgimento de novos erros no sistema.

A liberação de demandas significativas sem que todos os casos de testes sejam devidamente testados gera novos erros no sistema, o que causa insatisfação e desconfiança por parte dos clientes, além de sobrecarga de trabalho e consequente dificuldade de cumprimento de prazos das entregas.

O novo modelo de versionamento permitiu que entregas programadas para datas posteriores pudessem ser entregues após serem realizados todos os testes necessários e desejados na equipe de Qualidade e Processos para liberação de uma atividade com qualidade desejada. Isso tornou o software mais confiável, diminuindo as chances de surgimento de crises nos clientes, já que grande parte dos erros podem ser encontrados nos testes de liberação de versão.

Após implantação do novo modelo a quantidade de Hot-fix liberados para os clientes diminuiu enormemente e os prazos passaram a ser cumpridos de forma efetiva, sem que fosse comprometida a qualidade das entregas, diferentemente do modelo anterior, onde os prazos estavam sendo constantemente descumpridos e as entregas não estavam tendo qualidade satisfatória. Não foi comparada a metodologia de versionamento com outras empresas, pois normalmente esta metodologia é fechada e especifica de cada fornecedor.

A geração de gráficos gerenciais permitiu ao gestor do sistema programar atuações em pontos mais críticos do sistema, fortalecendo o sistema de forma progressiva, além de programar reuniões com clientes que possuem grande quantidade de chamados, evitando que surjam cenários de crise. Também pode ser controlada a qualidade do atendimento da equipe, verificando a quantidade de erros gerados em cada versão liberada para testes na equipe de Qualidade e Processos.

Podemos dizer que uma boa metodologia de gerenciamento de versões, realizada de acordo com as necessidades da empresa, influencia totalmente na qualidade do produto final e no cumprimento dos prazos de entrega, sendo considerada fundamental para que o software continue competitivo no mercado. A metodologia, prazos e formas de se liberar uma versão pode variar de acordo com o perfil da empresa, portanto a melhor metodologia é aquela que acompanha as necessidades da equipe, o perfil da empresa e necessidades do cliente.

(7)

4

CONCLUSÃO

Constatou-se, através do trabalho realizado, que a utilização do modelo ALM, focando-se nas áreas de gerência de configuração, juntamente a um efetivo controle de alocação de profissionais favorece o gerenciamento de um sistema de financeiro.

Uma nova metodologia de versionamento pode mudar totalmente o cenário atual de um sistema, se for implementado juntamente a um controle de alocação de profissionais efetivo, favorecendo o cumprimento dos prazos e uma maior qualidade das entregas efetuadas. Somente a utilização de um desses métodos não seria suficiente para o atendimento com a qualidade prevista.

Foi constatado que apesar da melhoria na qualidade do atendimento e no cumprimento dos prazos ainda são encontrados muitos erros no sistema oriundos de alterações efetuadas, as quais resolvem parcialmente o problema, gerando erros em outros pontos do sistema. Prova disso é a quantidade de defeitos abertos pela equipe de Qualidade e Processos que necessitam de correções no código.

Para que este problema seja sanado é fundamental que a equipe conheça as regras de negócios do sistema, verificando todos os pontos em que poderão ocorrer problemas a cada alteração efetuada. Em um sistema que possui um número de regras de negócio muito grande, o aumento do nível de maturidade demora muito a ocorrer, o que favorece erros originados de novas alterações.

O trabalho efetuado favoreceu a descoberta de erros pela equipe de Qualidade e Processos, diminuindo a quantidade de erros encontrados em clientes, já que os hot-fix, antes constantemente enviados aos clientes devido aos prazos de entrega que não se adequavam ao prazo de liberação de uma versão com todos os casos de testes testados, deixaram de ser enviados.

Como trabalho futuro e continuação do trabalho efetuado, sugere-se a criação de um portal de compartilhamento de experiências e informações, onde poderão ser colocados problemas encontrados e conhecimentos sobe regras de negócio, favorecendo o crescimento mais rápido da maturidade da equipe em um software de grande porte e que possua grande quantidade de regras de negócio, como o sistema financeiro.

5

REFERÊNCIAS BIBLIOGRÁFICAS

Project Management Institute. PMBOK: Guia do Conjunto de Conhecimentos em

Gerenciamento de Projetos. Project Management. 5 ed.

FIGUEIREDO, Sávio; SANTOS, Gleison; ROCHA, Ana Regina. Gerência de Configuração

(8)

em: <http://www.cos.ufrj.br/~savio/Arquivos/SBQS-2004/gerencia_configuracao.pdf>. Acesso em: 05 set 2014.

GARCIA,Marcus. ALM – O que é isso? – parte 1. [2011] Disponível em: <http://www.devmedia.com.br/alm-o-que-e-isso-parte-01/14117>. Acessado em: 05 set 2014.

CHAPPEL, David. What is Application Lifecycle Management? [2008] Disponível em: <http://www.davidchappell.com/WhatIsALM--Chappell.pdf>. Acesso em: 06 set 2014.

GARCIA, Marcus. ALM - O que é?. [201-] Disponível em: <www.almbrasil.com.br/alm-o-que/>. Acesso em: 06 set 2014.

CONDÉ, Luciano. Introdução ao Application Lifecycle Management (ALM). [201-] Disponível em: <msdn.microsoft.com/pt-br/library/ee156630.aspx>. Acesso em: 06 set 2014.

Escolha um modelo de processo. [201-] Disponível em:

<http://msdn.microsoft.com/pt-br/library/ms400752(v=vs.100)/>. Acesso em: 06 set 2014.

Gerenciamento de Ciclo de Vida de Aplicativos Com Visual Studio. [201-] Disponível

Referências

Documentos relacionados

Resumo O presente artigo tem como objetivo analisar a importância do brincar para o desenvolvimento afetivo da criança de 0 a 6 anos, como também identificar as concepções

Em relação ao Respondente4 ele já havia usado a ferramenta em outra instituição antes de iniciar suas atividades na UTFPR Campus Pato Branco e é possível creditar sua

Neste trabalho foram analisados os dados coletados em perímetro urbano e rural no município de Serranópolis do Iguaçu com a finalidade de investigar e avaliar o

Obtivemos as respostas listadas a seguir: Sujeito 1: “Brincar na educação infantil é muito importante para o desenvolvimento da criança que nessa fase tem o lúdico como elemento

No Quadro 14, está a representação da incompatibilidade número 10 onde na modelagem BIM, conforme o projeto estrutural, a passagem da eletrocalha foi projetada a 2,97m

Neste sentido, o nosso trabalho foi realizado em dois momentos: o Campo de Observação com 20 horas semanais e Campo de Docência com 20 horas semanais, encontros significativos

A forma em que as empresas do arranjo do segmento cama-mesa-banho estão inseridas no mercado externo pode ser enquadrada em relações de redes de empresas, nas

Além disso, a falta de esclarecimento de toda a comunidade escolar sobre sua importância para a melhoria do desempenho dos educandos também contribuiu para que os pais não o