Como aumentar a produtividade nos projetos?

Por Paulo Krieser

Em projetos de desenvolvimento de software, a produtividade da equipe é fator crítico de sucesso. Para discernirmos sobre o assunto, vamos começar com a questão: o que é produtividade?

Fonte: Baguete – 13/01/2008

Produtividade no desenvolvimento de sistemas é a relação entre esforço e funcionalidade entregue. Esforço é a quantidade de horas gasta por um desenvolvedor para a conclusão de uma tarefa. Não confundir esforço com prazo, pois pode se concluir um projeto em um prazo curto (por exemplo, um mês) com um esforço grande (1800 horas, que resulta em 10 desenvolvedores trabalhando neste mês).

Esforço é mais fácil de medir e utilizar como métrica. Basta puxar o relatório de horas da equipe no sistema. Mas como medir a funcionalidade entregue? Esta questão dá margem para mais subjetivismo e ambigüidades.

A funcionalidade entregue deve atender às expectativas do cliente. Ponto. Ou seja, não basta desenvolver. O cliente tem que aceitar e as funcionalidades devem ser aquelas esperadas por ele. Além disso, devem atender a requisitos de qualidade, como número de erros por caso de uso, por exemplo.

Tendo claro o conceito de produtividade, podemos desenvolver o assunto de como aumentá-la, pois não podemos gerenciar aquilo que não se pode medir.

As iniciativas para incremento na produtividade nas empresas, de forma geral, não se concentrando apenas na indústria de software, seguem duas linhas de ação: investir nas pessoas ou investir nos processos.

Na formulação de processos, regras são definidas para que as pessoas as sigam, com o intuito de se alcançar os objetivos propostos (entregar o projeto no prazo, por exemplo). As regras possuem graus diferentes de objetivismo/subjetivismo, tendendo a ser as mais objetivas possíveis. Dentro desse mundo dos processos, podemos destacar modelos como o CMMI, MPS-BR, ISO, ITIL, PMI e outros padrões.

Pelo lado das pessoas, a caracterização e resultados dos investimentos propostos costumam ser mais nebulosos. Como melhorar a produtividade através das pessoas? Basicamente categorizo em 4 maneiras:

  • Treinamentos
  • Benefícios
  • Liderar pelo exemplo
  • Recrutar as pessoas certas

Creio que a última iniciativa apresenta os melhores resultados, sendo pré-requisito para as demais, pois não se consegue mudar muita coisa nas pessoas. Contratar pessoas que são alinhadas com os valores da empresa, com competência técnica e com um bom salário como atrativo é a ação com maior poder de fogo.

Os treinamentos apenas aperfeiçoam o indivíduo, mas não transformam um mau programador em um arquiteto de software. Benefícios ajudam um bom desenvolvedor a desenvolver mais e melhor. Liderar pelo exemplo ainda possui uma influência maior, mas não consegue alterar as características intrínsecas da personalidade de cada um.

Particularmente não gosto de extremos. Para aumentar a produtividade, faz-se necessário ter bons profissionais aliados com processos bem direcionados. Porém, sou um adepto da menor quantidade possível de processos, com a máxima simplicidade (gosto do agile development). Muitos processos enrijecem a estrutura, tirando agilidade e tempo de resposta da organização. Mas o pior que acontece ao se implementar uma estrutura altamente burocrática é a perda de criatividade por parte dos indivíduos, restringindo seu poder de ação através das limitações processuais.

Claro que o reuso de código-fonte e componentes, controle de versões e ambientes, análise UML, análise de requisitos e processos de gerência auxiliam na melhoria da produtividade, mas apenas estes itens processuais não são suficientes se não tivermos as pessoas certas.

O insight aqui é que bons processos não compensam uma má equipe. Porém boas pessoas acabam se auto-organizando e definindo seus próprios processos. Não somos nós que devemos servir aos processos. Eles é que devem nos servir. Assim, conseguimos definir uma diferença de nível, colocando o foco nas pessoas. É primeiramente nelas que devemos investir e concentrar nossos esforços para aumentar a produtividade. Os processos serão conseqüência.

Paulo Krieser é diretor executivo da Krieser IT Solutions, empresa especializada no desenvolvimento de aplicações corporativas nas mais diversas tecnologias.
 
Fonte: Baguete

1 comentário

  1. Marc Fast Jobs · janeiro 20, 2009

    A indústria de software tem um componente humano muito forte. Não adianta termos processos muito bem definidos, consolidados e ágeis, se o profissional envolvido não estiver preparado ou motivado a fazer as coisas acontecerem com rapidez. Portanto, é necessário trabalhar primordialmente os aspectos humanos.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s