| Desenvolver software é uma das atividades
mais importantes na era da informação. Cada vez
mais, o tratamento e a disponibilização
de dados se
torna vital para o diferencial competitivo das empresas, alimentando-as
de informações para dar o próximo
passo. Aonde estão esses sistemas? Em grandes servidores, na
nuvem, nos dispositivos móveis e até nos
eletrodomésticos. Desenvolver software com produtividade
nunca foi tão importante para a saúde dessas
empresas.
Desde o lançamento dos primeiros computadores e linguagens de programação, produtividade de software - e como aumentá-la - vem sendo objeto de estudo e pesquisa. O maior intuito, em geral, é de reduzir custos de desenvolvimento e melhorar o tempo gasto até o lançamento do produto no mercado. Diversos métodos, ferramentas e técnicas vêm sendo desenvolvidos com o intuito de melhorar a produtividade de software, tanto a individual, quanto a de times e organizações. Quais delas são mais efetivas? Depende. A produtividade no desenvolvimento de software é um quebra-cabeça formado por pessoas, hardware, negócios, ferramentas, processos, tecnologias – uma lista grande de fatores. Compreendê-los nos ajuda a notar mais rápido quando algo errado está acontecendo, o que permite uma reação em menor tempo. E essa compreensão vai variar de acordo com cada pessoa, time e organização. Por isso, o aumento da produtividade é uma responsabilidade compartilhada entre indivíduos, times e organizações, onde cada um é parte única e fundamental dessa iniciativa. Fatores de produtividade Em linhas gerais, diversos fatores de produtividade já foram mapeados por pesquisadores e empresas de software. Podemos dividi-los em quatro famílias: fatores de produto, de pessoal, de projeto e de processo. A imagem abaixo traz mais detalhes sobre cada um deles. É importante ressaltar que não se trata de uma lista exaustiva de fatores, mas sim daqueles de maior peso nas pesquisas realizadas em projetos reais nas últimas décadas. |
![]() |
|
A ideia de conhecer os fatores é tentar tratá-los desde o início de cada projeto e até mesmo durante a contratação de novos colaboradores. Profissionais devem ser capazes de colocar em prática ações efetivas em todas essas dimensões e mais: serem capazes de fazê-lo constantemente. Nas últimas décadas, as principais iniciativas de melhoria da produtividade de software foram focadas em ferramentas, linguagens de programação e processos de desenvolvimento. Com ferramentas e linguagens tentamos aumentar o trabalho das máquinas e deixar o trabalho criativo para as pessoas. As linguagens hoje estão em um nível de abstração muito maior do que há 20 anos atrás. As ferramentas tentam automatizar o máximo de tarefas de desenvolvimento, seja na identificação de possíveis defeitos, seja na execução de testes diversos. Tentamos também compreender e sistematizar melhor a atividade de desenvolvimento em si, criando processos que guiem as pessoas ao longo do desenvolvimento, como o RUP e os métodos ágeis. Esse último trouxe à tona um importante valor: pessoas são mais importantes que ferramentas e processos. Mas o que sabemos sobre as pessoas que desenvolvem os sistemas? Pessoas como chave da produtividade Nos últimos 10 anos temos observado uma mudança radical no mercado de TI. De fato, os métodos ágeis trouxeram o elemento humano para o topo da lista dos fatores de produtividade. Não que eles já não fossem. Mas só agora estão recebendo seu devido valor. As empresas têm buscado investir nas pessoas porque, afinal de contas, nada faz sentido sem elas. Empresas nada mais são do que pessoas unidas com um mesmo objetivo. Assim, a visão de que funcionários são como commodities, ou seja, peças facilmente substituíveis, está caindo. O livro "Drive: A surpreendente verdade sobre o que nos motiva", de Daniel Pink, aborda o que ele chama da surpreendente verdade sobre o que motiva as pessoas. Sabemos que motivação é fundamental para manter a produtividade elevada, seja a curto ou longo prazo. Pink descreve pesquisas conduzidas por grandes universidades americanas e inglesas que mostraram que premiações reduzem o desempenho das pessoas envolvidas em atividades do conhecimento. Um exemplo é a própria atividade de desenvolvimento de software. As premiações se mostraram uma arma ruim para despertar a verdadeira motivação dos trabalhadores do conhecimento. Clique aqui para ver o vídeo que mostra uma ilustração divertida que resume o livro de Pink, revelando os três principais ingredientes da motivação: propósito, maestria e autonomia. Pessoas gostam de fazer coisas por um propósito maior, não apenas para gerar lucro para a empresa. Maestria é a necessidade (e sensação de realização) de nos tornarmos melhores no que fazemos. Autonomia é a capacidade (e o direito) de tomar decisões sobre que caminho seguir. Ela vem acompanhada do dever Responsabilidade, outro ingrediente fundamental para a produtividade. Na mesma linha, um artigo recente da Forbes traz as 10 maiores razões que levam grandes empresas a perderem seus talentos. Mais da metade da lista está associada aos resultados mostrados por Pink. No fundo, uma boa gestão dos talentos é fundamental para atingirmos elevados índices de produtividade. Atingir elevados índices de produtividade de software é difícil. Alguns dizem que é impossível manter a produtividade alta o tempo todo. Faz mais sentido pensar em ondas de maior e menor produtividade ao longo de um projeto de software. Ferramentas e métodos modernos estão à disposição dos mais variados tipos de sistemas. Há muito ainda a ser desenvolvido, claro. Mas, sem dúvida, capacitar e motivar as pessoas é o primeiro passo para qualquer iniciativa de aumento de produtividade de software. Claudia de O. Melo é doutoranda em métodos ágeis na Universidade de São Paulo (IME-USP), mestre em reuso de software baseado em componentes pelo IME-USP. Trabalhou nos últimos 11 anos em projetos de desenvolvimento de software, qualidade e melhoria de processos em empresas como Banco Central, C.E.S.A.R., Diebold Procomp, Santander, HSBC, CEF, Loterias, Banco24Horas, Serpro/Imprensa Nacional, BRB, Unisys e Ministério do Trabalho. Foi coordenadora da pós-graduação em Sistemas Orientados a Objetos da Universidade Católica de Brasília (UCB) e docente em disciplinas de graduação e pós-graduação em Brasília e São Paulo em Análise e Design, Requisitos, GCS e Qualidade. Atualmente é membro da Agilcoop, cooperativa dedicada à disseminação do que há de vanguarda em desenvolvimento de software. |
