domingo, 26 de abril de 2009

Os heróis da produtividade (em TI)

Nesses anos de trabalho já vi tentarem ou eu mesmo tentei muitas formas de aumentar a produtividade minha e das equipes nas quais trabalhei. Algumas dessas formas foram mais eficientes que outras. Na minha empresa, a Pitang, já foi feita uma pesquisa sobre os "Vilões da produtividade", o que foi bem proveitoso e serviu para abrir o tema para a discussão de todos. Dessa pesquisa, me indaguei: e os heróis?

A busca pela produtividade – ou a otimização dos serviços – é constante em mercados competitivos. As pessoas, métodos e ferramentas mais produtivas geram mais faturamento, para o mesmo custo, ou para um custo ligeiramente maior (um investimento que compensa o aumento do faturamento). Percebe-se que equacionar os agentes da produtividade com a balança financeira definitivamente não é fácil. Mas podemos simplificar a busca, de modo a facilitar essa conta.

A parte mais complicada da vida, mas a mais fácil da equação são as pessoas. Melhorar a produtividade do indivíduo significa capacitar para a execução da tarefa a ele designada. Capacitar envolve a educação formal nas universidades e o treinamento nos métodos e ferramentas que serão utilizados no trabalho. Uma pessoa que não sabe usar uma ferramenta vai levar certo tempo para aprendê-la sozinho. Aprendendo sozinho vai criar vícios que não teria se houvesse uma capacitação adequada.

A produtividade do indivíduo pode ser arruinada por problemas pessoais ou pela falta de comprometimento, para citar alguns. Esses aspectos não entram na conta, é de cada indivíduo.

A segunda parte são as ferramentas. Chamo de ferramentas aquelas que são utilizadas para auxiliar o trabalho e aquelas que compõem o software, que fazem parte da infraestrutura do software. Daquelas que auxiliam, existem as que fazem o trabalho e as que fazem o trabalho de forma mais eficiente. Só pra citar, existem umas que disponibilizam formas de refactoring e existem outras que implementam vários níveis de refactoring. No dia-a-dia, aquelas que têm os vários níveis podem melhorar a produtividade, executando um determinado refactoring de forma mais rápida. E para aquelas ferramentas que compõem o software não é muito diferente. Mas considero as que fazem o trabalho e aquelas que fazem o trabalho de forma simples. Exemplo: uma ferramenta que implementa uma tabela e uma outra que implementa uma tabela associada a uma fonte de dados. A última já lida diretamente com os dados, independentemente da forma que gera a apresentação da tabela. A primeira deixa que o desenvolvedor se preocupe em como apresentar os dados, em detalhes executados de forma mecânica.

A terceira parte são os métodos. Considero métodos tanto a forma de trabalho – o processo de desenvolvimento do software – quanto a arquitetura para o desenvolvimento. O processo de software determina quão simples será a designação de atividade e a extração das métricas do desenvolvimento. Esses são os principais fatores que podem impactar na produtividade do desenvolvedor do software. Um processo simples no qual podem ser incluídas, alteradas e removidas atividades tenderá a ser mais produtivo, pois a produção do software sempre requer a absorção de mudanças de forma rápida. A arquitetura do software pode determinar o esforço necessário para criar pontos de função. No final, o que vai importar para o cliente é:

  • Que o software atenda ao principal propósito dele. Para quem desenvolve é melhor gastar mais esforço no básico, no que é mais importante, do que se preocupar em fazer a mais. Agradar ao cliente significa fazer bem o que ele pediu.
  • Que o software seja rápido. Ninguém gosta quando um clique demora vários segundos.
  • Que o código tenha certa ordem. Todo software deve evoluir com o tempo, seja por mudanças no processo do cliente, seja por melhorias na interface com o usuário. Enfim, sempre há espaço para melhorar. Um código desordenado vai dificultar essas modificações do software.

A arquitetura do software está relacionada com a performance e a organização do código.

Desses três aspectos de produtividade do software minha impressão e no que acredito fortemente é na capacitação das pessoas. O desenvolvimento de software é um trabalho criativo, não pode ser considerado uma produção mecanizada. As pessoas determinam tanto a qualidade quanto o custo que aquele software vai ter. As ferramentas e métodos são meios complementares para alcançar a melhor produtividade, mas o básico mesmo é investir em capacitação. Se toda empresa tivesse um planejamento financeiro e de tempo para capacitação o resultado final é que todo o conglomerado de empresas alcançaria uma produtividade mundialmente competitiva, independemente se o investimento feito em determinada pessoa seja perdido pela saída dela para uma outra empresa. Acho que devemos repensar de quem é mesmo a responsabilidade de treinar os funcionários. Os heróis não são as pessoas, mas sim a capacidade de cada uma delas.

quarta-feira, 1 de abril de 2009

Fotos e vídeos do show – da varanda

O evento histórico do heavy metal em Recife aconteceu de forma muito tranquila. Mais tranquila até que muitos shows na vizinhança. Eles foram bem pontuais, inclusive. Aqui em casa teve umas cervejas, uns petiscos e metal. Foi bom ficar na varanda só olhando o movimento.

Aí vai alguma coisa que consegui pegar durante o show:


Figura 1: O auge

Como eu disse em post anterior, a imagem da máquina (celular) à noite não fica muito boa. Esse mar que vocês vêem próximo ao palco é gente. Mas, apesar da euforia, o espaço não estava totalmente lotado. Deu pra ver que lá trás tinha espaço ainda.

Alguns vídeos do show:

  1. http://www.youtube.com/watch?v=rA8yqeH5m1w
  2. http://www.youtube.com/watch?v=yOBNck7yxmM

Na hora da saída, a zoada na rua: http://www.youtube.com/watch?v=c1o9RyNb1l8