• Nenhum resultado encontrado

Melhoria de Processos de Software na Drive

N/A
N/A
Protected

Academic year: 2021

Share "Melhoria de Processos de Software na Drive"

Copied!
8
0
0

Texto

(1)

Melhoria de Processos de Software na Drive

Bruno Mega1, Kleber Fonseca1, Ricardo Boessio1, Paulo Massa1, Mariano Montoni2, Jucele Vasconcellos2, Anne Elise Katsurayama2, Ana Regina Rocha2

1Drive Consultoria e Informática, Rua da Alfândega, 91 / 9º Andar, Centro CEP: 20070-003 Rio de Janeiro – RJ – Brasil

{mega, kleberfonseca, ricardoboessio, paulomassa}@drive.com.br

2COPPE/UFRJ - Universidade Federal do Rio de Janeiro Caixa Postal 68511 – CEP 21945-970 – Rio de Janeiro, Brasil

{mmontoni, jucele, anneelisek, darocha}@cos.ufrj.br

Abstract: This work presents the software process improvement strategy adopted in a

software development organization named Drive Consultoria e Informática. Both the difficulties related to the execution of this initiative and the mechanisms adopted to overcome them are also presented in this work. The main quantitative and qualitative results achieved from the implementation of software processes improvements in Drive are also presented. The implementation of software process improvement in Drive was recently assessed successfully in the MR MPS level F.

Resumo: Este trabalho apresenta a estratégia de implementação de melhoria de

processos de software na empresa Drive Consultoria e Informática. As dificuldades enfrentadas na condução dessa iniciativa, bem como os mecanismos adotados para superá-las são também apresentados neste trabalho. Os principais resultados quantitativos e qualitativos alcançados a partir da implementação de melhoria de processos são também discutidos neste trabalho. A implementação da melhoria dos processos na Drive foi recentemente avaliada com sucesso no nível F do MR MPS.

1. Introdução

A melhoria contínua da capacidade de desenvolvimento de software é fundamental para a sobrevivência das organizações em mercados competitivos. No entanto, iniciativas de melhoria de processo de software demonstram sucessos limitados, pois os responsáveis pela implementação das melhorias falham em tratar de forma adequada fatores que podem influenciar o sucesso de iniciativas de melhoria, por exemplo, a falta de aplicação de uma metodologia adequada para orientar a implementação de melhoria [1]. Neste contexto, é imprescindível que as organizações desenvolvedoras de software apliquem estratégias adequadas para minimizar os riscos inerentes à implementação da melhoria e possam aumentar as chances de obter sucesso nas iniciativas de melhoria.

Segundo NIAZI et al. [2], as organizações de software, geralmente, não tratam suas iniciativas de melhoria de processos como projetos reais. Dessa forma, torna-se difícil aplicar de forma eficaz e eficiente métodos e técnicas estabelecidos na área de gerência de projetos para apoiar a condução das iniciativas de melhoria. Conseqüentemente, a maioria das iniciativas de melhoria tende a não obter sucesso uma vez que não são adotados métodos adequados para estimar custos e prazos para implementar as melhorias, nem para tratar adequadamente problemas que podem surgir durante a condução das iniciativas de melhoria, entre outras questões.

Ações de melhoria de processos requerem também, geralmente, uma quantidade significativa de recursos financeiros para serem colocadas em prática. Esses recursos

(2)

podem envolver, por exemplo, a contratação de consultoria especializada para apoiar a definição de processos, a aquisição de ferramentas de apoio à execução dos processos e a contratação de pessoal. No entanto, o retorno desse investimento somente é percebido após algumas execuções dos processos modificados [3]. Isto faz com que os benefícios esperados com a implementação de melhorias nos processos sejam obtidos em um longo prazo, dificultando correlacionar os benefícios observados com os recursos investidos. Além disso, certos benefícios obtidos com as melhorias implementadas não são facilmente mensuráveis, diminuindo a visibilidade do retorno do investimento em melhoria dos processos [4].

Neste contexto é fundamental que organizações desenvolvedoras de software sejam capazes de definir estratégias de implementação de melhoria de processos de software alinhadas à realidade da empresa considerando suas características, necessidades e restrições. Além do mais, é importante também monitorar continuamente a implementação das melhorias para garantir que o investimento realizado resultará em benefícios tangíveis para a organização. Este trabalho apresenta a estratégia de implementação de melhoria de processos de software na empresa Drive Consultoria e Informática. A próxima seção apresenta a empresa Drive e suas principais características. Na seção 3 é apresentada a estratégia de implementação de melhoria de processos de software adotada na Drive. As dificuldades enfrentadas na condução dessa iniciativa, bem como os mecanismos adotados para superá-las são apresentados na seção 4. Os principais resultados quantitativos e qualitativos alcançados a partir da implementação de melhoria de processos são discutidos na seção 5. A estratégia de implementação de melhoria de processos da Drive demonstrou ser adequada à realidade da empresa. Isto pode ser comprovado pelo sucesso da implementação na avaliação recente da empresa no nível F do MR MPS.

2. A Empresa

A Drive Consultoria e Informática fornece sistemas para o mercado financeiro desde 1983, tendo sido, no Brasil, a pioneira neste setor. Seu primeiro sistema foi desenvolvido em COBOL visando atender a mesas de open de bancos e corretoras. Em 1989 a Drive mudou tanto a tecnologia quanto a linha de produtos, passando a oferecer ao mercado sistemas para gerenciamento de fundos de investimento e carteiras administradas, desenvolvidos em linguagem C para MS-DOS.

Na segunda metade dos anos 90 foi lançada no mercado a versão cliente-servidor de seus sistemas, escritos em C++, e em 2001 foram lançadas as primeiras versões em ambiente J2EE. Atualmente a Drive possui cerca de 100 colaboradores, matriz no Rio de Janeiro e filial em São Paulo, está consolidada na plataforma Java J2EE e seus sistemas administram o equivalente a R$ 530 bilhões de reais.

Além dos sistemas de gestão de fundos e carteiras implantados em grandes bancos e fundações, tais como Banco do Brasil, Citibank e Telos, a Drive possui também uma área estruturada para atender a demandas de projetos de software. Tais demandas costumam atender, em sua maioria, a integrações com outros sistemas do ambiente do cliente, necessidades específicas de novo negócios que seus clientes oferecem ao mercado, além de novos módulos, operações financeiras e atualizações da legislação em vigor.

De um certo modo, e até mesmo pela natureza do negócio e do mercado em que a Drive está inserida, pode-se dizer que os projetos na Drive freqüentemente possuem restrições de prazo e visam atender necessidades urgentes, algumas vezes de novos negócios sobre os quais, inicialmente, as equipes de projetos ou até mesmo o próprio

(3)

cliente possuem pouco domínio. Os processos de software na Drive precisam, portanto, ser ágeis e enxutos, ao mesmo tempo em que devem fornecer segurança, credibilidade e qualidade, além de serem completos na ótica de um modelo de referência para melhoria de processos de software.

A Drive, no decorrer dos últimos anos, vem buscando a melhoria dos seus processos e produtos com o objetivo de sempre oferecer o melhor para os seus clientes. Com essa visão, procurou apoio em um modelo de qualidade reconhecido pelo mercado para por em prática este objetivo. E o MPS.BR foi o modelo adotado. Ao longo do período de implementação do modelo, a Drive adquiriu expertise em gerenciamento de projetos e qualidade dos processos e produtos. Após ter o projeto de implementação finalizado, foi obtido o Nível F (Gerenciado) em avaliação oficial realizada em outubro de 2007 sem nenhum ponto fraco nos processos avaliados. Além disso, o relatório final da equipe de avaliação destacou diversos pontos fortes, pelo fato da Drive já ter implementado em seus processos várias práticas que são normalmente encontradas em empresas de níveis superiores de maturidade e capacidade.

O sucesso na implementação da melhoria dos processos da Drive se deve em grande parte à execução de uma estratégia de implementação adequada à realidade da empresa. A estratégia de implementação de melhoria de processos de software adotada na Drive é apresentada a seguir.

3. Estratégia de Implementação de Melhoria de Processos de Software

Pode-se dizer que a estratégia de implementação de processos de software na Drive se apoiou em 3 pilares fundamentais. Esses pilares são descritos a seguir.

O ponto mais importante da estratégia de implementação de melhoria de processos de software adotada pela Drive é o enfoque na busca pela qualidade e nas necessidades de melhoria da organização, ao invés de focar na avaliação dos processos como um fim em si próprio. De fato, desde o início, não se buscou uma grife ou uma etiqueta, outrossim, teve-se a intenção de basear-se em um modelo de referência para rever os processos internos com o objetivo de criar uma base de sustentação ao negócio da empresa a partir das melhores práticas na área da engenharia de software. A avaliação, por sua vez, foi encarada como uma conseqüência natural do processo de evolução.

O segundo ponto também considerado essencial para o sucesso na implementação da melhoria dos processos da Drive foi o estabelecimento de um Grupo de Processos pró-ativo e atuante, desde o início, com o objetivo não só de apoiar a implementação, mas também garantir a institucionalização dos novos processos através de mentoring continuado (discutido a seguir) e suporte aos gerentes na execução dos projetos. O acompanhamento semanal de consultoria possibilitou garantir que as dúvidas do Grupo de Processos quanto à implementação do processo fossem dirimidas, assim como permitiu garantir que as práticas adotadas eram as melhores para a Drive do ponto de vista da Engenharia de Software e do ponto de vista da aderência ao modelo de referência de processo de software MPS.BR. Outro grande benefício da estratégia de se definir um grupo de processos desde o início, mesmo que o nível de maturidade pleiteado na avaliação não exigisse essa prática, foi o de aproximar a equipe de implementadores da COPPE que prestou consultoria para a Drive com os valores centrais e a cultura da empresa, o que remete ao terceiro pilar fundamental da implementação MPS.BR na Drive.

O terceiro pilar está relacionado à preservação da cultura da empresa, os documentos e ferramentas já implantados, e manter as coisas simples. Percebeu-se que

(4)

não é a empresa que tem que se adequar aos processos, mas o processo é que deve se adequar à empresa. Sendo assim, desde o início houve a preocupação em se definir processos que fossem completos e tecnicamente corretos, mas ao mesmo tempo enxutos e que evidenciassem o “DNA” da empresa de tal forma que todos os gerentes pudessem usá-los confortavelmente. De uma certa forma, a Drive já possuía suas ferramentas, sua forma de fazer as coisas, onde se destacava, por exemplo, a existência de vários

templates de artefatos de projetos e de uma área de qualidade e testes totalmente

independente das equipes de projeto. Até por conta disso, os gerentes já sabiam, ou pelo menos tinham a percepção, de onde estavam as principais fraquezas da empresa e quais eram as principais melhorias que deveriam ser implementadas. À medida que foram experimentando o processo definido, foram percebendo que nada do que a empresa já fazia de bom foi perdido ou deturpado e várias novas atividades e ferramentas vieram preencher lacunas que já eram notadas como pontos a se melhorar, de alguma forma. Sendo assim, a implementação acabou sendo tranqüila, do ponto de vista de aceitação das pessoas, sem que houvesse nenhum foco de resistência que fosse de fato relevante.

A definição de um processo de melhoria dos processos foi outro ponto que colaborou para que o resultado final fosse positivo. Ao se definir um processo para que as melhorias fossem implantadas, pôde-se controlar melhor a evolução da própria organização e ao mesmo tempo compartilhar o processo evolutivo e de melhoria contínua junto com os demais colaboradores da empresa. Interessante ainda foi o fato de que o próprio processo de melhoria de processos, associado às suas ferramentas, facilitou o trabalho de acompanhamento de correções por parte da instituição avaliadora do MPS.BR na Drive. A avaliadora líder pôde verificar os artefatos e acompanhar as correções através de login na ferramenta que foi disponibilizada no site da empresa.

4. Dificuldades

Nesta seção são discutidos alguns dos aspectos principais da execução da estratégia de implementação de melhoria de processos de software na Drive. Essas dificuldades foram classificadas em dois grupos: dificuldades na definição dos processos e dificuldades na implementação dos processos.

4.1. Dificuldades na Definição dos Processos

Uma das dificuldades encontradas na melhoria dos processos da Drive está relacionada à necessidade de atender três aspectos relevantes da implementação: aplicação de conceitos de Engenharia de Software, aderência ao MPS.BR e alinhamento às características da Drive.

Além do apoio semanal da consultoria, que colaborou com a aplicação de conceitos de Engenharia de Software e a aderência ao MPS.BR, o próprio Grupo de Processos também estava com foco nessas questões, facilitando o alinhamento dos processos definidos com as características da empresa, além apoiar no ajuste dos processos às restrições e peculiaridades da Drive.

Com um Grupo de Processos definido, competente e focado, assim como com uma consultoria apoiando de forma sistemática, pôde-se obter um processo com efetiva aplicabilidade e aderência às boas práticas da Engenharia de Software, bem como do MPS.BR.

Outra dificuldade foi percebida na adoção de ferramentas apropriadas para cumprir as necessidades básicas, medianas e avançadas das equipes dos projetos e que gerasse documentos e/ou práticas aderentes ao modelo MPS.BR. Ao mesmo tempo em que poderia ser complicado adotar uma ou mais ferramentas novas, pois haveria necessidade

(5)

de treinar as pessoas, esperar que elas adquirissem um determinado know-how e pudessem seguir os projetos sem maiores problemas. Isso causaria uma curva de aprendizado grande, influenciando a queda de produtividade abrupta. E esta queda, além do aprendizado e do impacto nas pessoas, aconteceria por causa da implantação de alguns processos que não haviam na Drive, com o uso de ferramentas com as quais os membros das equipes dos projetos não estavam habituados isso seria aprofundado, podendo causar um problema maior.

A forma com que esta dificuldade foi tratada foi de certa forma simples, mas sem ser simplista. As ferramentas que eram usadas antes bastavam para cumprir o que era buscado e desta forma não se necessitou que houvessem maiores problemas por causa da curva de aprendizado quanto às ferramentas.

4.2. Dificuldades na Implementação dos Processos

Os maiores problemas da implementação possivelmente estariam na institucionalização dos processos. A melhor forma de evitar este problema foi procurada desde o início da definição dos processos: não perder a cultura da empresa, bem como ferramentas e documentos.

O Grupo de Processos teve a direção apontada de tal forma que pôs em prática o desenho de um processo que tivesse o mínimo de impacto na rotina normal de trabalho das equipes da Drive. Se já se pratica um processo, mesmo que não definido, que está aderente ao MPS.BR e é uma boa prática da Engenharia de Software, não haveria motivos para implementar algo novo e diferente.

O melhor feedback obtido pelo Grupo de Processos foi alcançado pela estratégia adotada para determinar um mentoring constante e que possibilitou a troca de informações entre os membros das equipes e os membros do Grupo de Processos. Percebia-se rapidamente que uma prática adotada não era tão adequada quanto se imaginou primeiramente.

A definição de um processo de melhoria dos processos trouxe, dentre outros benefícios, a prática de executar pilotos das melhorias. Experimentá-las antes de pô-las em prática para todos os projetos como parte do processo. A execução de pilotos das melhorias em projetos reais de forma controlada antes de institucionalizá-la na empresa foi identificada na avaliação MPS.BR como um ponto forte da Drive.

5. Resultados Alcançados

Nesta seção são apresentados os principais resultados quantitativos e qualitativos da condução da iniciativa de melhoria de processos da Drive.

5.1. Resultados Quantitativos

Os Gerentes de Projeto monitoram e controlam o desempenho dos seus projetos através da coleta e análise de métricas como o CPI (Cost Performance Index) e o SPI (Schedule

Performance Index). CPI é calculado por meio da razão entre o valor agregado (trabalho

realizado até o momento) e os custos atuais, sendo usado para calcular a performance atual de custos de cada projeto, também sendo útil para estimar a previsão de custos ao seu final. SPI é calculado por meio da razão entre o valor agregado e o valor planejado, sendo usado para calcular a performance atual em relação ao cronograma, descrevendo a porção do cronograma planejado que foi efetivamente realizado, também sendo utilizado como base para calcular a previsão de prazo ao término do projeto [5].

(6)

Estas informações são extremamente úteis para que ações preventivas ou corretivas possam ser implementadas o mais cedo possível, caso seja identificado algum desvio de prazo e/ou custo no projeto.

Diariamente é efetuado um Registro de Monitoração na ferramenta de Gerenciamento de Projetos informando, além do status e resposta a cada um dos riscos, o percentual de completude do projeto, as principais decisões do dia, a situação e a data dos marcos, entre outras informações essenciais para a verificação do andamento do projeto. A tabela 1 apresenta as informações de desempenho de custo (CPI) e de cronograma (SPI) dos projetos da Drive que implementaram os processos do nível F do MR MPS.BR. A figura 1 apresenta as curvas de percentual de dias em que houve desvio tanto em CPI quanto em SPI.

Tabela 1. Informações de desempenho de custo (CPI) e de cronograma (SPI) dos

projetos da Drive que implementaram os processos do nível F do MR MPS.BR.

# e % Dias em que houve desvio de CPI

# e % Dias em que houve desvio de SPI Projeto # Dias onde houve

monitoração # % # % P2672 46 21 45,65 30 65,21 P2631 100 7 7,00 2 2,00 P2637 126 11 8,73 2 1,59 P2700 45 0 0,00 2 4,44 P2690 24 0 0,00 0 0,00

Percentual de dias em que houve desvio

0 10 20 30 40 50 60 70 P2672 P2631 P2637 P2700 P2690 Projeto % CPI SPI

Figura 1. Percentual de dias em que houve desvio de CPI e SPI.

Os primeiros projetos implementados apresentaram uma taxa de desvios considerada muito alta, conforme pode ser verificado na tabela 1. A tabela indica o número de dias onde houve monitoração do projeto, o número de dias em que houve desvios de CPI e SPI, sendo que os projetos estão dispostos em ordem de execução ou término, e que os 3 primeiros já se encontram encerrados e os 2 últimos ainda estão em andamento.

Conforme pode-se observar nos dados da tabela 1, o projeto P2672 apresentou em 46% dos dias desvios de CPI, e em 65% dos dias desvios de SPI. Este projeto utilizou a

(7)

primeira versão do processo após a execução do projeto-piloto, ainda instável e incorporado de alterações.

A partir da natural evolução e estabilidade do processo obteve-se a um avanço grande na taxa de desvios, conforme pode ser verificado na monitoração efetuada pelos Gerentes de Projeto em seu Registro de Monitoração diário. Claramente pode-se observar que os níveis de desvios de CPI e SPI caíram ao longo dos projetos, sendo que hoje os desvios nos projetos em andamento não são significativos.

5.2. Resultados Qualitativos

Os melhores resultados e maiores benefícios são justamente aqueles que são mais difíceis de medir, pois são os que envolvem pessoas, seja o capital humano (a principal matéria prima da Drive), seja o cliente contratante dos projetos.

Percebe-se claramente uma grande motivação entre as equipes de projeto que agora podem acompanhar melhor a evolução do próprio trabalho e se beneficiar de lições aprendidas e histórico de projetos, sempre que um novo projeto começa. É a história da organização que consegue aprender com seus próprios erros, evoluir com suas experiências e disponibilizar todo o conhecimento adquirido entre seus colaboradores em todos os níveis.

Já o cliente da Drive percebe a melhoria de uma forma diferente, mas igualmente importante, no seu ponto de vista: os projetos agora possuem melhores mecanismos de controle, transparência, previsibilidade e interatividade. Além disso, o cliente está cada vez mais satisfeito, pois os produtos são entregues no prazo e com melhor qualidade.

6. Conclusão

Acredita-se que o maior sucesso da implementação de processos foi justamente o foco na simplicidade e na cultura da Drive, procurando aproveitar documentos, processos, ferramentas e boas iniciativas que, de uma forma ou de outra, já existiam na organização, dispersas ou não. Pelos relatos de implementadores, não é raro que iniciativas de implementação de processos esbarrem em resistências culturais que muitas vezes fazem naufragar a iniciativa. Entretanto, na Drive, ao invés de resistência, viu-se motivação, pois os benefícios puderam ser rapidamente sentidos através de um processo enxuto, ágil, e com “a cara da Drive”.

A Drive acabou sendo aprovada no nível F com todos os processos requeridos totalmente implementados, sem nenhum ponto fraco e com diversos pontos fortes destacados. A Drive pretende seguir seu caminho em busca da melhoria contínua e, neste sentido, é natural imaginar, como um próximo marco da organização, a aprovação no MPS.BR nível C, o que se pretende conseguir dentro de um período de 12 a 18 meses.

Referências

[1] K. El-Emam, D. Goldenson, J. McCurley, and J. Herbsleb, "Modelling the likelihood of software process improvement: An exploratory study," Empirical

Software Engineering, vol. 6, pp. 207-229, 2001.

[2] M. Niazi, D. Wilson, and D. Zowghi, "A maturity model for the implementation of software process improvement: An empirical study," Journal of Systems and

Software, vol. 74, pp. 155-172, 2005.

[3] D. L. Gibson, D. R. Goldenson, and K. Kost, "Performance Results of CMMI-Based Process Improvement," Software Engineering Institute, Carnegie Mellon CMU/SEI-2006-TR-004, 2006.

(8)

[4] D. R. Goldenson and J. D. Herbsleb, "After the Appraisal: A Systematic Survey of Process Improvement, its Benefits and Factors that Influence Success," Software Engineering Institute CMU/SEI-95-TR-009, 1995.

[5] PMBOK, A Guide to The Project Management Body of Knowledge. Newtown Square, Penn, 2000.

Referências

Documentos relacionados

Que objetiva produzir ou gerar novos significados durante a interação discursiva.. Assim, do nosso ponto de vista, relacionar algumas características dos programas de pesquisa

– dificuldade em mensurar a dimensão do problema , em trabalhar a diversidade de manifestações no extenso território nacional e em pautar o assunto nos diferentes espaços públicos

É bastante conhecido, que a melhoria da eficiência na aplicação envolve a escolha adequada do equipamento de aplicação, com ponta de pulverização que produza

Microglanis lundbergi is distinguished from all congeners by the presence of a forked caudal fin with a deep notch between upper and lower lobes (vs. rounded, emarginated, or

Estima-se que a diversidade de espécies na Mata Atlântica e no Brasil seja muito maior e o baixo número de táxons conhecidos se dá por falta de identificação ao

Essa configuração do porão foi pensada talvez como alternativa de transição entre a situação de hoje e a alternativa a, ou como opção que não prescinde de um aumento no número

insights into the effects of small obstacles on riverine habitat and fish community structure of two Iberian streams with different levels of impact from the

As questões acima foram a motivação para o desenvolvimento deste artigo, orientar o desenvol- vedor sobre o impacto que as cores podem causar no layout do aplicativo,