segunda-feira, janeiro 02, 2006

A importância de um especialista de processos e ferramentas

Um grande número de empresas de desenvolvimento de software ou que dependem largamente deste desenvolvimento para seus negócios não possuem pessoas ou equipes focadas na gestão e melhoria de processos de desenvolvimento e manutenção de software e do ambiente geral de gestão e desenvolvimento.

Quando existem essas áreas ou equipes costumam receber nomes variados como metodologia, SEPG, Engenharia de Software, Processos, etc. Mesmo quando isso ocorre existem certos problemas comuns que essas equipes e os gestores que a suportam enfrentam.

Vamos analisar inicialmente a importância dos especialistas de processos e ferramentas. Sem estas pessoas cada um dos gerentes de projeto e suas respectivas equipes usarão práticas variadas de gestão e desenvolvimento. Cada projeto pode e deve ser customizado de acordo com as suas especificidades, mas sem seguir uma base de apoio padrão irá provavelmente gerar retrabalho e muitas vezes práticas pouco aderentes. Além disso o esforço de pessoas que deveriam estar focadas em sua maior parte nos projetos pode acabar sendo desviada deste foco. Muitas vezes, especialmente na falta de um gerente de projetos especializado em desenvolvimento de sistemas, dentro de uma mesma equipe pode existir formas distintas de realizar e controlar os mesmos tipos de atividades.

Nas empresas mais "espertas" esse comportamento improdutivo é mitigado com o uso de especialistas em processos e ferramentas. Elas sabem que um ambiente padrão e pensado previamente para a criação de sistemas produz melhores resultados que uma coleção de ferramentas e práticas distintas e sem integrações automáticas e/ou manuais.

Os especialistas em processos e ferramentas devem estar ligados em todas as áreas do desenvolvimento de software: Requisitos, Análise e Design, Arquitetura de Software, Programação, Testes, Gestão de Configuração e Mudança, Manutenção de Sofware, etc. O ideal é que eles conheçam e possuam experiência em todas as áreas, mas esses profissionais são mais raros (modéstia à parte você pode encontrar um deles falando com o autor deste artigo... rs ). Também devem conhecer e ter experiência com no mínimo duas ferramentas de SCM, duas ferramentas de build, duas ferramentas de issue tracking, duas ferramentas para gestão de projetos, duas ferramentas de gestão de testes, uma ferramenta de integração contínua, uma ferramenta de automação de testes funcionais e outra de testes unitários. Realmente é muita coisa e poucas pessoas conhecerão todas. Dependendo do tamanho das equipes de desenvolvimento e da quantidade de suporte às equipes que os especialistas terão de fornecer será necessário a contratação de uma equipe maior.

Erros comuns (e gravíssimos!!!) cometidos por equipes de processos e que devem ser evitados:

- Não coletar feedbacks acerca dos processos e ferramentas das equipes envolvidas no dia a dia dos projetos. Esse fator também é conhecido como "Torre de Marfim" onde os especialistas de processos ficam em suas salas criando processos maravilhosos mas que na prática poucos conseguem usar devido à sua rigidez e burocracia.

- Não automatizar. Esse é crítico também pois alguns processos sem automação geram burocracias, dores de cabeça e trabalhos inúteis que seriam resolvidos facilmente por uma ferramenta. Pense por exemplo no custo de se produzir um documento Word por requisição de mudança ou uma planilha de defeitos separada por projeto. A dificuldade em obter métricas, controlar projetos e saber quando um determinado defeito foi fechado ou se ainda está em análise é fundamental para o gerente de projetos.

- Oferecer atualizações regulares do status do ambiente de desenvolvimento aos envolvidos

- Ter o apoio constante da alta gerência, dos gerentes de projeto e das equipes de desenvolvimento. Esse é obtido principalmente com a demonstração de resultados da implantação de melhores processos e ferramentas.

- Acompanhar e dar mentoring às equipes dentro dos próprios projetos. Vivenciar e entender os problemas pelos quais as equipes passam é fundamental para a melhoria contínua.

- Customizar os processos e ferramentas de acordo com cada projeto. Um projeto de manutenção é diferente de um projeto de desenvolvimento de um novo sistema do zero. Um sistema de missão crítica é diferente de uma intranet departamental. Os especialistas de processos devem estar presentes e incluídos nos projetos especialmente em suas fases iniciais.


Espero ter deixado claras as necessidades que temos desses profissionais e das ferramentas de suporte para conseguir criar produtos com mais qualidade, agilidade, produtividade e menor retrabalho.

Marcadores:

0 Comentários:

Postar um comentário

Links para este artigo:

Criar um link

<< Home


Veja as Estatísticas